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

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



On 2020-04-22 16:07:28 -0500, David Wright wrote:
> For trivial renames, which yours looks like, as do those I've done,
> it would be pretty easy to script. I've never made the effort,
> because it's not something I do frequently enough, usually just once,
> soon after I start running a new release on the first computer. Then
> I adjust the list of packages used for the rest of them. Manually:
> 
>  $ apt-get -s purge pdftk
>  The following package was automatically installed and is no longer required:
>   pdftk-java
>  Use 'apt autoremove' to remove it.
>  # apt-mark manual pdftk-java
>  pdftk-java set to manually installed.
>  $ apt-get -s purge pdftk
>  # apt-get purge pdftk
>  Removing pdftk (2.02-5) ...
> 
> (Routine output edited out.) The first step can list more packages,
> so checking the Depends line for the original package should show
> which is the replacement.

I think that you are over-optimistic. Imagine the following case.
The pdftk package has been manually installed in the past and is
not a transitional package to pdftk-java (currently, this is like
your example). But the system has some package that depends on
pdftk-java. So, when you run

  apt-get -s purge pdftk

you won't have any message about pdftk-java. Later in the future,
the dependency on pdftk-java disappears, so that pdftk-java will
be proposed for autoremoval. But since this can occur a long time
after the removal of pdftk, you probably have forgotten that you
still need pdftk-java, even if you use it everyday. Well, for
this one, one can probably guess (not sure though, as "-java"
could also mean an extension for java), but there are packages
for which one cannot remember/know all command they define.

I think that the script should look at the dependencies of the
transitional package, and mark all of them as manually installed
(even if this is currently useless due to dependencies from other
packages).

-- 
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: