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

Re: cleanly getting rid of manually installed transitional packages due to rename



Replying to this old mail, as I have new information...

On 2020-04-21 19:09:32 +0200, Sven Joachim wrote:
> On 2020-04-21 17:07 +0200, Vincent Lefevre wrote:
> > Sometimes packages get renamed. A renamed package becomes a
> > "transitional package", which can be tracked by deborphan and
> > can safely removed if it no longer has any reverse dependencies.
> >
> > The issue is that if this was a manually installed package,
> > typically with no past dependencies on it (i.e. no dependencies
> > that were updated from the old package to the new one), and if one
> > wants to remove it, then apt or aptitude will also want to remove
> > the new package because this new package has not been installed
> > manually and its only reverse dependency (the transitional package)
> > has just been removed by this operation. Note: as shown below, with
> > apt, this is proposed via "apt autoremove", and with aptitude, this
> > is automatically proposed at the same time.
> >
> > Is there a way to avoid this behavior automatically, i.e. by
> > forwarding the "manually installed" state automatically to the
> > new package? Shouldn't this be done by default?
> 
> It is done (at least by apt, not so sure about aptitude) if the
> transitional package is moved to the oldlibs section.  Unfortunately,
> the section of packages is determined by the FTP masters' override file
> and is usually only changed months after the initial upload.

Unfortunately, I could see that aptitude doesn't: ntpdate became a
transitional package, which is in the oldlibs section:

Package: ntpdate
Status: install ok installed
Priority: optional
Section: oldlibs
Installed-Size: 65
Maintainer: Richard Laager <rlaager@debian.org>
Architecture: all
Source: ntpsec (1.2.1+dfsg1-6)
Version: 1:4.2.8p15+dfsg-2~1.2.1+dfsg1-6
Depends: ntpsec-ntpdate
Conffiles:
 /etc/logcheck/ignore.d.server/ntpdate 68d4df7cceb0e97bde87126c3a56b219 obsolete
 /etc/dhcp/dhclient-exit-hooks.d/ntpdate cb47fd9d3e21a204fb3ba4ca3fc8ab46 obsolete
 /etc/default/ntpdate 71d857cae72ae1f53380ea4f2e38cb2e obsolete
Description: Network Time Protocol client (transitional package)
 This is a dummy transitional package to transition to NTPsec.
 It can be safely removed.
Homepage: https://www.ntpsec.org

And after doing the upgrade with aptitude, I get:

i   ntpdate                    1:4.2.8p15+dfsg-2~1.2.1+ 1:4.2.8p15+dfsg-2~1.2.1+
i A ntpsec-ntpdate             1.2.1+dfsg1-6            1.2.1+dfsg1-6

So ntpdate is still marked as manually installed, but ntpsec-ntpdate,
which has just been installed during the upgrade due to the ntpdate
dependency, is marked as automatically installed.

-- 
Vincent Lefèvre <vincent@vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)


Reply to: