[issue1178] upgrade-system|grml-live: running deborphan in loops (was: Bug#672829: upgrade-system: please bump dependency on deborphan to 1.7.28.7 after it has reached unstable
Carsten Hey
bts at bts.grml.org
Sat Jun 9 13:37:44 CEST 2012
New submission from Carsten Hey <carsten at debian.org>:
tl;dr: You use deborphan wrong. The last paragraph of this mail
describes the fix that depends an unreleased deborphan version.
I'll send an update when it hits unstable.
* Martin-Éric Racine [2012-06-09 12:24 +0300]:
> 2012/5/14 Carsten Hey <carsten at debian.org>:
> > Since it does not require a multiarch-aware dpkg, I don't think it
> > should depend on a multiarch-aware dpkg. It's upgrade-systems that
> > enters an endless loop if it is run with deborphan 1.7.28.6 or earlier
> > on multiarch enabled systems (which of course requires a recent dpkg).
>
> It only enters into a loop when the components below it are
> mismatched. In this case, it was deborphan that wasn't able to produce
> multiarch-aware output that APT could use. deborphan was broken, not
> upgrade-system. I'm closing this bug.
I disagree for multiple reasons, anyway, the partial upgrade problem in
Debian in only theoretical and this is not Ubuntu's bug tracker.
In general, running while [ -n "`deborphan`" ]; do apt-get remove
`deborphan`; done without checking for endless loops is wrong, as
described in the quoted paragraph below:
> > upgrade-systems relies on apt to remove the packages that are
> > displayed by deborphan. This is nothing deborphan can guarantee,
> > for example apt won't remove itself without using --force-whatever.
> > It is mostly save to rely on this behaviour, though. If you need
> > this you must ensure that the known exceptions won't occur, for
> > example, don't run deborphan with options that could show apt as
> > orphaned, or, as in this case, don't run an old deborphan on
> > mutliarch-enabled systems.
If you ran stable with oldstable still in your sources.list, e.g.,
whilst upgrading to stable, you got a similar problem that could lead
(depending on your loop's implementation) to a failure or an endless
loop:
| deborphan (1.7.28.2) unstable; urgency=low
| * Exclude diff and mktemp from being displayed in orphaner. Apt and dpkg
| sometimes disagree about essentialness of packages, which leads to
| failures for dpkg frontends that use apt to remove packages, e.g.,
| deborphan. Currently, the relevant packages are diff and mktemp. The
| package install-info has deliberately not been added to the list of to be
| excluded packages.
A proper fix for both packages, upgrade-system and grml-live, is
depending on a yet not released deborphan with a --recursive option and
running apt-get remove `deborphan` instead of of your loop. I'll drop
you a mail when such a deborphan release gets uploaded to unstable.
Regards
Carsten
----------
messages: 4378
nosy: 672829, carsten, taffit
status: unread
title: upgrade-system|grml-live: running deborphan in loops (was: Bug#672829: upgrade-system: please bump dependency on deborphan to 1.7.28.7 after it has reached unstable
_____________________________________
GRML issue tracker <bts at bts.grml.org>
<http://bts.grml.org/grml/issue1178>
_____________________________________
More information about the Bugs-changes
mailing list