# vim: set sw=4 ts=4 et nu: # # spec file for package etckeeper # # Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2014 Mitsutoshi NAKANO # Copyright (c) 2013 Pascal Bleser # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # see https://en.opensuse.org/openSUSE:Packaging_Python#Compatibility_with_older_distributions %{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")} %{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")} Name: etckeeper Version: 1.18.5 Release: 0 Summary: Store /etc under Version Control License: GPL-2.0+ Group: System/Management #Source: http://ftp.debian.org/debian/pool/main/e/etckeeper/%%{name}_%%{version}.orig.tar.gz Source: https://github.com/joeyh/%{name}/archive/%{version}.tar.gz # PATCH-FIX-UPSTREAM etckeeper-avoid-packagelist.patch gh#joeyh/etckeeper#17 bkbin005@rinku.zaq.ne.jp -- add AVOID_PACKAGELIST Patch0: etckeeper-avoid-packagelist.patch Url: http://etckeeper.branchable.com/ BuildRoot: %{_tmppath}/%{name}-%{version}-build %define LPM rpm BuildRequires: make # added for bzr 2014-07-10 bkbin005@rinku.zaq.ne.jp BuildRequires: bzr BuildRequires: python-devel %if 0%{?suse_version} # modified 2014-07-09 bkbin005@rinku.zaq.ne.jp # Users should be able to select VCS. Recommends: git Recommends: %{name}-cron = %{version}-%{release} Recommends: %{name}-zypp-plugin = %{version}-%{release} BuildRequires: libzypp %define HPM zypper %else BuildRequires: yum Requires: %{name}-cron = %{version}-%{release} Requires: %{name}-yum-plugin = %{version}-%{release} %define HPM yum %endif %{?systemd_requires} %description The etckeeper program is a tool to let /etc be stored in a git, mercurial, bzr or darcs repository. It hooks into yum to automatically commit changes made to /etc during package upgrades. It tracks file metadata that version control systems do not normally support, but that is important for /etc, such as the permissions of /etc/shadow. It is quite modular and configurable, while also being simple to use if you understand the basics of working with version control. %package cron Summary: The etckeeper cron function Group: System/Management Requires: etckeeper = %{version}-%{release} Provides: etckeeper:%{_sysconfdir}/cron.daily/etckeeper %if 0%{?suse_version} Requires: cron %else Requires: crontabs %endif %description cron The etckeeper-cron calls etckeeper from cron. %if 0%{?suse_version} %package zypp-plugin Summary: The etckeeper integration function with ZYpp Group: System/Management Requires: etckeeper = %{version}-%{release} Requires: zypp-plugin-python BuildRequires: zypp-plugin-python Obsoletes: etckeeper-pkgmanager-collabo < %{version}-%{release} Provides: etckeeper-pkgmanager-collabo = %{version}-%{release} Provides: etckeeper:%{_prefix}/lib/zypp/plugins/commit/zypper-etckeeper.py %description zypp-plugin The etckeeper-zypp-plugin calls etckeeper from ZYpp. %else %package yum-plugin Summary: The etckeeper integration function with YUM Group: System/Management Requires: etckeeper = %{version}-%{release} Obsoletes: etckeeper-pkgmanager-collabo Provides: etckeeper-pkgmanager-collabo = %{version}-%{release} Provides: etckeeper:%{_sysconfdir}/yum/pluginconf.d/etckeeper.conf %description yum-plugin The etckeeper-zypp-plugin calls etckeeper from YUM. %endif %prep %setup -q %patch0 -p1 %__perl -pi -e ' s|^(\s*)(HIGHLEVEL_PACKAGE_MANAGER)=.+|$1$2=%{HPM}|; s|^(\s*)(LOWLEVEL_PACKAGE_MANAGER)=.+|$1$2=%{LPM}|; s|^(\s*)(VCS)=.+|$1$2=git|; ' ./etckeeper.conf # rpmlint find -type f -name ".gitignore" -delete # use %%{_unitdir} for rpm-based distros sed -i 's:systemddir=/lib/systemd/system:systemddir=%{_unitdir}:g' Makefile %build make %{?_smp_mflags} %install make \ DESTDIR="%{buildroot}" \ PYTHON_INSTALL_OPTS="--prefix=%{_prefix} --install-purelib=%{python_sitearch}" \ install install -D debian/cron.daily "%{buildroot}/etc/cron.daily/%{name}" mkdir %{buildroot}%{_sbindir} ln -s ../bin/%{name} %{buildroot}%{_sbindir}/%{name} ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rc%{name} %pre %service_add_pre etckeeper.service %preun %service_del_preun etckeeper.service %post %service_add_post etckeeper.service %postun %service_del_postun etckeeper.service %files %defattr(-,root,root) %doc GPL README.md doc %{_unitdir}/etckeeper* %{_bindir}/etckeeper %{_sbindir}/*etckeeper %dir %{_datadir}/bash-completion %dir %{_datadir}/bash-completion/completions %{_datadir}/bash-completion/completions/etckeeper %dir %{_sysconfdir}/etckeeper %{_sysconfdir}/etckeeper/daily %config(noreplace) %{_sysconfdir}/etckeeper/etckeeper.conf %dir %{_sysconfdir}/etckeeper/*.d %config %{_sysconfdir}/etckeeper/*.d/* %doc %{_mandir}/man8/etckeeper.8* %{python_sitearch}/bzrlib/plugins/%{name}/ %{python_sitearch}/bzr_%{name}-*.egg-info %files cron %defattr(-,root,root) %config(noreplace) %{_sysconfdir}/cron.daily/etckeeper %if 0%{?suse_version} %files zypp-plugin %defattr(-,root,root) %{_prefix}/lib/zypp/plugins/commit/zypper-etckeeper.py %else %files yum-plugin %defattr(-,root,root) %config(noreplace) %{_sysconfdir}/yum/pluginconf.d/etckeeper.conf %{_prefix}/lib/yum-plugins/etckeeper.* %endif %changelog