On Sun, Oct 04, Christian Boltz wrote:
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 would require two times a change to a package:
1. replace fillup with a real %config file
2. move the config file and adjust all code.
And this would require two times an action from the user, and
two times something new to learn:
1. Check for /etc/sysconfig/*.rpmnew and merge your changes, learn
you need to check that after every package update
2. Check for /etc/sysconfig/*.rpmsave and merge that, learn that the
default is below /usr/etc and the changes should be below /etc.
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.
To a high cost for packagers and users.
And: what happens with the migratation of Leap 15.x to Leap 16.x, or
however the next major Leap version will be called?
In theory we could also handle both steps in one by
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 \
I would do it really trivial:
1. don't package the fillup-template anymore
2. Install the adjusted config below /usr/etc
3. Move the old /etc/sysconfig/<file> to the new location, where
the application now expects the user made changes.
Thorsten Kukuk, Distinguished Engineer, Senior Architect SLES & MicroOS
SUSE Software Solutions Germany GmbH, Maxfeldstr. 5, 90409 Nuernberg, Germany
Managing Director: Felix Imendoerffer (HRB 36809, AG Nürnberg)
To unsubscribe, e-mail: opensuse-factory+unsubscribe(a)opensuse.org
To contact the owner, e-mail: opensuse-factory+owner(a)opensuse.org