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

Re: Policy consensus on transition when removing initscripts.



Am 27.06.23 um 19:31 schrieb Russ Allbery:
Simon Richter <sjr@debian.org> writes:

The only thing we actually need is a versioned Replaces that allows
orphan-sysvinit-scripts to take over ownership of the conffile.

Conflicts is unneeded here, and the daemon package does not need to
declare any relationship. They can use

     Depends: systemd-sysv | orphan-sysvinit-scripts

but really that doesn't do much because orphan-sysvinit-scripts is going
to be pulled in anyway, so I'd rather avoid the clutter.

Normally Conflicts is always added with Replaces because otherwise you can
have the following situation:

* Package A version 1.0-1 is installed providing file F.
* File F is moved to package B as of package A 1.0-3.
* User installs package B, which replaces the file in package A.
* User upgrades package A to version 1.0-2 (*not* 1.0-3). Or, rather,
   tries, because this will fail with an error due to the file conflict.

Unless I misunderstand how this works, I believe the Conflicts is
necessary to force dependency resolution to realize version 1.0-3 of
package A is needed when the F-providing version of package B is
installed.

My personal opinion is that if we're going to do this, we should do it
correctly.

Less prone to errors than a manual process might be to watch
automatically where legacy startup scripts disappear anyway; it's not
that complicated to do. People tend to forget things.

No, we shouldn't set the bar this low. We're talking about DDs here,
they should all have passed P&P and T&S tests.

Passing P&P and T&S doesn't help you not forget things.  Debian packaging
is already hard enough; we should automate as much as we possibly can.  A
comprehensive checklist of everything you're supposed to think about when
packaging a Debian package doesn't exist (Policy is certainly shy of
that), and if it did, would form a hardcover book large enough to use as a
boat anchor.  We should be tryingn to whittle that down over time with
automation and tools, not rely on people's memory and constantly
re-reading Policy.


While I find this discussion really interesting, is this really relevant for orphan-sysvinit-scripts? After all, it doesn't ship any conffiles in /etc, i.e. it doesn't take over any (conf)files from packages that dropped their initscript.
Have you actually looked at what orphan-sysvinit-scripts does?

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


Reply to: