2 # - Subpackages for yum and apt plugins
3 # - Subpackages for backends (git, etc)
4 Summary: Store /etc in a SCM system (git, mercurial, bzr or darcs)
9 Group: Applications/System
10 Source0: http://ftp.debian.org/debian/pool/main/e/etckeeper/%{name}_%{version}.tar.gz
11 # Source0-md5: 280f75205940f99f8f0295bb8ec3598f
13 Patch0: type-mksh.patch
14 URL: http://kitenet.net/~joey/code/etckeeper/
16 BuildRequires: rpm-pythonprov
17 BuildRequires: rpmbuild(macros) >= 1.219
18 BuildRequires: sed >= 4.0
23 %if "%{pld_release}" != "ac"
24 Requires: poldek >= 0.30.0-1.rc7.4
26 Suggests: %{name}-bash-completions
28 Suggests: git-core >= 1.6.1-1
29 Obsoletes: yum-etckeeper
30 %if "%{pld_release}" != "ac"
33 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
35 %if "%{pld_release}" != "ac"
36 %define _poldeklibdir %{_prefix}/lib/poldek
38 %define _poldeklibdir %{_libdir}/poldek
42 The etckeeper program is a tool to let /etc be stored in a git,
43 mercurial, bzr or darcs repository. It hooks into APT to automatically
44 commit changes made to /etc during package upgrades. It tracks file
45 metadata that version control systems do not normally support, but
46 that is important for /etc, such as the permissions of /etc/shadow.
47 It's quite modular and configurable, while also being simple to use if
48 you understand the basics of working with version control.
50 The default backend is git, if want to use a another backend please
51 install the appropriate tool (mercurial, darcs or bzr). To use bzr as
52 backend, please also install the %{name}-bzr package.
54 To start using the package please read
55 %{_docdir}/%{name}-%{version}/README
58 Summary: Support for bzr with etckeeper
59 Group: Applications/System
60 Requires: %{name} = %{version}-%{release}
64 This package provides a bzr backend for etckeeper, if you want to use
65 etckeeper with bzr backend, install this package.
67 %package -n bash-completion-%{name}
68 Summary: Bash completion routines for %{name}
69 Group: Applications/Shells
70 Requires: %{name} = %{version}-%{release}
71 Requires: bash-completion
72 Obsoletes: etckeeper-bash-completions
74 %description -n bash-completion-%{name}
75 Bash completion routines for etckeeper.
83 s|HIGHLEVEL_PACKAGE_MANAGER=apt|HIGHLEVEL_PACKAGE_MANAGER=poldek|;
84 s|LOWLEVEL_PACKAGE_MANAGER=dpkg|LOWLEVEL_PACKAGE_MANAGER=rpm|;
87 # cleanup backups after patching
88 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
94 rm -rf $RPM_BUILD_ROOT
95 install -d $RPM_BUILD_ROOT{/etc/cron.daily,%{_localstatedir}/cache/%{name},%{_poldeklibdir}}
97 LOWLEVEL_PACKAGE_MANAGER=rpm \
98 HIGHLEVEL_PACKAGE_MANAGER=poldek \
99 INSTALL="install -p" \
100 DESTDIR=$RPM_BUILD_ROOT
102 install -p debian/cron.daily $RPM_BUILD_ROOT/etc/cron.daily/%{name}
103 install -p %{SOURCE1} $RPM_BUILD_ROOT%{_poldeklibdir}/%{name}.sh
105 %py_ocomp $RPM_BUILD_ROOT%{py_sitescriptdir}
106 %py_comp $RPM_BUILD_ROOT%{py_sitescriptdir}
110 rm -rf $RPM_BUILD_ROOT
113 if [ $1 -gt 1 ]; then
114 %{_bindir}/%{name} update-ignore
118 # add our hook as "pm command"
119 if [ -f /etc/poldek/poldek.conf ] && ! grep -q '^pm command = %{_poldeklibdir}/%{name}.sh' /etc/poldek/poldek.conf; then
120 %{__sed} -i -re 's,#?(pm command =).*,\1 %{_poldeklibdir}/%{name}.sh,' /etc/poldek/poldek.conf
124 # remove our hook as "pm command"
125 if [ "$1" -eq 0 ] && [ -f /etc/poldek/poldek.conf ]; then
126 %{__sed} -i -re 's,^pm command = %{_poldeklibdir}/%{name}.sh,#&,' /etc/poldek/poldek.conf
130 %defattr(644,root,root,755)
131 %doc INSTALL TODO README
132 %dir %{_sysconfdir}/%{name}
133 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/%{name}.conf
134 %dir %{_sysconfdir}/%{name}/*.d
135 %attr(755,root,root) %{_sysconfdir}/%{name}/*.d/[0-9]*
136 %{_sysconfdir}/%{name}/*.d/README
138 %attr(755,root,root) /etc/cron.daily/%{name}
139 %attr(755,root,root) %{_bindir}/%{name}
140 %attr(755,root,root) %{_poldeklibdir}/%{name}.sh
141 %{_mandir}/man8/%{name}.8*
143 %dir %attr(750,root,root) %{_localstatedir}/cache/%{name}
146 %defattr(644,root,root,755)
147 %dir %{py_sitescriptdir}/bzrlib
148 %dir %{py_sitescriptdir}/bzrlib/plugins
149 %dir %{py_sitescriptdir}/bzrlib/plugins/%{name}
150 %{py_sitescriptdir}/bzrlib/plugins/%{name}/*.py[co]
151 %if "%{pld_release}" != "ac"
152 %{py_sitescriptdir}/bzr_etckeeper-*.egg-info
155 %files -n bash-completion-%{name}
156 %defattr(644,root,root,755)
157 %{_sysconfdir}/bash_completion.d/%{name}