Bug 799874

Summary: Startup Script /etc/rc.d/init.d/ldap is not marked as config file in RPM-Package
Product: Red Hat Enterprise Linux 5 Reporter: Thomas Scheunemann <scheunemann>
Component: openldapAssignee: Jan Vcelak <jvcelak>
Status: CLOSED NOTABUG QA Contact: BaseOS QE Security Team <qe-baseos-security>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 5.8CC: jsynacek, tsmetana
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-03-05 16:55:23 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Thomas Scheunemann 2012-03-05 10:29:17 UTC
Description of problem:
The startup script /etc/rc.d/init.d/ldap is not marked as a config file anymore and will be overwritten by an update.


Version-Release number of selected component (if applicable):
openldap-servers-2.3.43-25.el5


How reproducible:
always


Steps to Reproduce:
1. Install openldap under RHEL 5.7
2. modify /etc/rc.d/init.d/ldap
3. update to RHEL 5.8
  
Actual results:
/etc/rc.d/init.d/ldap will be saved as ldap.rpmsave and /etc/rc.d/init.d/ldap is the new file from the package.


Expected results:
/etc/rc.d/init.d/ldap should be left alone and the new file should be created as ldap.rpmnew.


Additional info:

Comment 1 Thomas Scheunemann 2012-03-05 15:26:22 UTC
Looking a bit further I found that the change was intentional because of bug 738768.

I honestly don't understand the rationale behind bug 738768.

They somehow felt the need to change /etc/rc.d/init.d/ldap, which we felt too.
But why are they complaining that after an update their changes have not been discarded, but kept?

In our case the init-script was replaced and the new one would produce an error message resulting in the ldap service not being restarted but stopped because of the update.

Of course one can argue whether the init-script should be considered a config file or not, but I believe it should and authors of others packages seem to
think so too, as most scripts under /etc/rc.d/init.d are in fact marked as such.

If I change a file intentionally I would like the change to survive an update of the package, which will not always be possible. In this case I could have looked at the installed package and see that the file is a config-file, so I should expect the change to stay. So even if it was wrong to mark the file as config-file I think it is very bad to change that after the fact.

Comment 2 Jan Vcelak 2012-03-05 16:55:23 UTC
Hi Thomas.

No. Initscripts are not configuration files. And you should not use it for configuration. We have /etc/sysconfig/ldap for this purpose. And I do not think that most of the scripts in /etc/rc.d/init.d are marked as configuration files.

You can take a look at Fedora packaging policy. This applies to RHEL as well:
http://fedoraproject.org/wiki/Packaging:SysVInitScript#Initscript_packaging

If the server does not start with shipped initscript, then something is wrong and you should file a bug with detailed description. If you need some new functionality, you can create a RFE bug with reasoning. (Your support representative can help you with it.)

I'm sorry. Closing as NOTABUG.

Comment 3 Thomas Scheunemann 2012-03-05 17:30:24 UTC
I understand the argument and I am still trying to get a quote why exactly it has been changed, but regarding /etc/rc.d/init.d a simple

# rpm -q -a -c | grep /etc/rc.d/init.d/
/etc/rc.d/init.d/rdisc
/etc/rc.d/init.d/capi
/etc/rc.d/init.d/isdn
/etc/rc.d/init.d/hobbit-client
/etc/rc.d/init.d/haldaemon
/etc/rc.d/init.d/NetworkManager
/etc/rc.d/init.d/messagebus
/etc/rc.d/init.d/lm_sensors
/etc/rc.d/init.d/lm_sensors
/etc/rc.d/init.d/anacron
/etc/rc.d/init.d/portmap
/etc/rc.d/init.d/irda
/etc/rc.d/init.d/saslauthd
/etc/rc.d/init.d/vncserver
/etc/rc.d/init.d/sendmail
/etc/rc.d/init.d/firstboot
/etc/rc.d/init.d/snmpd
/etc/rc.d/init.d/snmptrapd
/etc/rc.d/init.d/ypbind
/etc/rc.d/init.d/nfs
/etc/rc.d/init.d/nfslock
/etc/rc.d/init.d/rpcgssd
/etc/rc.d/init.d/rpcidmapd
/etc/rc.d/init.d/rpcsvcgssd
/etc/rc.d/init.d/krb524
/etc/rc.d/init.d/named
/etc/rc.d/init.d/multipathd
/etc/rc.d/init.d/ip6tables
/etc/rc.d/init.d/syslog
/etc/rc.d/init.d/gpm
/etc/rc.d/init.d/haldaemon
/etc/rc.d/init.d/hplip
/etc/rc.d/init.d/autofs
/etc/rc.d/init.d/crond
/etc/rc.d/init.d/cups
/etc/rc.d/init.d/dnsmasq
/etc/rc.d/init.d/messagebus
/etc/rc.d/init.d/ipmi
/etc/rc.d/init.d/lvm2-monitor
/etc/rc.d/init.d/atd
/etc/rc.d/init.d/NetworkManager
/etc/rc.d/init.d/ntpd
/etc/rc.d/init.d/functions
/etc/rc.d/init.d/halt
/etc/rc.d/init.d/killall
/etc/rc.d/init.d/netconsole
/etc/rc.d/init.d/netfs
/etc/rc.d/init.d/network
/etc/rc.d/init.d/rawdevices
/etc/rc.d/init.d/single
/etc/rc.d/init.d/kdump
/etc/rc.d/init.d/kudzu
/etc/rc.d/init.d/gpm
/etc/rc.d/init.d/iscsi
/etc/rc.d/init.d/iscsid
/etc/rc.d/init.d/nscd
/etc/rc.d/init.d/iptables

gives quite a list of files (57 of a total 92 files in that directory).

Comment 4 Jan Vcelak 2012-03-05 18:23:44 UTC
Interesting. It seems that it was added to the guidelines later. But still, this is not a bug. Initscript isn't a configuration file, it's a script. If you cannot reach your goal with /etc/sysconfig/ldap configuration file, please, file a RFE bug.