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

Bug#192702: Bug#256524: needs APT::Force-LoopBreak option to update from woody to sid



reassign 192702 sysvinit
severity 192702 serious
merge 192702 256524
reassign 192702 sysvinit,file-rc
thanks

On Mon, Jun 28, 2004 at 11:26:24AM +0200, Thomas Hood wrote:

> On Mon, 2004-06-28 at 09:53, Marc Haber wrote:
> > apt doesn't seem to give that information by default. How do I find
> > out?
> 
> Without researching it I don't know.  However, I agree with you
> that the problem has to be fixed one way or another.
> 
> What I can tell you is that sysvinit dependencies are a thorny
> problem.  As you know, sysvinit was split into three packages
> for sarge: sysvinit, sysv-rc and initscripts.  In order to ensure
> that on upgrade from woody all three packages get installed,
> sysvinit has at least to Depend on sysv-rc and initscripts.
> In order to ensure that initscripts and sysv-rc unpack before the
> new sysvinit (so that they can take over the conffiles from sysvinit
> without dpkg asking permission for each one), sysvinit actually
> Pre-Depends on initscripts and sysv-rc|file-rc.  The latter have
> further Dependencies and I fear that somewhere down the line
> someone Depends on sysvinit (>= ver).
> 
> There are also issues related to supporting the hurd, but these
> aren't clear to me.
> 
> I just upgraded this bug to serious but I am going to _temporarily_
> downgrade it again so that 2.85-22 drops into sarge.

There is some discussion about related issues in #188161, even though that
is a different bug.  The apt bug report about this issue is #192702, though
I do not currently believe it is an apt bug.

The problem can be reduced to file-rc and sysvinit not being able to upgrade
together.  Here is how to set up the test, starting from a woody system:

1. apt-get install file-rc
2. Edit sources.list, point to unstable
3. apt-get install initscripts
   This simplifies the situation so it is easier to see what is going on
4. apt-get install sysvinit file-rc

sh-2.05a# apt-get install sysvinit file-rc
Reading Package Lists... Done
Building Dependency Tree... Done
The following packages will be upgraded:
  file-rc sysvinit
2 upgraded, 0 newly installed, 0 to remove and 104 not upgraded.
Need to get 0B/132kB of archives.
After unpacking 182kB of additional disk space will be used.
E: This installation run will require temporarily removing the essential package sysvinit 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 sysvinit

The setup there is a woody system which has had sources.list changed to point
to unstable, and "apt-get install initscripts" run to simplify the situation.

The problem appears to be:

sysvinit Depends: sysv-rc (>= 2.85-2) | file-rc (>> 0.7.0)
file-rc  Conflicts: sysvinit (<< 2.85-3)

file-rc cannot be upgraded first, because it conflicts with the old version
of sysvinit.  sysvinit cannot be upgraded first, because it depends on a
newer file-rc.  They cannot be upgraded simultaneously, because they are
essential: their dependencies are similar to pre-depends.

Therefore, there is no safe ordering for this upgrade.  This issue needs to
be resolved between sysvinit and file-rc.  If you can find a way to remove
the version from the file-rc dependency, I think that would make the upgrade
possible.  Then, sysvinit could be fully upgraded first, followed by
file-rc.

-- 
 - mdz



Reply to: