[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 Sat 25 Apr 2020 at 21:41:09 (+0200), Vincent Lefevre wrote:
> On 2020-04-24 23:48:16 -0500, David Wright wrote:
> > On Fri 24 Apr 2020 at 21:07:31 (+0200), Vincent Lefevre wrote:
> > 
> > > Since you don't want to purge pdftk, why did you decide to purge it
> > > above?
> > 
> > Because in Real Life, pdftk is an empty transitional package.
> > In your hypothetical example you said it wasn't.
> 
> Oops, a typo: s/not/now/. So my example should be, after replacing
> "not" by "now" (and I hope "currently, this is like your example"
> makes more sense now):

OK, got that now.

> I think that you are over-optimistic. Imagine the following case.
> The pdftk package has been manually installed in the past and is
> now 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.

Sure, that could happen, and the solution is pretty much the same as
getting too many packages: there's bound to be a dependent
relationship between pdftk and whatever the replacement is.
So in either eventuality, you would either have included that check
in your script, or would kick yourself that you hadn't.

As I said, this has to be done so infrequently (in stable, at least),
that I've never bothered to think about scripting it, which means
that interactively you just deal with any corner cases as they arise.

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

Yes, it would help to have found and marked a replacement at the
time you're scanning   dpkg -l   for transitional packages.
If the script doesn't find one, then it's might be best for it
to fail rather than remove anything. But, as I said, I've got
more useful scripts to write than this. I can only suggest you file
a wishlist bug if you feel that the said thread hasn't considered
and discussed some way of doing what you wanted.

Currently I have five very varied computers, but for efficiency's
sake I install an almost identical selection of packages onto all
of them with a script. After a new release comes out, I normally
install it onto this laptop (into its "other" root partition)
using this script, then check out any package changes I have to make,
and edit the script accordingly, for the new release. I then
install apt-cacher-ng, import all the new release's debs into it,
and run the script on my other computers as and when it's convenient.

Cheers,
David.


Reply to: