etckeeper/etckeeper.spec
Mitsutoshi NAKANO 16d8acb8f1 Accepting request 634898 from home:ecsos:Backup
- update to 1.18.8:
  * Work around git commit's lack of robustness, by providing
    reasonable default values for GIT_COMMITTER_EMAIL etc.
    This was already done as part of the su/sudo handling,
    and is now always done.
  * Don't hardcode the master branch when pushing to PUSH_REMOTE.
    Instead, let git push whatever branches it is configured to
    push to that remote.
- Drop 0001-Remove-env-from-shebang-in-zypper-plugin.patch because
  now in upstream.

OBS-URL: https://build.opensuse.org/request/show/634898
OBS-URL: https://build.opensuse.org/package/show/utilities/etckeeper?expand=0&rev=17
2018-09-15 11:37:37 +00:00

183 lines
5.9 KiB
RPMSpec

# vim: set sw=4 ts=4 et nu:
#
# spec file for package etckeeper
#
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2014 Mitsutoshi NAKANO <bkbin005@rinku.zaq.ne.jp>
# Copyright (c) 2013 Pascal Bleser <pascal.bleser@opensuse.org>
#
# 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.8
Release: 0
Summary: Store /etc under Version Control
License: GPL-2.0-or-later
Group: System/Management
Source: https://git.joeyh.name/index.cgi/etckeeper.git/snapshot/%{name}-%{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
Requires: python-base >= 2.7
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
rm -f ./doc/todo/.mdwn
# 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
%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
%config(noreplace) %{_sysconfdir}/cron.daily/etckeeper
%if 0%{?suse_version}
%files zypp-plugin
%{_prefix}/lib/zypp/plugins/commit/zypper-etckeeper.py
%else
%files yum-plugin
%config(noreplace) %{_sysconfdir}/yum/pluginconf.d/etckeeper.conf
%{_prefix}/lib/yum-plugins/etckeeper.*
%endif
%changelog