Hide Forgot
From Bugzilla Helper: User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 (CK-zz) Firefox/2.0.0.6 Description of problem: The spec file for rsyslog and every previous fedora-based syslog+friends rpm I've run across uses %config(noreplace) in the spec file for the .conf file, the logrotate file, and the sysconfig file associated with the daemons in question. This prevents folks from creating their own superseding rpm to tweak these settings even if we use Requires: to set the right ordering so 'last wins'. Fedora is being too restrictive in locking down these files which prevents alteration by other local-administrator rpms. There seems to be no reason to be this restrictive. Please remove the (noreplace) options so we can build our local modifications using custom rpms and not have to do brutal hacks like rpms that nuke files via %post or the like in order to do implement local modifications. Version-Release number of selected component (if applicable): How reproducible: Always Steps to Reproduce: 1. cook up a custom rpm that tries to alter any of the files marked %config(noreplace) in the rsyslog spec file 2. 3. Actual Results: rpm will of course not let you install the custom rpm, as the file you're trying to alter has been claimed first by rsyslog Expected Results: Additional info: There are a large number of files like this on the system including but not limited to things like /etc/issue and /etc/motd. I'm thinking of putting in a bunch of bugzillas for all the files like this I've identified, but want to see how this one goes before bothering. Thanks.
No, this is bogus and is against the packaging guidelines: http://fedoraproject.org/wiki/Packaging/Guidelines#head-72ae42b20a4c2896c9e7e295b94cfc26bf580bef All config files should be %config(noreplace) unless there is a situatation where an older configuration file will not work with the current version of a pacakge. You should not be trying to replace files owned by one rpm with another rpm. Either manage the config files with a configuration system ala cfengine or puppet, or create your own rsyslog, etc. rpms that completely supersede the default versions. I recommend the first. Without noreplace, a package will move the user modified version of the config file to .rpmsave upon upgrade, generally breaking what the *user* has asked the system to do.
All I want to do is have the ability to cut a custom rpm of my own to supersede Fedora's idea of what should be there, and control the installation order with Requires. Your approach means I have to alter 'Fedora' rpms 'into' a custom version, which to me is a far less valid approach....or alternately do all kinds of crimes-against-rpm with %post hacks in a custom rpm of my own. Not good. There are a large number of files on a Fedora system that a sysadmin needs to tweak. RPM is the preferred way to do this, not bolt-on things like cfengine and the like, especially if you're trying to cut a custom distro like we do for some uses. I understand Fedora claiming ownership of the passwd file. I do not know why it claims exclusive ownership of motd and issue and many other almost-certainly-edited files. A packaging system that does not let the admin get the last word in without rebuilding the source operating system components is just badly thought out in my opinion.
(In reply to comment #2) > All I want to do is have the ability to cut a custom rpm of my own to supersede > Fedora's idea of what should be there, and control the installation order with > Requires. Then file a bug against rpm to have it support what you want, but don't ask package maintainers to break the current packaging guidelines and break the most common use case scenario.
rsyslog.conf and sysconfig/rsyslog are no longer marked noreplace in rawhide. I *really* think this is a back idea and against packaging guidelines. This is going to break user's configurations (mine in particular).
fixed in rsyslog-3.21.3-4.fc10