Re: Bug#46233: Can't install perl-5.005 on fresh potato system
On Wed, 29 Sep 1999, Peter S Galbraith wrote:
> I started from a new chroot slink installation of base-2.1.tgz, then
> `apt-get dist-upgrade' to potato, followed by the installation and
> purging of a few packages. Then I needed perl, so I decide to install
> perl-5.005 and got the following:
> Get:3 http://http.us.debian.org unstable/main perl-5.005 5.005.03-4 [1733kB]
> Fetched 2146kB in 4m33s (7862B/s)
> E: This installation run will require temporarily removing the essential package perl-base due to a Conflicts/Pre-Depends loop. This is often bad, but if you really want to do it, activate the APT::Force-LoopBreak option.
> E: Internal Error, Could not early remove perl-base
Hm, I thought that long winded error message was rather clear - but this
is not an APT bug [near as I can tell], the perl people simply can't do
what they are doing and expect to have a sane upgrade path.
Incidently that specific error in there is there because of the
apt-removing bash foolishness we had before.
Here is the little comment in the APT man page about the mentioned option:
Force-LoopBreak
Never Enable this option unless you -really- know
what you are doing. It permits APT to temporarily
remove an essential package to break a Con-
flicts/Conflicts or Conflicts/Pre-Depend loop
between two essential packages. SUCH A LOOP SHOULD
NEVER EXIST AND IS A GRAVE BUG. This option will
work if the essential packages are not tar, gzip,
libc, dpkg, bash or anything that those packages
depend on.
The particular loop in this case is formed by the new perl-base depending
on the new per5-base (aka perl-5.0005) which conflicts with the old
perl-base. Since perl-base is essential it should never be removed. The
best way around this is to think up an upgrade strategy that doesn't
require removing perl-base before upgrading to the new perl, usualy this
is done with a Replaces: (an no conflicts)
Jason
Reply to: