On Mon, Nov 14, 2011 at 15:03 +0000, Richard wrote:
> Hi,
> Playing dangerously with Sid, and I've reached the limit of what it will upgrade to
> without some help.
> Nearly everything has a dependency on perl, the perl version has change, so how do just upgrade the
> perl base.
> I can't see the equivalent of rpm --nodeps in apt-get, and clean up the mess afterwards.
Just to make this better known to people on the mailing lists as well ...
Perl is currently in the transition from 5.12 to 5.14 and an overview of this
particular transition [0] can be seen on [1] and of all other transitions on
[2]. It should be quite obvious that the plethora of red in there is bad and
that we strive to paint this page in green. More specifically all reverse
dependencies have to be rebuilt againt the new perl version and uploaded to
sid and this might take a while.
The best strategy right now is *not* to upgrade perl-base (et al.) to 5.14,
but wait until the transition progressed a bit. The easiest way is probably
to run "(safe-)upgrade" instead of "dist-upgrade" right now and to cherry-pick
other (unrelated, but held) packages directly.
I can only stress once again that it is of uttermost importance to actually
read and understand the actions that are proposed by apt-get/aptitude ... You
might wonder why I mention this, but we already had a couple of people in
#debian who complained that apt-get removed their kernel. (sic!)
Furthermore there might still be people who *already* upgraded to the new perl
version and face a horrible mess right now. There are a couple of ways to deal
with this:
1. Reinstall stable, consider the lesson to be learnt and work on something
more important
2. Restore from backups
3. Downgrade selected packages to either the version in wheezy or the previous
version. This can be done with "dpkg -i", but using aptitude install
foo=1.2.3 or by pinning [3] the packages to a specific version with a
priority >= 1001 followed by a dist-upgrade. (which will actually downgrade
the packages)
4. Downgrade the complete system to wheezy. The idea is more or less the same
as in 3. only that you downgrade all packages from sid to wheezy. This can
be done by pinning wheezy to a priority >= 1001 as, for example, with the
following /etc/apt/preferences:
--- snip ---
Package: *
Pin: release a=testing
Pin-Priority: 1001
--- snip ---
It should be noted that 3. and 4. are absolutely *unsupported* and might not
work at all. People have, however, successfully downgraded their systems. Liek
always: Make sure that your backups are up-to-date, complete and that you know
how to restore them.
[0] A transition occurs when changes in a package require alterations to
several other packages which depend on it. To do this, many packages using
the package are updated, either being recompiled or updated to a new
version; packages blocking a transition might be removed from <testing> so
it can complete. Transitions can become very large and complex, involving
tens or even hundreds of packages.
[1] http://release.debian.org/transitions/html/perl5.14.html
[2] http://release.debian.org/transitions/
[3] http://www.xs4all.nl/~carlo17/howto/debian.html#errata
http://wiki.debian.org/AptPreferences
"man apt_preferences"
--
Wolodja <babilen@gmail.com>
4096R/CAF14EFC
081C B7CD FF04 2BA9 94EA 36B2 8B7F 7D30 CAF1 4EFC
Attachment:
signature.asc
Description: Digital signature