Bug 428155 - rsyslogd rpm should not mark configs files as noreplace
Summary: rsyslogd rpm should not mark configs files as noreplace
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: rsyslog
Version: 8
Hardware: i386
OS: Linux
low
medium
Target Milestone: ---
Assignee: Peter Vrabec
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-01-09 17:39 UTC by Vince Skahan
Modified: 2008-09-15 12:57 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-09-15 12:57:24 UTC


Attachments (Terms of Use)

Description Vince Skahan 2008-01-09 17:39:56 UTC
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.

Comment 1 Orion Poplawski 2008-03-10 19:59:25 UTC
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.

Comment 2 Vince Skahan 2008-03-10 20:10:22 UTC
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.


Comment 3 Orion Poplawski 2008-03-10 21:32:22 UTC
(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.

Comment 4 Orion Poplawski 2008-04-08 17:09:56 UTC
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).

Comment 5 Peter Vrabec 2008-09-15 12:57:24 UTC
fixed in rsyslog-3.21.3-4.fc10


Note You need to log in before you can comment on or make changes to this bug.