]> git.pld-linux.org Git - packages/etckeeper.git/blame - etckeeper.spec
ac compat
[packages/etckeeper.git] / etckeeper.spec
CommitLineData
04edd612 1# TODO:
bc3731ae 2# - Subpackages for yum and apt plugins
04edd612 3# - Subpackages for backends (git, etc)
b11a8e3f 4Summary: Store /etc in a SCM system (git, mercurial, bzr or darcs)
9c5d38f1 5Name: etckeeper
97da4513 6Version: 1.1
b5058f0a 7Release: 0.21
1703fc6b 8License: GPL v2+
9c5d38f1
ER
9Group: Applications/System
10Source0: http://ftp.debian.org/debian/pool/main/e/etckeeper/%{name}_%{version}.tar.gz
97da4513 11# Source0-md5: 280f75205940f99f8f0295bb8ec3598f
1703fc6b 12Source1: poldek.sh
26b55a21 13Patch0: type-mksh.patch
9c5d38f1 14URL: http://kitenet.net/~joey/code/etckeeper/
4e56ce8f 15BuildRequires: bzr
9c5d38f1
ER
16BuildRequires: rpm-pythonprov
17BuildRequires: rpmbuild(macros) >= 1.219
18BuildRequires: sed >= 4.0
b18058b3 19Requires: findutils
26b55a21 20Requires: mktemp
434b24b3 21Requires: perl-base
1703fc6b 22Requires: sed >= 4.0
b5058f0a
ER
23%if "%{pld_release}" != "ac"
24Requires: poldek >= 0.30.0-1.rc7.4
25%endif
d19ef4bd 26Suggests: %{name}-bash-completions
b11a8e3f 27Suggests: %{name}-bzr
d19ef4bd 28Suggests: git-core >= 1.6.1-1
9c5d38f1 29Obsoletes: yum-etckeeper
b5058f0a 30%if "%{pld_release}" != "ac"
9c5d38f1 31BuildArch: noarch
b5058f0a 32%endif
9c5d38f1
ER
33BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
34
b5058f0a 35%if "%{pld_release}" != "ac"
1703fc6b 36%define _poldeklibdir %{_prefix}/lib/poldek
b5058f0a
ER
37%else
38%define _poldeklibdir %{_libdir}/poldek
39%endif
1703fc6b 40
9c5d38f1 41%description
b11a8e3f 42The etckeeper program is a tool to let /etc be stored in a git,
9c5d38f1
ER
43mercurial, bzr or darcs repository. It hooks into APT to automatically
44commit changes made to /etc during package upgrades. It tracks file
45metadata that version control systems do not normally support, but
46that is important for /etc, such as the permissions of /etc/shadow.
47It's quite modular and configurable, while also being simple to use if
48you understand the basics of working with version control.
49
b11a8e3f
ER
50The default backend is git, if want to use a another backend please
51install the appropriate tool (mercurial, darcs or bzr). To use bzr as
52backend, please also install the %{name}-bzr package.
53
54To start using the package please read
55%{_docdir}/%{name}-%{version}/README
56
57%package bzr
58Summary: Support for bzr with etckeeper
59Group: Applications/System
60Requires: %{name} = %{version}-%{release}
61Requires: bzr
62
63%description bzr
64This package provides a bzr backend for etckeeper, if you want to use
65etckeeper with bzr backend, install this package.
66
04edd612
ER
67%package -n bash-completion-%{name}
68Summary: Bash completion routines for %{name}
d19ef4bd
CM
69Group: Applications/Shells
70Requires: %{name} = %{version}-%{release}
71Requires: bash-completion
04edd612 72Obsoletes: etckeeper-bash-completions
d19ef4bd 73
04edd612
ER
74%description -n bash-completion-%{name}
75Bash completion routines for etckeeper.
d19ef4bd 76
9c5d38f1 77%prep
fe7cbb49
ER
78%setup -qc
79mv %{name} .tmp
80mv .tmp/* .
26b55a21 81%patch0 -p1
9c5d38f1 82%{__sed} -i -e '
bc3731ae 83 s|HIGHLEVEL_PACKAGE_MANAGER=apt|HIGHLEVEL_PACKAGE_MANAGER=poldek|;
9c5d38f1
ER
84 s|LOWLEVEL_PACKAGE_MANAGER=dpkg|LOWLEVEL_PACKAGE_MANAGER=rpm|;
85' %{name}.conf
86
6be06498
ER
87# cleanup backups after patching
88find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
89
9c5d38f1
ER
90%build
91%{__make}
92
93%install
94rm -rf $RPM_BUILD_ROOT
1703fc6b 95install -d $RPM_BUILD_ROOT{/etc/cron.daily,%{_localstatedir}/cache/%{name},%{_poldeklibdir}}
9c5d38f1 96%{__make} install \
04b7dd5d
ER
97 LOWLEVEL_PACKAGE_MANAGER=rpm \
98 HIGHLEVEL_PACKAGE_MANAGER=poldek \
b11a8e3f 99 INSTALL="install -p" \
9c5d38f1
ER
100 DESTDIR=$RPM_BUILD_ROOT
101
102install -p debian/cron.daily $RPM_BUILD_ROOT/etc/cron.daily/%{name}
1703fc6b 103install -p %{SOURCE1} $RPM_BUILD_ROOT%{_poldeklibdir}/%{name}.sh
9c5d38f1
ER
104
105%py_ocomp $RPM_BUILD_ROOT%{py_sitescriptdir}
106%py_comp $RPM_BUILD_ROOT%{py_sitescriptdir}
107%py_postclean
108
109%clean
110rm -rf $RPM_BUILD_ROOT
111
b11a8e3f 112%post
1703fc6b 113if [ $1 -gt 1 ]; then
b11a8e3f
ER
114 %{_bindir}/%{name} update-ignore
115fi
1703fc6b
ER
116
117%triggerin -- poldek
118# add our hook as "pm command"
119if [ -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
121fi
122
123%triggerun -- poldek
124# remove our hook as "pm command"
125if [ "$1" -eq 0 ] && [ -f /etc/poldek/poldek.conf ]; then
126 %{__sed} -i -re 's,^pm command = %{_poldeklibdir}/%{name}.sh,#&,' /etc/poldek/poldek.conf
127fi
b11a8e3f 128
9c5d38f1
ER
129%files
130%defattr(644,root,root,755)
b11a8e3f 131%doc INSTALL TODO README
9c5d38f1 132%dir %{_sysconfdir}/%{name}
9c5d38f1 133%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/%{name}.conf
bc3731ae 134%dir %{_sysconfdir}/%{name}/*.d
8a60c6ac
CM
135%attr(755,root,root) %{_sysconfdir}/%{name}/*.d/[0-9]*
136%{_sysconfdir}/%{name}/*.d/README
9c5d38f1
ER
137
138%attr(755,root,root) /etc/cron.daily/%{name}
b11a8e3f 139%attr(755,root,root) %{_bindir}/%{name}
1703fc6b 140%attr(755,root,root) %{_poldeklibdir}/%{name}.sh
b11a8e3f 141%{_mandir}/man8/%{name}.8*
9c5d38f1 142
04b7dd5d
ER
143%dir %attr(750,root,root) %{_localstatedir}/cache/%{name}
144
b11a8e3f
ER
145%files bzr
146%defattr(644,root,root,755)
bc3731ae
CM
147%dir %{py_sitescriptdir}/bzrlib
148%dir %{py_sitescriptdir}/bzrlib/plugins
149%dir %{py_sitescriptdir}/bzrlib/plugins/%{name}
b11a8e3f 150%{py_sitescriptdir}/bzrlib/plugins/%{name}/*.py[co]
b5058f0a 151%if "%{pld_release}" != "ac"
b11a8e3f 152%{py_sitescriptdir}/bzr_etckeeper-*.egg-info
b5058f0a 153%endif
d19ef4bd 154
04edd612 155%files -n bash-completion-%{name}
d19ef4bd
CM
156%defattr(644,root,root,755)
157%{_sysconfdir}/bash_completion.d/%{name}
This page took 0.106978 seconds and 4 git commands to generate.