Debian Bug report logs - #575786
cupt: should use selections instead of --force-* options

Package: cupt; Maintainer for cupt is Cupt developers <cupt-devel@lists.alioth.debian.org>; Source for cupt is src:cupt.

Reported by: "Eugene V. Lyubimkin" <jackyf@debian.org>

Date: Mon, 29 Mar 2010 09:06:05 UTC

Severity: wishlist

Merged with 577650

Reply or subscribe to this bug.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#575786; Package dpkg. (Mon, 29 Mar 2010 09:06:08 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Eugene V. Lyubimkin" <jackyf@debian.org>:
New Bug report received and forwarded. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. (Mon, 29 Mar 2010 09:06:08 GMT) Full text and rfc822 format available.

Message #5 received at submit@bugs.debian.org (full text, mbox):

From: "Eugene V. Lyubimkin" <jackyf@debian.org>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: dpkg: refuses to unpack package having conflicts+replaces of virtual package
Date: Mon, 29 Mar 2010 12:02:33 +0300
Package: dpkg
Version: 1.15.5.6
Severity: important

>From dpkg log:
-8<-
Selecting previously deselected package libboost1.42-dev.
 libboost1.42-dev conflicts with bcp
  libboost1.40-dev provides bcp and is present and installed.
dpkg: error processing /var/cache/apt/archives/libboost1.42-dev_1.42.0-3_i386.deb (--unpack):
 conflicting packages - not installing libboost1.42-dev
->8-

Sure, libboost1.42-dev conflicts with bcp, but it also replaces it:
-8<-
$ cupt show libboost1.42-dev | grep Replaces
Replaces: bcp
->8-

-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (990, 'unstable'), (900, 'testing'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-trunk-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages dpkg depends on:
ii  coreutils                     7.5-6      GNU core utilities
ii  libc6                         2.10.2-6   Embedded GNU C Library: Shared lib
ii  lzma                          4.43-14    Compression method of 7z format in

dpkg recommends no packages.

Versions of packages dpkg suggests:
ii  apt                           0.7.25.3   Advanced front-end for dpkg

-- no debconf information




Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#575786; Package dpkg. (Mon, 29 Mar 2010 09:45:07 GMT) Full text and rfc822 format available.

Acknowledgement sent to Raphael Hertzog <hertzog@debian.org>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. (Mon, 29 Mar 2010 09:45:07 GMT) Full text and rfc822 format available.

Message #10 received at 575786@bugs.debian.org (full text, mbox):

From: Raphael Hertzog <hertzog@debian.org>
To: "Eugene V. Lyubimkin" <jackyf@debian.org>, 575786@bugs.debian.org
Subject: Re: Bug#575786: dpkg: refuses to unpack package having conflicts+replaces of virtual package
Date: Mon, 29 Mar 2010 11:42:29 +0200
On Mon, 29 Mar 2010, Eugene V. Lyubimkin wrote:
> Sure, libboost1.42-dev conflicts with bcp, but it also replaces it:
> -8<-
> $ cupt show libboost1.42-dev | grep Replaces
> Replaces: bcp

Does libboost1.42-dev Provides: bcp too?

Anyway, this works perfectly well with "mail-transport-agent" so I don't
think the bug is in dpkg.

What's special in your setup? Is it again a story of default --force
options used by apt-get that cupt is not using?

Cheers,
-- 
Raphaël Hertzog

Like what I do? Sponsor me: http://ouaza.com/wp/2010/01/05/5-years-of-freexian/
My Debian goals: http://ouaza.com/wp/2010/01/09/debian-related-goals-for-2010/




Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#575786; Package dpkg. (Mon, 29 Mar 2010 15:36:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Eugene V. Lyubimkin" <jackyf@debian.org>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. (Mon, 29 Mar 2010 15:36:05 GMT) Full text and rfc822 format available.

Message #15 received at 575786@bugs.debian.org (full text, mbox):

From: "Eugene V. Lyubimkin" <jackyf@debian.org>
To: Raphael Hertzog <hertzog@debian.org>
Cc: 575786@bugs.debian.org
Subject: Re: Bug#575786: dpkg: refuses to unpack package having conflicts+replaces of virtual package
Date: Mon, 29 Mar 2010 18:34:15 +0300
[Message part 1 (text/plain, inline)]
Hello Raphael, this is not the answer that I expect from Debian Developer and
dpkg maintainer.

Raphael Hertzog wrote:
> On Mon, 29 Mar 2010, Eugene V. Lyubimkin wrote:
>> Sure, libboost1.42-dev conflicts with bcp, but it also replaces it:
>> -8<-
>> $ cupt show libboost1.42-dev | grep Replaces
>> Replaces: bcp
> 
> Does libboost1.42-dev Provides: bcp too?
I would say you are able to verify this quicker that it takes me to write this
sentence, anyway, the answer is yes.

> Anyway, this works perfectly well with "mail-transport-agent" so I don't
> think the bug is in dpkg.
I think that you didn't even try to reproduce the issue:

-8<-
$ sudo dpkg -i /var/cache/apt/archives/libboost1.42-dev_1.42.0-3_amd64.deb
[sudo] password for jackyf:
Selecting previously deselected package libboost1.42-dev.
dpkg: regarding .../libboost1.42-dev_1.42.0-3_amd64.deb containing
libboost1.42-dev:
 libboost1.42-dev conflicts with bcp
  libboost1.40-dev provides bcp and is present and installed.
dpkg: error processing
/var/cache/apt/archives/libboost1.42-dev_1.42.0-3_amd64.deb (--install):
 conflicting packages - not installing libboost1.42-dev
Errors were encountered while processing:
 /var/cache/apt/archives/libboost1.42-dev_1.42.0-3_amd64.deb
-8<-

> What's special in your setup? Is it again a story of default --force
> options used by apt-get that cupt is not using?
See a console log above. Without any options. Fully reproducible with stock
Debian system. No, it seems it's rather again a story of personal insults
against cupt or/and against me, instead of discussing technical matters.

-- 
Eugene V. Lyubimkin aka JackYF, JID: jackyf.devel(maildog)gmail.com
C++/Perl developer, Debian Developer

[signature.asc (application/pgp-signature, attachment)]

Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#575786; Package dpkg. (Tue, 30 Mar 2010 08:57:07 GMT) Full text and rfc822 format available.

Acknowledgement sent to Raphael Hertzog <hertzog@debian.org>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. (Tue, 30 Mar 2010 08:57:07 GMT) Full text and rfc822 format available.

Message #20 received at 575786@bugs.debian.org (full text, mbox):

From: Raphael Hertzog <hertzog@debian.org>
To: "Eugene V. Lyubimkin" <jackyf@debian.org>
Cc: 575786@bugs.debian.org
Subject: Re: Bug#575786: dpkg: refuses to unpack package having conflicts+replaces of virtual package
Date: Tue, 30 Mar 2010 10:42:23 +0200
severity 575786 normal
thanks

On Mon, 29 Mar 2010, Eugene V. Lyubimkin wrote:
> Hello Raphael, this is not the answer that I expect from Debian Developer and
> dpkg maintainer.

Sorry Eugene, we have hundreds of bugs to deal with, you file one with
severity important as if your bug was more important than the others.

> > Anyway, this works perfectly well with "mail-transport-agent" so I don't
> > think the bug is in dpkg.
> I think that you didn't even try to reproduce the issue:

No, I did not, my time is limited so I prefer when the information that I
need is provided by the bug submitter (and between this and no answer at
all, I hope you still prefer this).

> > What's special in your setup? Is it again a story of default --force
> > options used by apt-get that cupt is not using?
> See a console log above. Without any options. Fully reproducible with stock
> Debian system. No, it seems it's rather again a story of personal insults
> against cupt or/and against me, instead of discussing technical matters.

I'm sorry if I sounded that way, it's not my intent. I have nothing
considering the issue as a bug to deal with, but I don't think it warrants
the important status.

What are the minimal options needed for dpkg to accept to install the
package. -B ? --force-conflicts ?

Cheers,
-- 
Raphaël Hertzog

Like what I do? Sponsor me: http://ouaza.com/wp/2010/01/05/5-years-of-freexian/
My Debian goals: http://ouaza.com/wp/2010/01/09/debian-related-goals-for-2010/




Severity set to 'normal' from 'important' Request was from Raphael Hertzog <hertzog@debian.org> to control@bugs.debian.org. (Tue, 30 Mar 2010 08:57:08 GMT) Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#575786; Package dpkg. (Tue, 30 Mar 2010 10:57:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Eugene V. Lyubimkin" <jackyf.devel@gmail.com>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. (Tue, 30 Mar 2010 10:57:03 GMT) Full text and rfc822 format available.

Message #27 received at 575786@bugs.debian.org (full text, mbox):

From: "Eugene V. Lyubimkin" <jackyf.devel@gmail.com>
To: Raphael Hertzog <hertzog@debian.org>
Cc: 575786@bugs.debian.org
Subject: Re: Bug#575786: dpkg: refuses to unpack package having conflicts+replaces of virtual package
Date: Tue, 30 Mar 2010 13:52:15 +0300
On Tuesday 30 March 2010 11:42:23 Raphael Hertzog wrote:
> severity 575786 normal
[...]
> Sorry Eugene, we have hundreds of bugs to deal with, you file one with
> severity important as if your bug was more important than the others.
I think that erroring out on perfectly valid upgrade scenario is more 
important than most of current reports against dpkg under severity 'normal'. 
But I will not insist.

> > > Anyway, this works perfectly well with "mail-transport-agent" so I
> > > don't think the bug is in dpkg.
> >
> > I think that you didn't even try to reproduce the issue:
> 
> No, I did not, my time is limited so I prefer when the information that I
> need is provided by the bug submitter (and between this and no answer at
> all, I hope you still prefer this).
So you prefer to spend someone else's time by providing more details which you 
are not going to deal with anyway? No, I prefer no answer to that approach.




Merged 575786 577650. Request was from "Eugene V. Lyubimkin" <jackyf@debian.org> to control@bugs.debian.org. (Tue, 13 Apr 2010 17:09:13 GMT) Full text and rfc822 format available.

Disconnected #577650 from all other report(s). Request was from Jonathan Nieder <jrnieder@gmail.com> to control@bugs.debian.org. (Tue, 13 Apr 2010 23:45:04 GMT) Full text and rfc822 format available.

Merged 575786 577650. Request was from Jonathan Nieder <jrnieder@gmail.com> to control@bugs.debian.org. (Tue, 13 Apr 2010 23:45:09 GMT) Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#575786; Package dpkg. (Sun, 09 May 2010 10:06:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Eugene V. Lyubimkin" <jackyf@debian.org>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. (Sun, 09 May 2010 10:06:04 GMT) Full text and rfc822 format available.

Message #38 received at 575786@bugs.debian.org (full text, mbox):

From: "Eugene V. Lyubimkin" <jackyf@debian.org>
To: 575786@bugs.debian.org, control@bugs.debian.org
Subject: Re: dpkg: refuses to unpack package having conflicts+replaces of virtual package
Date: Sun, 09 May 2010 13:02:26 +0300
package dpkg
severity 575786 serious
thanks

Totally tired with having this bug here and there with different packages, I 
change my mind and bump the severity of this bug to serious, as dpkg fails to 
comply with §7.6.2 of Debian policy, including an example in the policy:

-8<-
$ sudo dpkg -i /var/cache/apt/archives/exim4-daemon-light_4.69-9_i386.deb
[sudo] password for jackyf:
Selecting previously deselected package exim4-daemon-light.
dpkg: regarding .../exim4-daemon-light_4.69-9_i386.deb containing 
exim4-daemon-light:
 exim4-daemon-light conflicts with mail-transport-agent
  msmtp-mta provides mail-transport-agent and is present and installed.
dpkg: error processing 
/var/cache/apt/archives/exim4-daemon-light_4.69-9_i386.deb (--install):
 conflicting packages - not installing exim4-daemon-light
Errors were encountered while processing:
 /var/cache/apt/archives/exim4-daemon-light_4.69-9_i386.deb
->8-

-- 
Eugene V. Lyubimkin aka JackYF, JID: jackyf.devel(maildog)gmail.com
C++/Perl developer, Debian Developer




Severity set to 'serious' from 'normal' Request was from "Eugene V. Lyubimkin" <jackyf@debian.org> to control@bugs.debian.org. (Sun, 09 May 2010 10:06:05 GMT) Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#575786; Package dpkg. (Mon, 17 May 2010 20:15:06 GMT) Full text and rfc822 format available.

Acknowledgement sent to Raphael Hertzog <hertzog@debian.org>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. (Mon, 17 May 2010 20:15:06 GMT) Full text and rfc822 format available.

Message #45 received at 575786@bugs.debian.org (full text, mbox):

From: Raphael Hertzog <hertzog@debian.org>
To: "Eugene V. Lyubimkin" <jackyf@debian.org>, 575786@bugs.debian.org
Cc: debian-policy@lists.debian.org
Subject: Re: Bug#575786: dpkg: refuses to unpack package having conflicts+replaces of virtual package
Date: Mon, 17 May 2010 22:12:35 +0200
severity 575786 important
thanks

On Sun, 09 May 2010, Eugene V. Lyubimkin wrote:
> Totally tired with having this bug here and there with different
> packages, I change my mind and bump the severity of this bug to
> serious, as dpkg fails to comply with §7.6.2 of Debian policy,
> including an example in the policy:

I don't agree with your interpretation. The packaging system doesn't refer
only to dpkg but to the whole system: apt + dpkg.

Currently the non-regression tests of dpkg ensure that doing a dpkg -i
in your situation effectively fails:
http://git.debian.org/?p=dpkg/pkg-tests.git;a=tree;f=t-conflict-provide-replace-virtual;hb=master

So it's not really a mistake and I don't agree with the RC severity.

I agree it would be nice to be able to tell dpkg somehow to take the
decision alone without having to resort to remove with --force-depends
or similar. Thus I'm keeping the bug open at severity important for now.

But please understand that it's not a priority for us right now. If you
want to see this fixed, by all means please try to provide a patch and
stop raising the severity.

Cheers,
-- 
Raphaël Hertzog

Like what I do? Sponsor me: http://ouaza.com/wp/2010/01/05/5-years-of-freexian/
My Debian goals: http://ouaza.com/wp/2010/01/09/debian-related-goals-for-2010/




Severity set to 'important' from 'serious' Request was from Raphael Hertzog <hertzog@debian.org> to control@bugs.debian.org. (Mon, 17 May 2010 20:15:09 GMT) Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#575786; Package dpkg. (Thu, 20 May 2010 17:30:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Eugene V. Lyubimkin" <jackyf@debian.org>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. (Thu, 20 May 2010 17:30:03 GMT) Full text and rfc822 format available.

Message #52 received at 575786@bugs.debian.org (full text, mbox):

From: "Eugene V. Lyubimkin" <jackyf@debian.org>
To: Raphael Hertzog <hertzog@debian.org>, 575786@bugs.debian.org
Cc: control@bugs.debian.org
Subject: Re: Bug#575786: dpkg: refuses to unpack package having conflicts+replaces of virtual package
Date: Thu, 20 May 2010 20:26:57 +0300
[Message part 1 (text/plain, inline)]
package dpkg tech-ctte
clone 575786 -1
reassign -1 tech-ctte
retitle -1 reaffirm that violating Debian Policy deserves RC bug
thanks

[ dropped debian-policy from CC ]

Raphael Hertzog wrote:
> I don't agree with your interpretation. The packaging system doesn't refer
> only to dpkg but to the whole system: apt + dpkg.
What is 'packaging system'? If you talk about policy, my PDF viewer failed to
find a single line about APT. And the error comes from dpkg side, this has
nothing to do with high-level package managers. Without a support from dpkg
side, this usage of Replaces is totally useless.

> Currently the non-regression tests of dpkg ensure that doing a dpkg -i
> in your situation effectively fails:
> http://git.debian.org/?p=dpkg/pkg-tests.git;a=tree;f=t-conflict-provide-replace-virtual;hb=master
Wrong regression tests don't change the severity of bugs.

> So it's not really a mistake and I don't agree with the RC severity.
Until you modified a policy to exclude that paragraph, it is.

> I agree it would be nice to be able to tell dpkg somehow to take the
> decision alone without having to resort to remove with --force-depends
> or similar. Thus I'm keeping the bug open at severity important for now.
It's not "would be nice". It's policy requirement. Obey it or change the
policy and the archive.

> But please understand that it's not a priority for us right now.
I've already realized that after filing my first bug against dpkg.

> If you
> want to see this fixed, by all means please try to provide a patch and
> stop raising the severity.
I don't agree you have a single argument to lower the severity. I pass this
question to tech-ctte.

-- 
Eugene V. Lyubimkin aka JackYF, JID: jackyf.devel(maildog)gmail.com
C++/Perl developer, Debian Developer

[signature.asc (application/pgp-signature, attachment)]

Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#575786; Package dpkg. (Thu, 20 May 2010 17:51:08 GMT) Full text and rfc822 format available.

Acknowledgement sent to Raphael Hertzog <hertzog@debian.org>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. (Thu, 20 May 2010 17:51:08 GMT) Full text and rfc822 format available.

Message #57 received at 575786@bugs.debian.org (full text, mbox):

From: Raphael Hertzog <hertzog@debian.org>
To: "Eugene V. Lyubimkin" <jackyf@debian.org>
Cc: 575786@bugs.debian.org
Subject: Re: Bug#575786: dpkg: refuses to unpack package having conflicts+replaces of virtual package
Date: Thu, 20 May 2010 19:48:02 +0200
On Thu, 20 May 2010, Eugene V. Lyubimkin wrote:
> > If you
> > want to see this fixed, by all means please try to provide a patch and
> > stop raising the severity.
> I don't agree you have a single argument to lower the severity. I pass this
> question to tech-ctte.

Feel free. The tech-ctte has a policy of requiring a patch or a solution
before accepting to overrule someone. Furthermore we have modified the
policy many times to match with the reality when it comes to what the
policy documents about dpkg's behaviour.

Pick your poison.

Cheers,
-- 
Raphaël Hertzog

Like what I do? Sponsor me: http://ouaza.com/wp/2010/01/05/5-years-of-freexian/
My Debian goals: http://ouaza.com/wp/2010/01/09/debian-related-goals-for-2010/




Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#575786; Package dpkg. (Thu, 20 May 2010 19:45:07 GMT) Full text and rfc822 format available.

Acknowledgement sent to Bill Allombert <Bill.Allombert@math.u-bordeaux1.fr>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. (Thu, 20 May 2010 19:45:08 GMT) Full text and rfc822 format available.

Message #62 received at 575786@bugs.debian.org (full text, mbox):

From: Bill Allombert <Bill.Allombert@math.u-bordeaux1.fr>
To: Raphael Hertzog <hertzog@debian.org>, "Eugene V. Lyubimkin" <jackyf@debian.org>, 575786@bugs.debian.org, debian-policy@lists.debian.org
Subject: Re: Bug#575786: dpkg: refuses to unpack package having conflicts+replaces of virtual package
Date: Thu, 20 May 2010 21:40:41 +0200
On Mon, May 17, 2010 at 10:12:35PM +0200, Raphael Hertzog wrote:
> severity 575786 important
> thanks
> 
> On Sun, 09 May 2010, Eugene V. Lyubimkin wrote:
> > Totally tired with having this bug here and there with different
> > packages, I change my mind and bump the severity of this bug to
> > serious, as dpkg fails to comply with §7.6.2 of Debian policy,
> > including an example in the policy:
> 
> I don't agree with your interpretation. The packaging system doesn't refer
> only to dpkg but to the whole system: apt + dpkg.

I am not sure how you reach that conclusion since using apt is not
mandated by policy. In my view 7.6.2. also apply to plain dpkg.

> Currently the non-regression tests of dpkg ensure that doing a dpkg -i
> in your situation effectively fails:
> http://git.debian.org/?p=dpkg/pkg-tests.git;a=tree;f=t-conflict-provide-replace-virtual;hb=master
> 
> So it's not really a mistake and I don't agree with the RC severity.

What is your rationale for that test?

Cheers,
-- 
Bill. <ballombe@debian.org>

Imagine a large red swirl here. 




Reply sent to Guillem Jover <guillem@debian.org>:
You have taken responsibility. (Sun, 15 Dec 2013 04:09:08 GMT) Full text and rfc822 format available.

Notification sent to "Eugene V. Lyubimkin" <jackyf@debian.org>:
Bug acknowledged by developer. (Sun, 15 Dec 2013 04:09:08 GMT) Full text and rfc822 format available.

Message #67 received at 575786-done@bugs.debian.org (full text, mbox):

From: Guillem Jover <guillem@debian.org>
To: "Eugene V. Lyubimkin" <jackyf@debian.org>, 575786-done@bugs.debian.org
Subject: Re: Bug#575786: dpkg: refuses to unpack package having conflicts+replaces of virtual package
Date: Sun, 15 Dec 2013 05:05:15 +0100
Hi!

On Mon, 2010-03-29 at 12:02:33 +0300, Eugene V. Lyubimkin wrote:
> Package: dpkg
> Version: 1.15.5.6
> Severity: important
> 
> >From dpkg log:
> -8<-
> Selecting previously deselected package libboost1.42-dev.
>  libboost1.42-dev conflicts with bcp
>   libboost1.40-dev provides bcp and is present and installed.
> dpkg: error processing /var/cache/apt/archives/libboost1.42-dev_1.42.0-3_i386.deb (--unpack):
>  conflicting packages - not installing libboost1.42-dev
> ->8-
> 
> Sure, libboost1.42-dev conflicts with bcp, but it also replaces it:
> -8<-
> $ cupt show libboost1.42-dev | grep Replaces
> Replaces: bcp
> ->8-

That's because the request to dpkg was not explicit enough. The way to
do that is to create a “dpkg transaction”, by setting the apropriate
selections so that dpkg knows what it can do. This is how the “venerable”
dselect has worked all this time w/o ever requiring any kind of --force
option.

The rationale is that dpkg does not really like to remove packages if not
asked explicitly, and in a case like this, just removing the interface
providing package might not be enough, and other packages might suddenly
have unsatisfiable dependencies, and dpkg should not start removing stuff
until the situation is ok. That's why either the user or the frontent
should exactly specify what it can do.

Please see the test case on CPR interfaces in the dpkg test suite, as
an example usage:

  <http://anonscm.debian.org/gitweb/?p=dpkg/pkg-tests.git;a=tree;f=t-conflict-provide-replace-interface;hb=HEAD>

I'm thus closing this report.

Thanks,
Guillem



Reply sent to Guillem Jover <guillem@debian.org>:
You have taken responsibility. (Sun, 15 Dec 2013 04:09:08 GMT) Full text and rfc822 format available.

Notification sent to James Vega <jamessan@debian.org>:
Bug acknowledged by developer. (Sun, 15 Dec 2013 04:09:09 GMT) Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#575786; Package dpkg. (Tue, 17 Dec 2013 16:03:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to Guillem Jover <guillem@debian.org>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. (Tue, 17 Dec 2013 16:03:04 GMT) Full text and rfc822 format available.

Message #76 received at 575786@bugs.debian.org (full text, mbox):

From: Guillem Jover <guillem@debian.org>
To: "Eugene V. Lyubimkin" <jackyf@debian.org>, 575786@bugs.debian.org
Subject: Re: Bug#575786: cupt: should use selections instead of --force-* options
Date: Tue, 17 Dec 2013 16:58:57 +0100
Control: reopen -1
Control: reassign -1 cupt
Control: retitle -1 cupt: should use selections instead of --force-* options

Hi!

Actually, this is a bug in cupt, let's reassign it then. Please see
the other related bug in apt #579790, for other details related to
the use of --force-* options.

On Sun, 2013-12-15 at 05:05:15 +0100, Guillem Jover wrote:
> On Mon, 2010-03-29 at 12:02:33 +0300, Eugene V. Lyubimkin wrote:
> > Package: dpkg
> > Version: 1.15.5.6
> > Severity: important
> > 
> > >From dpkg log:
> > -8<-
> > Selecting previously deselected package libboost1.42-dev.
> >  libboost1.42-dev conflicts with bcp
> >   libboost1.40-dev provides bcp and is present and installed.
> > dpkg: error processing /var/cache/apt/archives/libboost1.42-dev_1.42.0-3_i386.deb (--unpack):
> >  conflicting packages - not installing libboost1.42-dev
> > ->8-
> > 
> > Sure, libboost1.42-dev conflicts with bcp, but it also replaces it:
> > -8<-
> > $ cupt show libboost1.42-dev | grep Replaces
> > Replaces: bcp
> > ->8-
> 
> That's because the request to dpkg was not explicit enough. The way to
> do that is to create a “dpkg transaction”, by setting the apropriate
> selections so that dpkg knows what it can do. This is how the “venerable”
> dselect has worked all this time w/o ever requiring any kind of --force
> option.
> 
> The rationale is that dpkg does not really like to remove packages if not
> asked explicitly, and in a case like this, just removing the interface
> providing package might not be enough, and other packages might suddenly
> have unsatisfiable dependencies, and dpkg should not start removing stuff
> until the situation is ok. That's why either the user or the frontend
> should exactly specify what it can do.
> 
> Please see the test case on CPR interfaces in the dpkg test suite, as
> an example usage:
> 
>   <http://anonscm.debian.org/gitweb/?p=dpkg/pkg-tests.git;a=tree;f=t-conflict-provide-replace-interface;hb=HEAD>

Thanks,
Guillem



Bug reopened Request was from Guillem Jover <guillem@debian.org> to 575786-submit@bugs.debian.org. (Tue, 17 Dec 2013 16:03:04 GMT) Full text and rfc822 format available.

Bug reassigned from package 'dpkg' to 'cupt'. Request was from Guillem Jover <guillem@debian.org> to 575786-submit@bugs.debian.org. (Tue, 17 Dec 2013 16:03:06 GMT) Full text and rfc822 format available.

No longer marked as found in versions dpkg/1.15.5.6. Request was from Guillem Jover <guillem@debian.org> to 575786-submit@bugs.debian.org. (Tue, 17 Dec 2013 16:03:07 GMT) Full text and rfc822 format available.

Changed Bug title to 'cupt: should use selections instead of --force-* options' from 'dpkg: refuses to unpack package having conflicts+replaces of virtual package' Request was from Guillem Jover <guillem@debian.org> to 575786-submit@bugs.debian.org. (Tue, 17 Dec 2013 16:03:08 GMT) Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Cupt developers <cupt-devel@lists.alioth.debian.org>:
Bug#575786; Package cupt. (Tue, 17 Dec 2013 19:54:15 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Eugene V. Lyubimkin" <jackyf@debian.org>:
Extra info received and forwarded to list. Copy sent to Cupt developers <cupt-devel@lists.alioth.debian.org>. (Tue, 17 Dec 2013 19:54:16 GMT) Full text and rfc822 format available.

Message #89 received at 575786@bugs.debian.org (full text, mbox):

From: "Eugene V. Lyubimkin" <jackyf@debian.org>
To: Guillem Jover <guillem@debian.org>
Cc: 575786@bugs.debian.org
Subject: Re: Bug#575786: cupt: should use selections instead of --force-* options
Date: Tue, 17 Dec 2013 21:49:05 +0200
Control: severity 575786 wishlist

Hi Guillem,

2013-12-17 16:58, Guillem Jover:
> Actually, this is a bug in cupt, let's reassign it then. Please see
> the other related bug in apt #579790, for other details related to
> the use of --force-* options.

I'm not sure can it be classified as "bug" or not (after all, it uses
documented interfaces to achieve what is wanted), but I agree that if
dpkg has some kind of transactions, using them might be an improvement
from the current situation.

> > That's because the request to dpkg was not explicit enough. The way to
> > do that is to create a “dpkg transaction”, by setting the apropriate
> > selections so that dpkg knows what it can do. This is how the “venerable”
> > dselect has worked all this time w/o ever requiring any kind of --force
> > option.
> > 
> > The rationale is that dpkg does not really like to remove packages if not
> > asked explicitly, and in a case like this, just removing the interface
> > providing package might not be enough, and other packages might suddenly
> > have unsatisfiable dependencies, and dpkg should not start removing stuff
> > until the situation is ok. That's why either the user or the frontend
> > should exactly specify what it can do.

Great, that sounds exactly what Cupt would want to do.

> > Please see the test case on CPR interfaces in the dpkg test suite, as
> > an example usage:
> > 
> >   <http://anonscm.debian.org/gitweb/?p=dpkg/pkg-tests.git;a=tree;f=t-conflict-provide-replace-interface;hb=HEAD>

That's a good start, but where do I find latest and greatest
documentation of dpkg transactions so I can find what can Cupt rely on?
If I'm not mistaken, the man page dpkg(1) has no mention of
transactions.

-- 
Eugene V. Lyubimkin aka JackYF, JID: jackyf.devel(maildog)gmail.com
C++ GNU/Linux userspace developer, Debian Developer



Severity set to 'wishlist' from 'important' Request was from "Eugene V. Lyubimkin" <jackyf@debian.org> to 575786-submit@bugs.debian.org. (Tue, 17 Dec 2013 19:54:16 GMT) Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Cupt developers <cupt-devel@lists.alioth.debian.org>:
Bug#575786; Package cupt. (Wed, 18 Dec 2013 06:00:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to Guillem Jover <guillem@debian.org>:
Extra info received and forwarded to list. Copy sent to Cupt developers <cupt-devel@lists.alioth.debian.org>. (Wed, 18 Dec 2013 06:00:04 GMT) Full text and rfc822 format available.

Message #96 received at 575786@bugs.debian.org (full text, mbox):

From: Guillem Jover <guillem@debian.org>
To: "Eugene V. Lyubimkin" <jackyf@debian.org>
Cc: 575786@bugs.debian.org
Subject: Re: Bug#575786: cupt: should use selections instead of --force-* options
Date: Wed, 18 Dec 2013 06:57:22 +0100
Heya!

On Tue, 2013-12-17 at 21:49:05 +0200, Eugene V. Lyubimkin wrote:
> Control: severity 575786 wishlist

> 2013-12-17 16:58, Guillem Jover:
> > Actually, this is a bug in cupt, let's reassign it then. Please see
> > the other related bug in apt #579790, for other details related to
> > the use of --force-* options.
> 
> I'm not sure can it be classified as "bug" or not (after all, it uses
> documented interfaces to achieve what is wanted), but I agree that if
> dpkg has some kind of transactions, using them might be an improvement
> from the current situation.

Well, you filed the bug report on dpkg as important and bumped it to
serious at some point in time, so I guess you considered it enough of
a bug? :)

Anyway, yes, cupt is using documented interfaces (I guess you refer to
the --force-* options), but that does not mean that those are the correct
ones for a frontend to be using, more so when another frontend (dselect)
has never required them :), mind you apt suffers from the same issue, and
I guess cupt just inherited that design from apt. Also they are marked as
“can seriously damage the system” (--force-help).

And as I've mentioned before, cupt's --force-bad-path problem stems
from using the other --force-* options, because cupt is removing packages
required for dpkg and other Essential packages operation.

> > > That's because the request to dpkg was not explicit enough. The way to
> > > do that is to create a “dpkg transaction”, by setting the apropriate
> > > selections so that dpkg knows what it can do. This is how the “venerable”
> > > dselect has worked all this time w/o ever requiring any kind of --force
> > > option.
> > > 
> > > The rationale is that dpkg does not really like to remove packages if not
> > > asked explicitly, and in a case like this, just removing the interface
> > > providing package might not be enough, and other packages might suddenly
> > > have unsatisfiable dependencies, and dpkg should not start removing stuff
> > > until the situation is ok. That's why either the user or the frontend
> > > should exactly specify what it can do.
> 
> Great, that sounds exactly what Cupt would want to do.

Perfect!

> > > Please see the test case on CPR interfaces in the dpkg test suite, as
> > > an example usage:
> > > 
> > >   <http://anonscm.debian.org/gitweb/?p=dpkg/pkg-tests.git;a=tree;f=t-conflict-provide-replace-interface;hb=HEAD>
> 
> That's a good start, but where do I find latest and greatest
> documentation of dpkg transactions so I can find what can Cupt rely on?
> If I'm not mistaken, the man page dpkg(1) has no mention of
> transactions.

Oh, I guess using the “dpkg transaction” terminology might have been
more confusing than necessary. It was just to convey how selections
can be thought of. The necessary docs should be in the man page, the
relevant bits are the --set-selections and -a|--pending modifiers to
the normal actions.

Ideally, the frontend would compute an upgrade solution, using whatever
method; setup the upgrade through the selections, by notifying dpkg of
which packages are to be removed/purged; then it would first install
the Pre-Dependency requirements, and then all the rest; after that the
only thing remaning would be to remove/purge pending packages. In case
triggers have been delayed the frontend might want to run a pending
configure too.

(dselect uses --yet-to-unpack and the internal --predep-package for its
installation methdos, but I don't think cupt would require these at all?)

Hope that clarifies, and let me know if you think any of the interfaces
are not properly documented. I guess, though, it might make sense to write
something about this in the frontend.txt file.

Thanks,
Guillem



Information forwarded to debian-bugs-dist@lists.debian.org, Cupt developers <cupt-devel@lists.alioth.debian.org>:
Bug#575786; Package cupt. (Thu, 19 Dec 2013 19:33:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Eugene V. Lyubimkin" <jackyf@debian.org>:
Extra info received and forwarded to list. Copy sent to Cupt developers <cupt-devel@lists.alioth.debian.org>. (Thu, 19 Dec 2013 19:33:05 GMT) Full text and rfc822 format available.

Message #101 received at 575786@bugs.debian.org (full text, mbox):

From: "Eugene V. Lyubimkin" <jackyf@debian.org>
To: Guillem Jover <guillem@debian.org>
Cc: 575786@bugs.debian.org
Subject: Re: Bug#575786: cupt: should use selections instead of --force-* options
Date: Thu, 19 Dec 2013 21:29:35 +0200
Hi,

2013-12-18 06:57, Guillem Jover:
> > I'm not sure can it be classified as "bug" or not (after all, it uses
> > documented interfaces to achieve what is wanted), but I agree that if
> > dpkg has some kind of transactions, using them might be an improvement
> > from the current situation.
> 
> Well, you filed the bug report on dpkg as important and bumped it to
> serious at some point in time, so I guess you considered it enough of
> a bug? :)

Yeah, I then thought relaying on Policy-mandated behavior, thus was the
severity. Later Policy got changed into Breaks+Replaces, and just now I
find that selections are preferred to --force-* options. Kinda different
weight category IMO :)

> Anyway, yes, cupt is using documented interfaces (I guess you refer to
> the --force-* options), but that does not mean that those are the correct
> ones for a frontend to be using, more so when another frontend (dselect)
> has never required them :), mind you apt suffers from the same issue, and
> I guess cupt just inherited that design from apt.

Package scheduling is one of things I designed from scratch (3 times I
think), up to this day I have no idea how apt's one works. But I guess
some parts are similar if both libapt and libcupt assumed that certain
combinations are only possible to schedule through --force.

It probably could be a good idea for me to ask that explicitly years
before.  Well, better later than never.

> Also they are marked as
> “can seriously damage the system” (--force-help).

True. Man page says they should be used only by those who understand
them, and I thought front-end developers to be in this group. Some
clause that 'selections is the better way when possible, especially for
front-ends' would be welcome. Otherwise, honestly, selections doesn't
come to mind at all.

> And as I've mentioned before, cupt's --force-bad-path problem stems
> from using the other --force-* options, because cupt is removing packages
> required for dpkg and other Essential packages operation.

Yeah, that was a side effect of "having" to use --force-breaks. If Cupt
can avoid --force-breaks by using selections, I will be very happy to
kill --force-bad-path, I never liked it in the first place.

[...]
> Ideally, the frontend would compute an upgrade solution, using whatever
> method; setup the upgrade through the selections, by notifying dpkg of
> which packages are to be removed/purged;

If, say, front-end wants to change 100 packages and 50th fails e.g.  an
upgrade breaks, should be anything extra done for cleanup to not
interfere with subsequent actions of same (or even different)
front-ends? Or we are done if --clear-selections are always called
before any other front-end actions? Will be dpkg or any front-end
confused if they see some 'deinstall's which by some reason didn't get
completed?  Would it be better or worse if front-end sets selections
on-demand, i.e. just before the action which needs that particular
selection?


Second question, are following assumptions right/guaranteed or not:

a) Av1 is installed, A is selected for removal, B breaks Av1, front-end
asks '--unpack B' -> dpkg will deconfigure A and unpack B and ->
front-end can now freely unpack Av2 or remove Av1;

b) Av1 is installed, A is selected for removal, B conflicts with Av1,
front-end asks '--unpack B' -> dpkg will remove A and unpack B (possibly
replacing it A on the fly if B replaces Av1).


Third question, can selections help with circular dependencies, i.e., is
there a way to install A and B if A depends on B and B depends on A
without passing --force-depends at least once?

-- 
Eugene V. Lyubimkin aka JackYF, JID: jackyf.devel(maildog)gmail.com
C++ GNU/Linux userspace developer, Debian Developer



Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Thu Apr 24 02:24:32 2014; Machine Name: buxtehude.debian.org

Debian Bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.