Am 27.06.23 um 19:31 schrieb Russ Allbery:
Simon Richter <s...@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 useDepends: systemd-sysv | orphan-sysvinit-scriptsbut 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?
OpenPGP_signature
Description: OpenPGP digital signature