Bug#555824: dpkg removed a package when told to upgrade it

View: New views
9 Messages — Rating Filter:   Alert me  

Bug#555824: dpkg removed a package when told to upgrade it

by Eugene V. Lyubimkin-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Package: dpkg
Version: 1.15.4
Severity: grave
Justification: causes non-serious data loss

Hello.

I had next packages installed on my system: perl-base, perl,
perl-modules, perl-doc (all from current unstable, 5.10.1-7).

-8<-
sudo dpkg -i --force-depends --force-conflicts perl_5.10.1-8_amd64.deb perl-doc_5.10.1-8_all.deb perl-modules_5.10.1-8_all.deb perl-base_5.10.1-8_amd64.deb
[sudo] password for jackyf:
dpkg: considering removing perl-modules in favour of perl ...
dpkg: warning: ignoring dependency problem with removal of perl-modules:
 perl depends on perl-modules (>= 5.10.1-7)
  perl-modules is to be removed.

dpkg: warning: ignoring dependency problem with removal of perl-modules:
 pristine-tar depends on perl-modules
  perl-modules is to be removed.

dpkg: warning: ignoring dependency problem with removal of perl-modules:
 libmodule-scandeps-perl depends on perl-modules (>= 5.10.0) | libmodule-build-perl (>= 0.28)
  perl-modules is to be removed.

dpkg: warning: ignoring dependency problem with removal of perl-modules:
 libmodule-scandeps-perl depends on perl-modules (>= 5.9.4)
  perl-modules is to be removed.

dpkg: warning: ignoring dependency problem with removal of perl-modules:
 libtree-avl-perl depends on perl-modules
  perl-modules is to be removed.

dpkg: warning: ignoring dependency problem with removal of perl-modules:
 libmime-tools-perl depends on perl-modules (>= 5.10)
  perl-modules is to be removed.

dpkg: warning: ignoring dependency problem with removal of perl-modules:
 po4a depends on perl-modules
  perl-modules is to be removed.

dpkg: warning: ignoring dependency problem with removal of perl-modules:
 git-core depends on perl-modules
  perl-modules is to be removed.

dpkg: warning: ignoring dependency problem with removal of perl-modules:
 dpkg-dev depends on perl-modules
  perl-modules is to be removed.

dpkg: may have trouble removing perl-modules, as it provides libmodule-build-perl ...
dpkg: warning: ignoring dependency problem with removal of perl-modules:
 libmodule-scandeps-perl depends on perl-modules (>= 5.10.0) | libmodule-build-perl (>= 0.28)
  perl-modules is to be removed.

dpkg: yes, will remove perl-modules in favour of perl.
(Reading database ... 140092 files and directories currently installed.)
Preparing to replace perl 5.10.1-7 (using perl_5.10.1-8_amd64.deb) ...
Unpacking replacement perl ...
Preparing to replace perl-doc 5.10.1-7 (using perl-doc_5.10.1-8_all.deb) ...
Leaving `diversion of /usr/bin/perldoc to /usr/bin/perldoc.stub by perl-doc'
Unpacking replacement perl-doc ...
Unpacking perl-modules (from perl-modules_5.10.1-8_all.deb) ...
Preparing to replace perl-base 5.10.1-7 (using perl-base_5.10.1-8_amd64.deb) ...
Unpacking replacement perl-base ...
Setting up perl-base (5.10.1-8) ...
Processing triggers for man-db ...
Setting up perl (5.10.1-8) ...
Setting up perl-doc (5.10.1-8) ...
->8-

The result: the package 'perl-modules' is not installed (e.g. removed), despite
the direct query to install new version, ignoring any dependency conflicts.

Here is control info for the new packages that had to be installed:

-8<-
$ echo perl_5.10.1-8_amd64.deb perl-doc_5.10.1-8_all.deb perl-modules_5.10.1-8_all.deb perl-base_5.10.1-8_amd64.deb | xargs -n1 dpkg-deb -I
 new debian package, version 2.0.
 size 7807518 bytes: control archive= 32934 bytes.
    4668 bytes,    22 lines      control              
   81112 bytes,  1100 lines      md5sums              
     560 bytes,    21 lines   *  postinst             #!/bin/sh
     274 bytes,    10 lines   *  postrm               #!/bin/sh
    1105 bytes,    31 lines   *  preinst              #!/bin/sh
     110 bytes,     8 lines   *  prerm                #!/bin/sh
 Package: perl
 Version: 5.10.1-8
 Architecture: amd64
 Maintainer: Niko Tyni <ntyni@...>
 Installed-Size: 33052
 Depends: perl-base (= 5.10.1-8), libbz2-1.0, libc6 (>= 2.4), libdb4.7, libgdbm3 (>= 1.8.3), zlib1g (>= 1:1.2.3.3.dfsg)
 Recommends: netbase, make
 Suggests: perl-doc, libterm-readline-gnu-perl | libterm-readline-perl-perl
 Conflicts: libansicolor-perl (<< 1.10-1), libarchive-tar-perl (<< 1.52), libattribute-handlers-perl (<< 0.85), libautodie-perl (<< 2.06.01), libcgi-pm-perl (<< 3.43), libcompress-raw-bzip2-perl (<< 2.020), libcompress-raw-zlib-perl (<< 2.020), libcompress-zlib-perl (<< 2.020), libcpanplus-perl (<< 0.88), libdigest-md5-perl (<< 2.39), libdigest-sha-perl (<< 5.47), libextutils-cbuilder-perl (<< 0.2602), libextutils-parsexs-perl (<< 2.2002), libfile-temp-perl (<< 0.22), libi18n-langtags-perl (<< 0.35-1), libio-compress-base-perl (<< 2.020), libio-compress-bzip2-perl (<< 2.020), libio-compress-perl (<< 2.020), libio-compress-zlib-perl (<< 2.020), libio-zlib-perl (<< 1.09), liblocale-codes-perl (<< 2.07), liblocale-maketext-perl (<< 1.13), liblocale-maketext-simple-perl (<< 0.18-1), libmath-bigint-perl (<< 1.89), libmime-base64-perl (<< 3.08), libmodule-build-perl (<< 0.340201), libmodule-corelist-perl (<< 2.18), libmodule-load-conditional-perl (<< 0.30), libmodule-load-perl (<<
 0.16), libmodule-pluggable-perl (<< 3.9), libnet-perl (<= 1:1.19-3), libnet-ping-perl (<< 2.36), libparams-check-perl (<< 0.26-1), libparent-perl (<< 0.221), libparse-cpan-meta-perl (<< 1.39), libpod-escapes-perl (<< 1.04), libpod-parser-perl (<< 1.37), libpod-simple-perl (<< 3.07), libstorable-perl (<< 2.20), libsys-syslog-perl (<< 0.27), libtest-harness-perl (<< 3.17), libtest-simple-perl (<< 0.92), libthreads-perl (<< 1.72), libthreads-shared-perl (<< 1.29), libtime-hires-perl (<< 1.9719), libtime-piece-perl (<< 1.15), libversion-perl (<< 1:0.7700), perl-doc (<< 5.10.1-1), perl-modules (<< 5.10.1-8~), podlators-perl (<= 2.2.2-1)
 Replaces: libansicolor-perl, libarchive-tar-perl (<= 1.38-2), libattribute-handlers-perl, libautodie-perl, libcgi-pm-perl, libcompress-raw-bzip2-perl, libcompress-raw-zlib-perl, libcompress-zlib-perl, libcpanplus-perl, libdigest-md5-perl, libdigest-sha-perl, libextutils-cbuilder-perl, libextutils-parsexs-perl, libfile-temp-perl, libi18n-langtags-perl, libio-compress-base-perl, libio-compress-bzip2-perl, libio-compress-perl, libio-compress-zlib-perl, libio-zlib-perl, liblocale-codes-perl, liblocale-maketext-perl, liblocale-maketext-simple-perl, libmath-bigint-perl, libmime-base64-perl, libmodule-build-perl, libmodule-corelist-perl (<< 2.14-2), libmodule-load-conditional-perl, libmodule-load-perl, libmodule-pluggable-perl, libnet-perl, libnet-ping-perl, libparams-check-perl, libparent-perl, libparse-cpan-meta-perl, libpod-escapes-perl, libpod-parser-perl, libpod-simple-perl, libstorable-perl, libsys-syslog-perl, libtest-harness-perl, libtest-simple-perl, libthreads-perl, libth
 reads-shared-perl, libtime-hires-perl, libtime-piece-perl, libversion-perl, perl-base (<< 5.8.8-1), perl-doc (<< 5.8.0-1), perl-modules (<< 5.10.1-8~), podlators-perl
 Provides: data-dumper, libansicolor-perl, libarchive-tar-perl, libattribute-handlers-perl, libautodie-perl, libcgi-pm-perl, libcompress-raw-bzip2-perl, libcompress-raw-zlib-perl, libcompress-zlib-perl, libcpanplus-perl, libdigest-md5-perl, libdigest-sha-perl, libextutils-cbuilder-perl, libextutils-parsexs-perl, libfile-temp-perl, libi18n-langtags-perl, libio-compress-base-perl, libio-compress-bzip2-perl, libio-compress-perl, libio-compress-zlib-perl, libio-zlib-perl, liblocale-codes-perl, liblocale-maketext-perl, liblocale-maketext-simple-perl, libmath-bigint-perl, libmime-base64-perl, libmodule-build-perl, libmodule-corelist-perl, libmodule-load-conditional-perl, libmodule-load-perl, libmodule-pluggable-perl, libnet-perl, libnet-ping-perl, libparams-check-perl, libparent-perl, libparse-cpan-meta-perl, libpod-escapes-perl, libpod-parser-perl, libpod-simple-perl, libstorable-perl, libsys-syslog-perl, libtest-harness-perl, libtest-simple-perl, libthreads-perl, libthreads-share
 d-perl, libtime-hires-perl, libtime-piece-perl, libversion-perl, perl5, podlators-perl
 Section: perl
 Priority: standard
 Description: Larry Wall's Practical Extraction and Report Language
  An interpreted scripting language, known among some as "Unix's Swiss
  Army Chainsaw".
  .
  Perl is optimised for scanning arbitrary text files and system
  administration.  It has built-in extended regular expression matching
  and replacement, a data-flow mechanism to improve security with
  setuid scripts and is extensible via modules that can interface to C
  libraries.
 new debian package, version 2.0.
 size 7155472 bytes: control archive= 26095 bytes.
     384 bytes,    13 lines      control              
   70224 bytes,   931 lines      md5sums              
     155 bytes,     9 lines   *  postrm               #!/bin/sh
     294 bytes,    14 lines   *  preinst              #!/bin/sh
 Package: perl-doc
 Source: perl
 Version: 5.10.1-8
 Architecture: all
 Maintainer: Niko Tyni <ntyni@...>
 Installed-Size: 12952
 Depends: perl (>= 5.10.1-1)
 Suggests: man-browser, groff
 Section: doc
 Priority: optional
 Description: Perl documentation
  Perl manual pages, POD documentation and the `perldoc' program.  If you are
  writing Perl programs, you almost certainly need this.
 new debian package, version 2.0.
 size 42896 bytes: control archive= 463 bytes.
     349 bytes,    12 lines      control              
     152 bytes,     2 lines      md5sums              
 Package: perl-modules
 Source: perl
 Version: 5.10.1-8
 Architecture: all
 Maintainer: Niko Tyni <ntyni@...>
 Installed-Size: 56
 Depends: perl (>= 5.10.1-8)
 Section: perl
 Priority: standard
 Description: dummy transitional package
  This is the dummy transitional package. The contents of the 'perl-modules'
  package is moved to the 'perl' package.
 new debian package, version 2.0.
 size 1062336 bytes: control archive= 16576 bytes.
     877 bytes,    20 lines      control              
   47686 bytes,   591 lines      md5sums              
      37 bytes,     1 lines      shlibs              
 Package: perl-base
 Source: perl
 Version: 5.10.1-8
 Architecture: amd64
 Essential: yes
 Maintainer: Niko Tyni <ntyni@...>
 Installed-Size: 4736
 Pre-Depends: libc6 (>= 2.4), dpkg (>= 1.14.20)
 Suggests: perl
 Conflicts: autoconf2.13 (<< 2.13-45), libscalar-list-utils-perl (<< 1:1.18-1), libxsloader-perl (<< 0.08-1)
 Replaces: libperl5.8 (<< 5.8.0-20), libscalar-list-utils-perl, libxsloader-perl, perl (<= 5.10.0-9), perl-modules (<< 5.10.1-1)
 Provides: libscalar-list-utils-perl, libxsloader-perl, perl5-base, perlapi-5.10.0, perlapi-5.10.1
 Section: perl
 Priority: required
 Description: minimal Perl system
  Perl is a scripting language used in many system scripts and utilities.
  .
  This package provides a Perl interpreter and the small subset of the
  standard run-time library required to perform basic tasks. For a full
  Perl installation, install "perl" and "perl-doc".
->8-


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

Kernel: Linux 2.6.30-1-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.1-2   GNU C Library: Shared libraries
ii  lzma                          4.43-14    Compression method of 7z format in

dpkg recommends no packages.

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

-- no debconf information




--
To UNSUBSCRIBE, email to debian-dpkg-bugs-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...


Bug#555824: dpkg removed a package when told to upgrade it

by Guillem Jover :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

reassign 555824 cupt
retitle 555824 cupt: Wrong use of --force-depends --force-conflicts
thanks

On Wed, 2009-11-11 at 23:46:13 +0200, Eugene V. Lyubimkin wrote:
> Package: dpkg
> Version: 1.15.4
> Severity: grave
> Justification: causes non-serious data loss

> I had next packages installed on my system: perl-base, perl,
> perl-modules, perl-doc (all from current unstable, 5.10.1-7).
>
> -8<-
> sudo dpkg -i --force-depends --force-conflicts perl_5.10.1-8_amd64.deb perl-doc_5.10.1-8_all.deb perl-modules_5.10.1-8_all.deb perl-base_5.10.1-8_amd64.deb
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

> [sudo] password for jackyf:
> dpkg: considering removing perl-modules in favour of perl ...
> dpkg: warning: ignoring dependency problem with removal of perl-modules:
>  perl depends on perl-modules (>= 5.10.1-7)
>   perl-modules is to be removed.

[ ... More warnings on dependency problems. ... ]

> dpkg: yes, will remove perl-modules in favour of perl.
> (Reading database ... 140092 files and directories currently installed.)
> Preparing to replace perl 5.10.1-7 (using perl_5.10.1-8_amd64.deb) ...
> Unpacking replacement perl ...
> Preparing to replace perl-doc 5.10.1-7 (using perl-doc_5.10.1-8_all.deb) ...
> Leaving `diversion of /usr/bin/perldoc to /usr/bin/perldoc.stub by perl-doc'
> Unpacking replacement perl-doc ...
> Unpacking perl-modules (from perl-modules_5.10.1-8_all.deb) ...
> Preparing to replace perl-base 5.10.1-7 (using perl-base_5.10.1-8_amd64.deb) ...
> Unpacking replacement perl-base ...
> Setting up perl-base (5.10.1-8) ...
> Processing triggers for man-db ...
> Setting up perl (5.10.1-8) ...
> Setting up perl-doc (5.10.1-8) ...
> ->8-
>
> The result: the package 'perl-modules' is not installed (e.g. removed), despite
> the direct query to install new version, ignoring any dependency conflicts.

Well, you asked for it, don't do that. As indicated by --force-help,
usage of those specific options you used there “can seriously damage
your installation” which is what happened.

To try to get out of the situation dpkg tries to remove a package,
because you added --force-depends then it ignored any problem and
considered it an ok solution. The --force-conflicts gets considered
later on.

Check what apt is doing. Cupt should not use force options on
--unpack, --install, --configure or --triggers-only. Ideally no
front-end would need to use force options, but using --force-depends
on --purge and --remove seems kind of reasonable for now I guess.

regards,
guillem




--
To UNSUBSCRIBE, email to debian-dpkg-bugs-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...


Processed: Re: Bug#555824: dpkg removed a package when told to upgrade it

by Debian Bug Tracking System :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Processing commands for control@...:

> reassign 555824 cupt
Bug #555824 [dpkg] dpkg removed a package when told to upgrade it
Bug reassigned from package 'dpkg' to 'cupt'.
Bug No longer marked as found in versions dpkg/1.15.4.
> retitle 555824 cupt: Wrong use of --force-depends --force-conflicts
Bug #555824 [cupt] dpkg removed a package when told to upgrade it
Changed Bug title to 'cupt: Wrong use of --force-depends --force-conflicts' from 'dpkg removed a package when told to upgrade it'
> thanks
Stopping processing here.

Please contact me if you need assistance.

Debian bug tracking system administrator
(administrator, Debian Bugs database)


--
To UNSUBSCRIBE, email to debian-dpkg-bugs-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...


Bug#555824: dpkg removed a package when told to upgrade it

by Sven Joachim :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 2009-11-11 22:46 +0100, Eugene V. Lyubimkin wrote:

> Package: dpkg
> Version: 1.15.4
> Severity: grave
> Justification: causes non-serious data loss
>
> Hello.
>
> I had next packages installed on my system: perl-base, perl,
> perl-modules, perl-doc (all from current unstable, 5.10.1-7).
>
> -8<-
> sudo dpkg -i --force-depends --force-conflicts perl_5.10.1-8_amd64.deb perl-doc_5.10.1-8_all.deb perl-modules_5.10.1-8_all.deb perl-base_5.10.1-8_amd64.deb
> [sudo] password for jackyf:
> dpkg: considering removing perl-modules in favour of perl ...

This is because your perl 5.10.1-8 package both Replaces and Conflicts
with the installed version of perl-modules.  In such a case, dpkg
removes the offending package, assuming that the to-be-installed
conflicting one supersedes it (because of the Replaces).  Note that dpkg
processes packages in the order given on the command line, so the old
version of perl-modules will be removed before unpacking perl.  However,
the new version should be installed later...

> dpkg: yes, will remove perl-modules in favour of perl.
> (Reading database ... 140092 files and directories currently installed.)
> Preparing to replace perl 5.10.1-7 (using perl_5.10.1-8_amd64.deb) ...
> Unpacking replacement perl ...
> Preparing to replace perl-doc 5.10.1-7 (using perl-doc_5.10.1-8_all.deb) ...
> Leaving `diversion of /usr/bin/perldoc to /usr/bin/perldoc.stub by perl-doc'
> Unpacking replacement perl-doc ...
> Unpacking perl-modules (from perl-modules_5.10.1-8_all.deb) ...

... and here it gets unpacked.

> Preparing to replace perl-base 5.10.1-7 (using perl-base_5.10.1-8_amd64.deb) ...
> Unpacking replacement perl-base ...
> Setting up perl-base (5.10.1-8) ...
> Processing triggers for man-db ...
> Setting up perl (5.10.1-8) ...
> Setting up perl-doc (5.10.1-8) ...
> ->8-

Is that all?  I would expect that perl-modules should also get configured.

> The result: the package 'perl-modules' is not installed (e.g. removed), despite
> the direct query to install new version, ignoring any dependency conflicts.

Are you sure that it is not installed?  What does "dpkg -l perl-modules"
print?

Sven




--
To UNSUBSCRIBE, email to debian-dpkg-bugs-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...


Bug#555824: dpkg removed a package when told to upgrade it

by Eugene V. Lyubimkin-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Sven Joachim wrote:
> This is because your perl 5.10.1-8 package both Replaces and Conflicts
> with the installed version of perl-modules.  In such a case, dpkg
> removes the offending package, assuming that the to-be-installed
> conflicting one supersedes it (because of the Replaces).  Note that dpkg
> processes packages in the order given on the command line, so the old
> version of perl-modules will be removed before unpacking perl.  However,
> the new version should be installed later...
Yes.

>
>> dpkg: yes, will remove perl-modules in favour of perl.
>> (Reading database ... 140092 files and directories currently installed.)
>> Preparing to replace perl 5.10.1-7 (using perl_5.10.1-8_amd64.deb) ...
>> Unpacking replacement perl ...
>> Preparing to replace perl-doc 5.10.1-7 (using perl-doc_5.10.1-8_all.deb) ...
>> Leaving `diversion of /usr/bin/perldoc to /usr/bin/perldoc.stub by perl-doc'
>> Unpacking replacement perl-doc ...
>> Unpacking perl-modules (from perl-modules_5.10.1-8_all.deb) ...
>
> ... and here it gets unpacked.
>
>> Preparing to replace perl-base 5.10.1-7 (using perl-base_5.10.1-8_amd64.deb) ...
>> Unpacking replacement perl-base ...
>> Setting up perl-base (5.10.1-8) ...
>> Processing triggers for man-db ...
>> Setting up perl (5.10.1-8) ...
>> Setting up perl-doc (5.10.1-8) ...
>> ->8-
>
> Is that all?  I would expect that perl-modules should also get configured.
Yes, that was all.

>> The result: the package 'perl-modules' is not installed (e.g. removed), despite
>> the direct query to install new version, ignoring any dependency conflicts.
>
> Are you sure that it is not installed?  What does "dpkg -l perl-modules"
Yes, I was sure. 'dpkg -s perl-modules' showed 'Status: unknown ok not-installed'.

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



signature.asc (205 bytes) Download Attachment

Bug#555824: dpkg removed a package when told to upgrade it

by Sven Joachim :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Could you upload your packages somewhere?  I would like to reproduce the
problem.

Cheers,
       Sven




--
To UNSUBSCRIBE, email to debian-dpkg-bugs-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...


Bug#555824: dpkg removed a package when told to upgrade it

by Eugene V. Lyubimkin-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Sven Joachim wrote:
> Could you upload your packages somewhere?  I would like to reproduce the
> problem.
Yes, see http://people.debian.org/~jackyf/perl-candidates/.

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



signature.asc (205 bytes) Download Attachment

Parent Message unknown Bug#555824: dpkg removed a package when told to upgrade it

by Guillem Jover :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Thu, 2009-11-12 at 12:02:34 +0200, Eugene V. Lyubimkin wrote:
> reassign 555824 dpkg
> thanks

> Firstly, this has nothing to do with cupt, I did the command manually.
> Where did you see 'cupt' in the report?

As you have reported similar reports in the past, I went and checked
cupt sources and it seems to be passing those flags to dpkg (which is
wrong), so instead of just closing the bug report I reassigned, which
seems more useful. Anyway ...

> Guillem Jover wrote:
> > reassign 555824 cupt
> > retitle 555824 cupt: Wrong use of --force-depends --force-conflicts
> > thanks

... this still stands, but I'm not going to play bug ping-pong.

> > On Wed, 2009-11-11 at 23:46:13 +0200, Eugene V. Lyubimkin wrote:
> >> Package: dpkg
> >> Version: 1.15.4
> >> Severity: grave
> >> Justification: causes non-serious data loss
> >
> >> I had next packages installed on my system: perl-base, perl,
> >> perl-modules, perl-doc (all from current unstable, 5.10.1-7).
> >>
> >> -8<-
> >> sudo dpkg -i --force-depends --force-conflicts perl_5.10.1-8_amd64.deb perl-doc_5.10.1-8_all.deb perl-modules_5.10.1-8_all.deb perl-base_5.10.1-8_amd64.deb
> >                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> >
> >> [sudo] password for jackyf:
> >> dpkg: considering removing perl-modules in favour of perl ...

Here it says it will try this to get out of the situation...

> >> dpkg: warning: ignoring dependency problem with removal of perl-modules:
> >>  perl depends on perl-modules (>= 5.10.1-7)
> >>   perl-modules is to be removed.
> >
> > [ ... More warnings on dependency problems. ... ]
> >
> >> dpkg: yes, will remove perl-modules in favour of perl.

... and here it confirms it will do just that.

> >> (Reading database ... 140092 files and directories currently installed.)
> >> Preparing to replace perl 5.10.1-7 (using perl_5.10.1-8_amd64.deb) ...
> >> Unpacking replacement perl ...
> >> Preparing to replace perl-doc 5.10.1-7 (using perl-doc_5.10.1-8_all.deb) ...
> >> Leaving `diversion of /usr/bin/perldoc to /usr/bin/perldoc.stub by perl-doc'
> >> Unpacking replacement perl-doc ...
> >> Unpacking perl-modules (from perl-modules_5.10.1-8_all.deb) ...
> >> Preparing to replace perl-base 5.10.1-7 (using perl-base_5.10.1-8_amd64.deb) ...
> >> Unpacking replacement perl-base ...
> >> Setting up perl-base (5.10.1-8) ...
> >> Processing triggers for man-db ...
> >> Setting up perl (5.10.1-8) ...
> >> Setting up perl-doc (5.10.1-8) ...
> >> ->8-
> >>
> >> The result: the package 'perl-modules' is not installed (e.g. removed), despite
> >> the direct query to install new version, ignoring any dependency conflicts.
> >
> > Well, you asked for it, don't do that. As indicated by --force-help,
> > usage of those specific options you used there “can seriously damage
> > your installation” which is what happened.

> Dpkg ignored the request to install new perl-modules.

As said before, only because you asked it to.

> Silently.

It does not seem silent to me. Although it could repeat the message
when actually doing the removal, but this would warrant a
wishlist/minor bug report at most, if at all.

> Why? I didn't read 'seriously damage your installation' as
> 'ignore some command-line requests'.

Ignoring dependency information, reads to me as can seriously damage
your system, but YMMV. You asked to override those internal checks by
way of force options.

> > To try to get out of the situation dpkg tries to remove a package,
> > because you added --force-depends then it ignored any problem and
> > considered it an ok solution. The --force-conflicts gets considered
> > later on.
>
> > Check what apt is doing. Cupt should not use force options on
> > --unpack, --install, --configure or --triggers-only. Ideally no
> > front-end would need to use force options, but using --force-depends
> > on --purge and --remove seems kind of reasonable for now I guess.

> Again, this has nothing to do with any high-level package manager.

Well, then apart from the possible request for an additional removal
printing I don't see any problem here. The upgrade works w/o the need
for the force options (except for the unhandled /etc/perl/Net/libnet.cfg
conffile, which does not get properly moved), and it causes major
problems when using the force options (as expected), which should really
*not* be used on normal operations, as said before.

So, I'll be closing this soonish if no new info comes through.

regards,
guillem




--
To UNSUBSCRIBE, email to debian-dpkg-bugs-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...


Bug#555824: dpkg removed a package when told to upgrade it

by Eugene V. Lyubimkin-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Guillem Jover wrote:
> As you have reported similar reports in the past, I went and checked
> cupt sources and it seems to be passing those flags to dpkg (which is
> wrong
No, it "just" necessary for plenty of upgrade actions. And I see no reason why
passing these options is wrong, nor in the manual, nor in your words.

> Here it says it will try this to get out of the situation...
I requested installing new version of the package 'perl-modules'. Dpkg should
install it before unpacking 'perl', or remove it meanwhile, but install the
new version later. As correctly pointed by Sven:

>>>> Unpacking perl-modules (from perl-modules_5.10.1-8_all.deb) ...
Wtf is that if the package status after the actions is 'not-installed'?

>>>> The result: the package 'perl-modules' is not installed (e.g. removed), despite
>>>> the direct query to install new version, ignoring any dependency conflicts.
>>> Well, you asked for it, don't do that. As indicated by --force-help,
>>> usage of those specific options you used there “can seriously damage
>>> your installation” which is what happened.
>
>> Dpkg ignored the request to install new perl-modules.
>
> As said before, only because you asked it to.
Err, wait, do you mean it ignored install request because I've asked to ignore
dependencies?

>> Silently.
>
> It does not seem silent to me. Although it could repeat the message
> when actually doing the removal
It said nothing about why the 'install perl-modules 5.10.1-8' action was not
performed (except for weird 'unpack perl-modules 5.10.1-8' message without a
further appropriate configure which (unpack I mean) was not actually performed).

> Well, then apart from the possible request for an additional removal
> printing I don't see any problem here. The upgrade works w/o the need
> for the force options (except for the unhandled /etc/perl/Net/libnet.cfg
> conffile, which does not get properly moved), and it causes major
> problems when using the force options (as expected), which should really
> *not* be used on normal operations, as said before.
And I say again that using some --force-* is necessary to perform some
actions, some dependencies are to be broken unavoidably temporarily. Maybe,
not in my case, but this is not important (to me) anymore as it revealed the
grave problem in general and I would want it to be fixed in the future.

I read your reasoning as, basically, "--force-* options are marked as 'can
damage your installation', so dpkg is free to do anything wrong if you
specified them". Am I right?

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



signature.asc (205 bytes) Download Attachment