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
21 Requires: poldek >= 0.30.0-1.rc7.4
23 Suggests: %{name}-bash-completions
25 Suggests: git-core >= 1.6.1-1
26 Obsoletes: yum-etckeeper
28 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
30 %define _poldeklibdir %{_prefix}/lib/poldek
33 The etckeeper program is a tool to let /etc be stored in a git,
34 mercurial, bzr or darcs repository. It hooks into APT to automatically
35 commit changes made to /etc during package upgrades. It tracks file
36 metadata that version control systems do not normally support, but
37 that is important for /etc, such as the permissions of /etc/shadow.
38 It's quite modular and configurable, while also being simple to use if
39 you understand the basics of working with version control.
41 The default backend is git, if want to use a another backend please
42 install the appropriate tool (mercurial, darcs or bzr). To use bzr as
43 backend, please also install the %{name}-bzr package.
45 To start using the package please read
46 %{_docdir}/%{name}-%{version}/README
49 Summary: Support for bzr with etckeeper
50 Group: Applications/System
51 Requires: %{name} = %{version}-%{release}
55 This package provides a bzr backend for etckeeper, if you want to use
56 etckeeper with bzr backend, install this package.
58 %package -n bash-completion-%{name}
59 Summary: Bash completion routines for %{name}
60 Group: Applications/Shells
61 Requires: %{name} = %{version}-%{release}
62 Requires: bash-completion
63 Obsoletes: etckeeper-bash-completions
65 %description -n bash-completion-%{name}
66 Bash completion routines for etckeeper.
74 s|HIGHLEVEL_PACKAGE_MANAGER=apt|HIGHLEVEL_PACKAGE_MANAGER=poldek|;
75 s|LOWLEVEL_PACKAGE_MANAGER=dpkg|LOWLEVEL_PACKAGE_MANAGER=rpm|;
78 # cleanup backups after patching
79 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
85 rm -rf $RPM_BUILD_ROOT
86 install -d $RPM_BUILD_ROOT{/etc/cron.daily,%{_localstatedir}/cache/%{name},%{_poldeklibdir}}
88 LOWLEVEL_PACKAGE_MANAGER=rpm \
89 HIGHLEVEL_PACKAGE_MANAGER=poldek \
90 INSTALL="install -p" \
91 DESTDIR=$RPM_BUILD_ROOT
93 install -p debian/cron.daily $RPM_BUILD_ROOT/etc/cron.daily/%{name}
94 install -p %{SOURCE1} $RPM_BUILD_ROOT%{_poldeklibdir}/%{name}.sh
96 %py_ocomp $RPM_BUILD_ROOT%{py_sitescriptdir}
97 %py_comp $RPM_BUILD_ROOT%{py_sitescriptdir}
101 rm -rf $RPM_BUILD_ROOT
104 if [ $1 -gt 1 ]; then
105 %{_bindir}/%{name} update-ignore
109 # add our hook as "pm command"
110 if [ -f /etc/poldek/poldek.conf ] && ! grep -q '^pm command = %{_poldeklibdir}/%{name}.sh' /etc/poldek/poldek.conf; then
111 %{__sed} -i -re 's,#?(pm command =).*,\1 %{_poldeklibdir}/%{name}.sh,' /etc/poldek/poldek.conf
115 # remove our hook as "pm command"
116 if [ "$1" -eq 0 ] && [ -f /etc/poldek/poldek.conf ]; then
117 %{__sed} -i -re 's,^pm command = %{_poldeklibdir}/%{name}.sh,#&,' /etc/poldek/poldek.conf
121 %defattr(644,root,root,755)
122 %doc INSTALL TODO README
123 %dir %{_sysconfdir}/%{name}
124 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/%{name}.conf
125 %dir %{_sysconfdir}/%{name}/*.d
126 %attr(755,root,root) %{_sysconfdir}/%{name}/*.d/[0-9]*
127 %{_sysconfdir}/%{name}/*.d/README
129 %attr(755,root,root) /etc/cron.daily/%{name}
130 %attr(755,root,root) %{_bindir}/%{name}
131 %attr(755,root,root) %{_poldeklibdir}/%{name}.sh
132 %{_mandir}/man8/%{name}.8*
134 %dir %attr(750,root,root) %{_localstatedir}/cache/%{name}
137 %defattr(644,root,root,755)
138 %dir %{py_sitescriptdir}/bzrlib
139 %dir %{py_sitescriptdir}/bzrlib/plugins
140 %dir %{py_sitescriptdir}/bzrlib/plugins/%{name}
141 %{py_sitescriptdir}/bzrlib/plugins/%{name}/*.py[co]
142 %{py_sitescriptdir}/bzr_etckeeper-*.egg-info
144 %files -n bash-completion-%{name}
145 %defattr(644,root,root,755)
146 %{_sysconfdir}/bash_completion.d/%{name}