[packages/etckeeper] install etckeeper code to /lib/etckeeper

glen glen at pld-linux.org
Tue May 7 16:35:25 CEST 2013


commit 7150bf21db96ba9d7967b3b0a8d4750c2e37fdaf
Author: Elan Ruusamäe <glen at delfi.ee>
Date:   Tue May 7 17:34:55 2013 +0300

    install etckeeper code to /lib/etckeeper
    
    old /etc/etckeeper paths respected too, but not packaged

 etckeeper.spec   | 21 +++++++++++++--------
 use-libdir.patch | 43 +++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 56 insertions(+), 8 deletions(-)
---
diff --git a/etckeeper.spec b/etckeeper.spec
index de28978..6d2b9c3 100644
--- a/etckeeper.spec
+++ b/etckeeper.spec
@@ -4,13 +4,14 @@
 Summary:	Store /etc in a SCM system (git, mercurial, bzr or darcs)
 Name:		etckeeper
 Version:	1.1
-Release:	0.21
+Release:	0.25
 License:	GPL v2+
 Group:		Applications/System
 Source0:	http://ftp.debian.org/debian/pool/main/e/etckeeper/%{name}_%{version}.tar.gz
 # Source0-md5:	280f75205940f99f8f0295bb8ec3598f
 Source1:	poldek.sh
 Patch0:		type-mksh.patch
+Patch1:		use-libdir.patch
 URL:		http://kitenet.net/~joey/code/etckeeper/
 BuildRequires:	bzr
 BuildRequires:	rpm-pythonprov
@@ -79,6 +80,7 @@ Bash completion routines for etckeeper.
 mv %{name} .tmp
 mv .tmp/* .
 %patch0 -p1
+%patch1 -p1
 %{__sed} -i -e '
 	s|HIGHLEVEL_PACKAGE_MANAGER=apt|HIGHLEVEL_PACKAGE_MANAGER=poldek|;
 	s|LOWLEVEL_PACKAGE_MANAGER=dpkg|LOWLEVEL_PACKAGE_MANAGER=rpm|;
@@ -92,13 +94,17 @@ find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{/etc/cron.daily,%{_localstatedir}/cache/%{name},%{_poldeklibdir}}
+install -d $RPM_BUILD_ROOT{/etc/cron.daily,%{_sysconfdir}/%{name},%{_localstatedir}/cache/%{name},%{_poldeklibdir}}
 %{__make} install \
+	etcdir=/lib \
 	LOWLEVEL_PACKAGE_MANAGER=rpm \
 	HIGHLEVEL_PACKAGE_MANAGER=poldek \
 	INSTALL="install -p" \
 	DESTDIR=$RPM_BUILD_ROOT
 
+mv $RPM_BUILD_ROOT{/lib,%{_sysconfdir}}/%{name}/%{name}.conf
+mv $RPM_BUILD_ROOT{/lib/bash_completion.d,/etc}
+
 install -p debian/cron.daily $RPM_BUILD_ROOT/etc/cron.daily/%{name}
 install -p %{SOURCE1} $RPM_BUILD_ROOT%{_poldeklibdir}/%{name}.sh
 
@@ -131,15 +137,14 @@ fi
 %doc INSTALL TODO README
 %dir %{_sysconfdir}/%{name}
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/%{name}.conf
-%dir %{_sysconfdir}/%{name}/*.d
-%attr(755,root,root) %{_sysconfdir}/%{name}/*.d/[0-9]*
-%{_sysconfdir}/%{name}/*.d/README
-
+%dir /lib/%{name}
+%dir /lib/%{name}/*.d
+%attr(755,root,root) /lib/%{name}/*.d/[0-9]*
+/lib/%{name}/*.d/README
 %attr(755,root,root) /etc/cron.daily/%{name}
 %attr(755,root,root) %{_bindir}/%{name}
-%attr(755,root,root) %{_poldeklibdir}/%{name}.sh
 %{_mandir}/man8/%{name}.8*
-
+%attr(755,root,root) %{_poldeklibdir}/%{name}.sh
 %dir %attr(750,root,root) %{_localstatedir}/cache/%{name}
 
 %files bzr
diff --git a/use-libdir.patch b/use-libdir.patch
new file mode 100644
index 0000000..df5dcec
--- /dev/null
+++ b/use-libdir.patch
@@ -0,0 +1,43 @@
+--- etckeeper-1.1/etckeeper	2012-12-28 18:09:51.000000000 +0200
++++ etckeeper-1.1/etckeeper	2013-05-07 13:05:25.000000000 +0300
+@@ -1,6 +1,10 @@
+ #!/bin/sh
+ set -e
+ 
++if [ -z "$ETCKEEPER_LIB_DIR" ]; then
++	ETCKEEPER_LIB_DIR=/lib/etckeeper
++fi
++
+ if [ -z "$ETCKEEPER_CONF_DIR" ]; then
+ 	ETCKEEPER_CONF_DIR=/etc/etckeeper
+ fi
+@@ -71,8 +75,8 @@
+ 	command=pre-install
+ fi
+ 
+-if [ ! -d "$ETCKEEPER_CONF_DIR/$command.d" ]; then
+-	echo "etckeeper: $ETCKEEPER_CONF_DIR/$command.d does not exist" >&2
++if [ ! -d "$ETCKEEPER_LIB_DIR/$command.d" ] && [ ! -d "$ETCKEEPER_CONF_DIR/$command.d" ]; then
++	echo "etckeeper: "$ETCKEEPER_LIB_DIR/$command.d" nor $ETCKEEPER_CONF_DIR/$command.d does not exist" >&2
+ 	exit 1
+ fi
+ 
+@@ -109,13 +113,14 @@
+ 
+ lsscripts() {
+ 	perl -e '
+-		$dir=shift;
++		for $dir (@ARGV) {
+ 		print join "\n", grep { ! -d $_ && -x $_ }
+ 			grep /^\Q$dir\/\E[-a-zA-Z0-9]+$/,
+ 			glob "$dir/*";
+-	' "$1"
++		}
++	' "$@"
+ }
+ 
+-for script in $(lsscripts "$ETCKEEPER_CONF_DIR/$command.d"); do
+-	"$script" "$@"
++for script in $(lsscripts "$ETCKEEPER_LIB_DIR/$command.d" "$ETCKEEPER_CONF_DIR/$command.d"); do
++	"$script" "$@"
+ done
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/etckeeper.git/commitdiff/7150bf21db96ba9d7967b3b0a8d4750c2e37fdaf



More information about the pld-cvs-commit mailing list