Hello, Am Dienstag, 29. September 2020, 12:04:45 CEST schrieb Richard Brown:
On Mon, 2020-09-28 at 17:35 +0200, Olaf Hering wrote:
Am Mon, 28 Sep 2020 15:33:36 +0200 schrieb Thorsten Kukuk: [...]
Doing something in an imperfect way for 20 years isn't really good grounds for not seeking to improve the situation now.
;-)
The potential trouble with fillup will also happen with every other location: stale admin controlled key=value entries will remain unless the pkg provides an upgrade path. Some pkgs have one, most pkgs do not. It is up to each pkg to decide how to move forward with existing files.
Indeed. I support Thorsten's suggestion of retiring /etc/sysconfig and instead using /etc/default and /usr/etc/default but that agreement comes with the assumption that we throw the mess that is fillup out of the window at the same time.
No objections against getting rid of fillup, but wouldn't it be better to fix this in a backwards-compatible way, without changing paths (at least in the first step), without leaving unused files behind, and therefore without leaving users confused? I played around a bit, and it looks like rpm creates *.rpmnew files if you have a file with differing content that isn't owned by any package. Therefore I propose the following backwards-compatible solution: - change rpmlint to no longer block files in /etc/sysconfig/ - package the sysconfig files as %config(noreplace) /etc/sysconfig/$whatever (note: it seems fillup adds an empty line at the end, so we should add that empty line to the packaged files to avoid superfluous *.rpmnew files) I already hear you asking "but what about moving to /usr/etc/?" IMHO that should be a second step (maybe in some months) so that most Tumbleweed (or even Leap, if we wait long enough) users get a smooth upgrade path that avoids manual work. This delay for the second step even comes with an advantage - rpm will delete unmodified (but now owned) files from /etc/sysconfig/ without leaving garbage behind, and will leave modified files as *.rpmsave so that users (and rpmconfigcheck) can easily find them, and know that they are now unused. In theory we could also handle both steps in one by checking the checksum of /etc/sysconfig/$whatever, and then a) delete matching files and b) rename non-matching files to *.rpmsave. However, this comes with more additional work because packagers would have to add the checksum of each (default) sysconfig file to support this. This could be done by a (not yet existing) macro like %delete_unowned_file /etc/sysconfig/foo \ 749b1bcb73cc025e68d45e4b93c9b1294ee9e63bfba85ec0b410946371b237df (As some people already mentioned in this discussion, the final location doesn't need to be /usr/etc/default/$name - something like /usr/etc/$name is probably better.)
Yes, /etc/* might contain user-supplied stale values after an upgrade. But that's fine. /etc/* should be considered _user data_.
That's your long-term goal, but looking at the amount of files in /etc/ vs. /usr/etc/, we still have a long way to go. And that also means that currently /etc/ is mostly system/packaged data, with a few modified files in between ;-)
It's the user's domain, let them put old nonsense in there, or broken nonsense. In the same way we shouldn't be tinkering with what users put in their /home, we should leave /etc well alone and trust in the user to be able to manage that themselves properly.
I know that you like breaking things ;-) but if we can help users to make /etc/sysconfig/ clean(er) without breaking things, we should do that. Regards, Christian Boltz -- Reason why a bot: the bot is just less 'stressed' any makes less mistakes for such obvious things. And people can discuss with the bot as much as they want. [Dominique Leuenberger in opensuse-packaging] -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org