[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#600600: upgrade-reports: lenny->squeeze and libuuid-perl (and apt-get vs aptitude)



Package: upgrade-reports
Severity: normal

In a base install of lenny (with only openssh-server added beyond the "standard
task"), the following is observed when trying to upgrade from lenny to squeeze,
following a procedure that reflects the current state of the release notes.

Of particular note is that libuuid-perl, which is a dependency of linux-base
in squeeze, is not installed at this stage in lenny.

# sed -i 's/lenny/squeeze/;s/^.*volatile/#&/' /etc/apt/sources.list
# apt-get update

# aptitude install linux-image-`uname -r | sed  's,[^-]*-[^-]*-,,'`
[...]
The following packages are BROKEN:
  perl
The following NEW packages will be installed:
  firmware-linux-free{a} libuuid-perl{a} linux-base{a}
  linux-image-2.6.32-5-686{a} linux-image-686
The following packages will be upgraded:
  libuuid1 perl-base
The following packages are RECOMMENDED but will NOT be installed:
  uuid-runtime
2 packages upgraded, 5 newly installed, 0 to remove and 201 not upgraded.
Need to get 28.7MB of archives. After unpacking 78.6MB will be used.
The following packages have unmet dependencies:
  perl: Depends: perl-base (= 5.10.0-19lenny2) but 5.10.1-15 is to be installed.
The following actions will resolve these dependencies:

Remove the following packages:
perl
perl-modules

Leave the following dependencies unresolved:
exim4-base recommends perl-modules
Score is -16

Accept this solution? [Y/n/q/?] ^C

Eek! Trying again with apt-get instead:

# apt-get install linux-image-`uname -r | sed  's,[^-]*-[^-]*-,,'`
[...]
The following extra packages will be installed:
  firmware-linux-free libdb4.7 libuuid-perl libuuid1 linux-base
  linux-image-2.6.32-5-686 perl perl-base perl-modules
Suggested packages:
  linux-doc-2.6.32 perl-doc libterm-readline-gnu-perl
  libterm-readline-perl-perl make
Recommended packages:
  uuid-runtime
The following NEW packages will be installed
  firmware-linux-free libdb4.7 libuuid-perl linux-base
  linux-image-2.6.32-5-686 linux-image-686
The following packages will be upgraded:
  libuuid1 perl perl-base perl-modules
4 upgraded, 6 newly installed, 0 to remove and 199 not upgraded.
Need to get 36.6MB of archives.
After this operation, 81.0MB of additional disk space will be used.
Do you want to continue [Y/n]? ^C

That now looks much nicer and should allow us to upgrade the kernel etc
to do the appropriate udev dance.

A couple of related points:

* upgrading aptitude prior to trying this out doesn't help

* aptitude is capable of doing the right thing here with some prompting:
  - say "n" at the [Y/n/q/?] prompt to get another solution; the 3rd
    presented solution is to upgrade perl as well
  - or, tell aptitude to install perl at the same time as the kernel:
    aptitude install linux-image-`uname -r | sed  's,[^-]*-[^-]*-,,'` perl

* the release notes for squeeze currently say to use lenny's aptitude to 
  install the squeeze kernel. That seems to be bad advice (use apt-get instead).

* installing lenny's libuuid-perl first is another valid approach to this,
  but would require yet another step for the user to perform in the upgrade.
  (but this step may possibly be easier than working through a large pile of
  perl's rdeps, depending on what sort of versioned-dependencies other complex
  sets of packages have on perl or perl modules -- I've not explored under
  what circumstances this is actually a problem)

* Users of backports.org kernels will actually have a lot easier time of all
  of this because they will already have lenny's libuuid-perl installed and
  also a kernel that will work with udev. Telling people to go via the kernel
  on backports would a real possibility to all this, but it's a level of
  unwelcome complexity.

(thanks to CutMeOwnThroat on #debian for highlighting this problem)

cheers
Stuart



Reply to: