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 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. -- Russ Allbery (r...@debian.org) <https://www.eyrie.org/~eagle/>