BTS

Issue1178

Title grml-live: running deborphan in loops on multiarch
Priority bug Status dead
Superseder Nosy List carsten, mika
Assigned To mika Topics

Created on 2012-06-09.11:37:44 by carsten, last changed 2013-09-25.11:05:57 by mika.

Messages
msg4629 (view) Author: mika Date: 2013-09-25.11:05:57
Closing this bugreport. We never had any real issues with deborphan in grml-live (meaning: works as 
intended for us :)) and since even the deborphan version from current sid (v1.7.28.8) doesn't provide the -
-recursive option yet I don't think it's worth keeping this bug report in our BTS any longer.

Thanks && regards,
-mika-
msg4378 (view) Author: carsten Date: 2012-06-09.11:37:44
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@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
History
Date User Action Args
2013-09-25 11:05:57mikasetstatus: in-progress -> dead
nosy: mika, carsten
messages: + msg4629
2012-06-09 12:49:41mikasetnosy: mika, carsten
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-live: running deborphan in loops on multiarch
2012-06-09 12:48:13mikasetnosy: - taffit
2012-06-09 12:47:03mikalinkissue1179 superseder
2012-06-09 12:35:05mikasetstatus: unread -> in-progress
nosy: + mika, - 672829
priority: bug
assignedto: mika
2012-06-09 11:37:44carstencreate