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.