X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=etckeeper.spec;h=dd78d6f37e3cfe449078ccc4e1c84cec60cd98e9;hb=d50be7d45638b39424843d56519dd3726cf71e72;hp=c9886c34ec709d43d9a690d39835eceb28decfe6;hpb=97da4513e2fe8613267a911346d04c83913cb360;p=packages%2Fetckeeper.git diff --git a/etckeeper.spec b/etckeeper.spec index c9886c3..dd78d6f 100644 --- a/etckeeper.spec +++ b/etckeeper.spec @@ -1,31 +1,45 @@ # TODO: # - Subpackages for yum and apt plugins # - Subpackages for backends (git, etc) -# - Write PLD %pre and %post macros that trigger pre-install and post-install runs -# - %{py_sitescriptdir}/bzrlib/plugins also created by qbzr package? Summary: Store /etc in a SCM system (git, mercurial, bzr or darcs) Name: etckeeper Version: 1.1 -Release: 0.6 -License: GPL v2 +Release: 0.26 +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 +Patch2: update-ignore.patch URL: http://kitenet.net/~joey/code/etckeeper/ BuildRequires: bzr BuildRequires: rpm-pythonprov BuildRequires: rpmbuild(macros) >= 1.219 BuildRequires: sed >= 4.0 +Requires: findutils Requires: mktemp Requires: perl-base +Requires: sed >= 4.0 +%if "%{pld_release}" != "ac" +Requires: poldek >= 0.30.0-1.rc7.4 +%endif Suggests: %{name}-bash-completions Suggests: %{name}-bzr Suggests: git-core >= 1.6.1-1 Obsoletes: yum-etckeeper +%if "%{pld_release}" != "ac" BuildArch: noarch +%endif BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) +%if "%{pld_release}" != "ac" +%define _poldeklibdir %{_prefix}/lib/poldek +%else +%define _poldeklibdir %{_libdir}/poldek +%endif + %description The etckeeper program is a tool to let /etc be stored in a git, mercurial, bzr or darcs repository. It hooks into APT to automatically @@ -67,24 +81,34 @@ Bash completion routines for etckeeper. mv %{name} .tmp mv .tmp/* . %patch0 -p1 +%patch1 -p1 +%patch2 -p1 %{__sed} -i -e ' s|HIGHLEVEL_PACKAGE_MANAGER=apt|HIGHLEVEL_PACKAGE_MANAGER=poldek|; s|LOWLEVEL_PACKAGE_MANAGER=dpkg|LOWLEVEL_PACKAGE_MANAGER=rpm|; ' %{name}.conf +# cleanup backups after patching +find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f + %build %{__make} %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT{/etc/cron.daily,%{_localstatedir}/cache/%{name}} +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 %py_ocomp $RPM_BUILD_ROOT%{py_sitescriptdir} %py_comp $RPM_BUILD_ROOT%{py_sitescriptdir} @@ -93,26 +117,36 @@ install -p debian/cron.daily $RPM_BUILD_ROOT/etc/cron.daily/%{name} %clean rm -rf $RPM_BUILD_ROOT -%if 0 %post -if [ $1 -gt 1 ] ; then +if [ $1 -gt 1 ]; then %{_bindir}/%{name} update-ignore fi -%endif + +%triggerin -- poldek +# add our hook as "pm command" +if [ -f /etc/poldek/poldek.conf ] && ! grep -q '^pm command = %{_poldeklibdir}/%{name}.sh' /etc/poldek/poldek.conf; then + %{__sed} -i -re 's,#?(pm command =).*,\1 %{_poldeklibdir}/%{name}.sh,' /etc/poldek/poldek.conf +fi + +%triggerun -- poldek +# remove our hook as "pm command" +if [ "$1" -eq 0 ] && [ -f /etc/poldek/poldek.conf ]; then + %{__sed} -i -re 's,^pm command = %{_poldeklibdir}/%{name}.sh,#&,' /etc/poldek/poldek.conf +fi %files %defattr(644,root,root,755) %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} %{_mandir}/man8/%{name}.8* - +%attr(755,root,root) %{_poldeklibdir}/%{name}.sh %dir %attr(750,root,root) %{_localstatedir}/cache/%{name} %files bzr @@ -121,7 +155,9 @@ fi %dir %{py_sitescriptdir}/bzrlib/plugins %dir %{py_sitescriptdir}/bzrlib/plugins/%{name} %{py_sitescriptdir}/bzrlib/plugins/%{name}/*.py[co] +%if "%{pld_release}" != "ac" %{py_sitescriptdir}/bzr_etckeeper-*.egg-info +%endif %files -n bash-completion-%{name} %defattr(644,root,root,755)