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.
trouble with fillup will also happen with every other
location: stale admin controlled key=value entries will remain
the pkg provides an upgrade path. Some pkgs have one, most pkgs do
It is up to each pkg to decide how to move forward with existing
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
(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
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 \
(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 ;-)
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
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(a)opensuse.org
To contact the owner, e-mail: opensuse-factory+owner(a)opensuse.org