ctdb-packaging: Stop RPM from renaming working config to ctdb.rpmsave
authorMartin Schwenke <martin@meltin.net>
Tue, 2 Aug 2016 20:51:57 +0000 (06:51 +1000)
committerMartin Schwenke <martins@samba.org>
Mon, 8 Aug 2016 09:30:57 +0000 (11:30 +0200)
The change to ctdbd.conf and removal of /etc/sysconfig/ctdb as a
configuration file makes RPM rename the latter with a .rpmsave suffix.
This means that a working configuration is moved aside on upgrade and
manual intervention is needed.

Avoid this by convincing RPM that the existing /etc/sysconfig/ctdb is
still a configuration file.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=12125

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
Autobuild-User(master): Martin Schwenke <martins@samba.org>
Autobuild-Date(master): Mon Aug  8 11:30:58 CEST 2016 on sn-devel-144

ctdb/packaging/RPM/ctdb.spec.in

index 28af1d085aad5706b7bf2b17a5f7ac650904042a..ea97d8e7a76dc346c1ab07d3f59b922f96c41387 100644 (file)
@@ -115,6 +115,15 @@ DESTDIR=$RPM_BUILD_ROOT ./buildtools/bin/waf install
 
 install -m644 config/ctdbd.conf $RPM_BUILD_ROOT%{_sysconfdir}/ctdb
 
+# Add a pointer to modern location for configuration file.  Allow with
+# "noreplace" in the files section, this stops RPM moving aside a
+# working configuration.
+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig
+cat >$RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/ctdb <<EOF
+# CTDB configuration is now in %{_sysconfdir}/ctdb/ctdbd.conf
+EOF
+chmod 644 $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/ctdb
+
 %if %{with_systemd}
 mkdir -p $RPM_BUILD_ROOT%{_unitdir}
 install -m 755 config/ctdb.service $RPM_BUILD_ROOT%{_unitdir}
@@ -151,6 +160,8 @@ rm -rf $RPM_BUILD_ROOT
 %config(noreplace) %{_sysconfdir}/ctdb/gcore_trace.sh
 %config(noreplace) %{_sysconfdir}/ctdb/debug_locks.sh
 
+%config(noreplace, missingok) %{_sysconfdir}/sysconfig/ctdb
+
 %if %{with_systemd}
 %{_unitdir}/ctdb.service
 %else