Compare commits

...
Sign in to create a new pull request.

19 commits

Author SHA1 Message Date
Python Maint
c99b0692f0 Rebuilt for Python 3.14.0rc3 bytecode 2025-09-19 12:15:49 +02:00
Python Maint
1753022904 Rebuilt for Python 3.14.0rc2 bytecode 2025-08-15 12:46:18 +02:00
Fedora Release Engineering
308dfc9c2a Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-23 20:09:54 +00:00
Thomas Moschny
fa46cc7b0c Fix conditional. 2025-07-15 12:50:14 +02:00
Thomas Moschny
5c5e2591b2 Update action file to produce expected action output. 2025-07-15 11:27:31 +02:00
Thomas Moschny
b0bd45069e Add missing source file. 2025-07-14 22:41:21 +02:00
Thomas Moschny
cb78c6e477 Add support for DNF5 (rhbz#2326283). 2025-07-14 22:29:52 +02:00
Thomas Moschny
e0589d4bdf Update for current Python packaging guidelines (rhbz#2377253). 2025-07-14 22:29:24 +02:00
Thomas Moschny
9bb9852468 Remove all EL7-related conditionals and parts. 2025-07-14 22:29:17 +02:00
Thomas Moschny
79b07d68a8 Update to 1.18.22. 2025-06-29 20:29:30 +02:00
Python Maint
4958724e4d Rebuilt for Python 3.14 2025-06-03 15:25:40 +02:00
Fedora Release Engineering
fde6b6dbd9 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-16 17:32:22 +00:00
Miroslav Suchý
922d9a0613 convert GPLv2+ license to SPDX
This is part of https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_4
2024-07-25 23:42:02 +02:00
Fedora Release Engineering
c40275ea18 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-17 22:29:26 +00:00
Python Maint
4482a1283a Rebuilt for Python 3.13 2024-06-07 22:43:55 +02:00
Thomas Moschny
589409b24c Merged PR#6. 2024-05-01 20:59:58 +02:00
Evan Goode
f01b9f8030 Depend on python3-dnf, not dnf
DNF is being replaced by a new package manager, DNF 5, in Fedora 39+.
The `dnf` package will soon be obsoleted by the `dnf5` package. The old
DNF 4 library functionality will still be (and always has been)
available under the `python3-dnf` package; the `dnf` package only
provides `/usr/bin/dnf`.

Eventually, etckeeper should switch to using libdnf5.
2024-05-01 18:23:43 +00:00
Thomas Moschny
d1ea1e7de6 Add patch for rhbz#2203408 from pr#7. 2024-05-01 19:37:41 +02:00
Thomas Moschny
7daca89518 Update to 1.18.21. 2024-05-01 19:02:47 +02:00
4 changed files with 129 additions and 117 deletions

View file

@ -0,0 +1,11 @@
--- a/post-install.d/50vcs-commit 2023-12-05 10:45:18.967497833 +0100
+++ b/post-install.d/50vcs-commit 2023-12-05 10:46:00.848138455 +0100
@@ -6,7 +6,7 @@
# Parent process is etckeeper
# (Only procps ps is currently supported, others will fail,
# so this may end up empty.)
-ETCKEEPER_PID=$( ps --no-headers -o ppid "${PPID}" 2>/dev/null | sed 's/^ *//' )
+ETCKEEPER_PID=$( ps --no-headers -o ppid "$$" 2>/dev/null | sed 's/^ *//' )
# Find the parent of etckeeper and get the command line of the process
if ! [ -z "${ETCKEEPER_PID}" ]; then

4
etckeeper.actions Normal file
View file

@ -0,0 +1,4 @@
# to be placed in /etc/dnf/libdnf5-plugins/actions.d
# requires dnf5 5.2.11.0 or later
pre_base_setup:::raise_error=1:/usr/bin/sh -c /usr/bin/etckeeper\ pre-install\ \|\ /usr/bin/sed\ -e\ 's/^/log.INFO=/'
post_transaction::::/usr/bin/sh -c /usr/bin/etckeeper\ post-install\ \|\ /usr/bin/sed\ -e\ 's/^/log.INFO=/'

View file

@ -1,30 +1,21 @@
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}}
%if 0%{?rhel} && 0%{?rhel} <= 7
%global with_yum 1
%global with_bzr 1
%global bazaar bzr
%endif
%if 0%{?fedora}
%global with_brz 1
%global bazaar brz
%endif
%if 0%{?fedora} || 0%{?rhel} >= 8
%global dnf_is_mandatory 1
%global dnf_uses_python3 1
%global with_dnf5 1
%endif
Name: etckeeper
Version: 1.18.20
Release: 5%{?dist}
Version: 1.18.22
Release: 6%{?dist}
Summary: Store /etc in a SCM system (git, mercurial, bzr or darcs)
License: GPLv2+
# Automatically converted from old format: GPLv2+ - review is highly recommended.
License: GPL-2.0-or-later
URL: https://etckeeper.branchable.com/
Source0: https://git.joeyh.name/index.cgi/etckeeper.git/snapshot/%{name}-%{version}.tar.gz
Source1: README.fedora
Source2: cron.daily
Source3: etckeeper.actions
# build plugins separately
Patch0: etckeeper-makefile-remove-python-plugins.patch
# see rhbz#1460461
@ -36,7 +27,10 @@ Patch3: etckeeper-add-breezy-python3-plugin.patch
# see rhbz#1762693 and https://github.com/ansible/ansible/issues/54949
# see also rhbz#1917461
Patch4: etckeeper-1.18.18-fix-output-for-ansible.patch
# see rhbz#2203408 and pr#7
Patch5: etckeeper-1.18.21-bz2203408.patch
BuildArch: noarch
BuildRequires: make
BuildRequires: %{_bindir}/markdown_py
Requires: git-core
Requires: perl-interpreter
@ -44,9 +38,10 @@ Requires: crontabs
Requires: findutils
Requires: hostname
Requires: which
%if 0%{?dnf_is_mandatory}
Requires: %{name}-dnf = %{version}-%{release}
%endif # dnf_is_mandatory
%if 0%{?with_dnf5}
Requires: %{name}-dnf5 = %{version}-%{release}
%endif # with_dnf5
BuildRequires: systemd
Requires(post): systemd
Requires(preun): systemd
@ -63,30 +58,15 @@ understand the basics of working with version control.
The default backend is git, if want to use a another backend please
install the appropriate tool (mercurial, darcs or bzr).
%{?bazaar: To use bazaar/breezy as backend, please also install the %{name}-%{bazaar} package.}
%{?with_brz: To use breezy as bzr backend, please also install the %{name}-brz package.}
To start using the package please read %{_pkgdocdir}/README.
%if 0%{?with_bzr}
%package bzr
Summary: Support for bzr with etckeeper
BuildRequires: python2-devel
BuildRequires: bzr
Requires: %{name} = %{version}-%{release}
Requires: bzr
%description bzr
This package provides a bzr backend for etckeeper, if you want to use
etckeeper with bzr backend, install this package.
%endif # with_bzr
%if 0%{?with_brz}
%package brz
Summary: Support for bzr with etckeeper (via breezy)
BuildRequires: python3-devel
BuildRequires: (python3-setuptools if python3-devel >= 3.12)
BuildRequires: brz
Requires: %{name} = %{version}-%{release}
Requires: brz
@ -99,17 +79,11 @@ etckeeper with (bzr) bazaar repositories, install this package.
%package dnf
Summary: DNF plugin for etckeeper support
%if 0%{?dnf_uses_python3}
BuildRequires: python3-devel
BuildRequires: (python3-setuptools if python3-devel >= 3.12)
%else
BuildRequires: python2-devel
%endif # dnf_uses_python3
BuildRequires: dnf
BuildRequires: python3-dnf
Requires: python3-dnf
BuildRequires: dnf-plugins-core
BuildRequires: make
Requires: %{name} = %{version}-%{release}
Requires: dnf
Requires: dnf-plugins-core
%description dnf
@ -117,15 +91,22 @@ This package provides a DNF plugin for etckeeper. If you want to use
etckeeper with DNF, install this package.
%if 0%{?with_dnf5}
%package dnf5
Summary: DNF5 plugin for etckeeper support
Requires: %{name} = %{version}-%{release}
Requires: libdnf5-plugin-actions >= 5.2.11.0
Requires: sed
%description dnf5
This package provides a DNF5 plugin for etckeeper. If you want to use
etckeeper with DNF5, install this package.
%endif # with_dnf5
%prep
%autosetup -p1
%if 0%{?with_yum}
# we set yum here, so the yum plugin gets built, and change that to
# dnf later, if needed
sed -e 's|HIGHLEVEL_PACKAGE_MANAGER=.*|HIGHLEVEL_PACKAGE_MANAGER=yum|' \
%else
sed -e 's|HIGHLEVEL_PACKAGE_MANAGER=.*|HIGHLEVEL_PACKAGE_MANAGER=dnf|' \
%endif # with_yum
-e 's|LOWLEVEL_PACKAGE_MANAGER=.*|LOWLEVEL_PACKAGE_MANAGER=rpm|' \
-i etckeeper.conf
sed -e 's|^prefix=.*|prefix=%{_prefix}|' \
@ -139,37 +120,41 @@ sed -e 's|^prefix=.*|prefix=%{_prefix}|' \
-i Makefile
# move each plugin in its own subdirectory, so each has its own build/
# directory
mkdir bzr-plugin ; mv etckeeper-bzr bzr-plugin
mkdir brz-plugin ; mv etckeeper-brz brz-plugin
mkdir dnf-plugin ; mv etckeeper-dnf dnf-plugin
mkdir brz-plugin
mv etckeeper-brz brz-plugin
ln -snf etckeeper-brz/__init__.py brz-plugin/setup.py
mkdir dnf-plugin
mv etckeeper-dnf dnf-plugin
ln -snf etckeeper-dnf/etckeeper.py dnf-plugin/setup.py
cp -av %{SOURCE1} .
%generate_buildrequires
%if 0%{?with_brz}
cd brz-plugin
%pyproject_buildrequires
cd ..
%endif # with_brz
cd dnf-plugin
%pyproject_buildrequires
cd ..
%build
%make_build
%if 0%{?with_bzr}
pushd bzr-plugin
%define py_setup etckeeper-bzr/__init__.py
%py2_build
popd
%endif # with_bzr
%if 0%{?with_brz}
pushd brz-plugin
%define py_setup etckeeper-brz/__init__.py
%py3_build
popd
cd brz-plugin
%pyproject_wheel
cd ..
%endif # with_brz
pushd dnf-plugin
%define py_setup etckeeper-dnf/etckeeper.py build
%if 0%{?dnf_uses_python3}
%py3_build
%else
%py2_build
%endif # dnf_uses_python3
popd
cd dnf-plugin
%pyproject_wheel
cd ..
markdown_py -f README.html README.md
@ -177,37 +162,23 @@ markdown_py -f README.html README.md
%install
%make_install
%if 0%{?with_bzr}
pushd bzr-plugin
%define py_setup etckeeper-bzr/__init__.py
%py2_install
popd
%endif # with_bzr
%if 0%{?with_brz}
pushd brz-plugin
%define py_setup etckeeper-brz/__init__.py
%py3_install
popd
cd brz-plugin
%pyproject_install
cd ..
%endif # with_brz
pushd dnf-plugin
%define py_setup etckeeper-dnf/etckeeper.py build
%if 0%{?dnf_uses_python3}
%py3_install
%else
%py2_install
%endif # dnf_uses_python3
popd
%if 0%{?dnf_is_mandatory}
sed -e 's|HIGHLEVEL_PACKAGE_MANAGER=.*|HIGHLEVEL_PACKAGE_MANAGER=dnf|' \
-i %{buildroot}%{_sysconfdir}/%{name}/%{name}.conf
%endif # dnf_is_mandatory
cd dnf-plugin
%pyproject_install
cd ..
install -D -p %{SOURCE2} %{buildroot}%{_sysconfdir}/cron.daily/%{name}
install -d %{buildroot}%{_localstatedir}/cache/%{name}
%if 0%{?with_dnf5}
install -D -p %{SOURCE3} %{buildroot}%{_sysconfdir}/dnf/libdnf5-plugins/actions.d/%{name}.actions
%endif # with_dnf5
%post
if [ $1 -gt 1 ] ; then
@ -243,25 +214,11 @@ fi
%dir %{_datadir}/zsh
%dir %{_datadir}/zsh/vendor-completions
%{_datadir}/zsh/vendor-completions/_%{name}
%if 0%{?with_yum}
%dir %{_prefix}/lib/yum-plugins
%{_prefix}/lib/yum-plugins/%{name}.*
%dir %{_sysconfdir}/yum/pluginconf.d
%config(noreplace) %{_sysconfdir}/yum/pluginconf.d/%{name}.conf
%endif # with_yum
%{_localstatedir}/cache/%{name}
%{_unitdir}/%{name}.service
%{_unitdir}/%{name}.timer
%if 0%{?with_bzr}
%files bzr
%{python2_sitelib}/bzrlib/plugins/%{name}
# exclude egg-info dir, doesn't contain meaningful information
%exclude %{python2_sitelib}/bzr_%{name}-*.egg-info
%endif # with_bzr
%if 0%{?with_brz}
%files brz
# co-own the plugins directories
@ -270,27 +227,67 @@ fi
%dir %{python3_sitelib}/breezy/plugins/
%{python3_sitelib}/breezy/plugins/%{name}/
# exclude egg-info dir, doesn't contain meaningful information
%exclude %{python3_sitelib}/brz_%{name}-*.egg-info
%exclude %{python3_sitelib}/brz_%{name}-*.dist-info
%endif # with_brz
%files dnf
%if 0%{?dnf_uses_python3}
%{python3_sitelib}/dnf-plugins/%{name}.py
%exclude %{python3_sitelib}/dnf-plugins/__init__.py
%{python3_sitelib}/dnf-plugins/__pycache__/%{name}.*
%exclude %{python3_sitelib}/dnf-plugins/__pycache__/__init__.*
# exclude egg-info dir, doesn't contain meaningful information
%exclude %{python3_sitelib}/dnf_%{name}-*.egg-info
%else
%{python2_sitelib}/dnf-plugins/%{name}.py*
%exclude %{python2_sitelib}/dnf-plugins/__init__.py*
# exclude egg-info dir, doesn't contain meaningful information
%exclude %{python2_sitelib}/dnf_%{name}-*.egg-info
%endif # dnf_uses_python3
%exclude %{python3_sitelib}/dnf_%{name}-*.dist-info
%if 0%{?with_dnf5}
%files dnf5
%{_sysconfdir}/dnf/libdnf5-plugins/actions.d/%{name}.actions
%endif # with_dnf5
%changelog
* Fri Sep 19 2025 Python Maint <python-maint@redhat.com> - 1.18.22-6
- Rebuilt for Python 3.14.0rc3 bytecode
* Fri Aug 15 2025 Python Maint <python-maint@redhat.com> - 1.18.22-5
- Rebuilt for Python 3.14.0rc2 bytecode
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.18.22-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Tue Jul 15 2025 Thomas Moschny <thomas.moschny@gmx.de> - 1.18.22-3
- Fix conditional.
* Tue Jul 15 2025 Thomas Moschny <thomas.moschny@gmx.de> - 1.18.22-2
- Update action file to produce expected action output.
* Mon Jul 14 2025 Thomas Moschny <thomas.moschny@gmx.de> - 1.18.22-1
- Update to 1.18.22.
- Remove all EL7-related conditionals and parts.
- Update for current Python packaging guidelines (rhbz#2377253).
- Add support for DNF5 (rhbz#2326283).
* Tue Jun 03 2025 Python Maint <python-maint@redhat.com> - 1.18.21-6
- Rebuilt for Python 3.14
* Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.18.21-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Thu Jul 25 2024 Miroslav Suchý <msuchy@redhat.com> - 1.18.21-4
- convert license to SPDX
* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.18.21-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Fri Jun 07 2024 Python Maint <python-maint@redhat.com> - 1.18.21-2
- Rebuilt for Python 3.13
* Wed May 1 2024 Thomas Moschny <thomas.moschny@gmx.de> - 1.18.21-1
- Update to 1.18.21.
- Add patch for rhbz#2203408 from pr#7.
- Depend on python3-dnf, not dnf (pr#6).
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.18.20-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild

View file

@ -1 +1 @@
SHA512 (etckeeper-1.18.20.tar.gz) = b190da11ac589d6240c8293d961b75efe01e835091f9b5fba84c3c9062ffb4cb1dc52c9ea2bdf881f021c7d5584c4487d3c60121fdcb0a2a35e349c8321422c6
SHA512 (etckeeper-1.18.22.tar.gz) = e35ab90862c1f4426c17aec4d9ffe5975c652b290645ac333e9f27fcc157b9eba5e0efe73553a400464102c939f085f4e08f4b04564a015ad6941b1d50dbbe76