Date: Monday, February 3, 2020 @ 19:54:43 Author: eworm Revision: 561967
upgpkg: etckeeper 1.18.14-2 switch optional dependency from bzr to breezy (and ditch python 2.x!) Added: etckeeper/trunk/0001-breezy.patch Modified: etckeeper/trunk/PKGBUILD -------------------+ 0001-breezy.patch | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++ PKGBUILD | 22 ++++++++++-------- 2 files changed, 75 insertions(+), 9 deletions(-) Added: 0001-breezy.patch =================================================================== --- 0001-breezy.patch (rev 0) +++ 0001-breezy.patch 2020-02-03 19:54:43 UTC (rev 561967) @@ -0,0 +1,62 @@ +diff --git a/Makefile b/Makefile +index 73d2411..7e545ba 100644 +--- a/Makefile ++++ b/Makefile +@@ -21,7 +21,7 @@ FAKEROOT := $(shell command -v fakeroot 2> /dev/null) + TESTDIR := $(shell mktemp -u -d) + + build: etckeeper.spec etckeeper.version +- -$(PYTHON) ./etckeeper-bzr/__init__.py build || echo "** bzr support not built" ++ -$(PYTHON) ./etckeeper-brz/__init__.py build || echo "** brz support not built" + -$(PYTHON) ./etckeeper-dnf/etckeeper.py build || echo "** DNF support not built" + + install: etckeeper.version +@@ -68,7 +68,7 @@ ifeq ($(HIGHLEVEL_PACKAGE_MANAGER),zypper) + mkdir -p $(DESTDIR)$(prefix)/lib/zypp/plugins/commit + $(INSTALL) zypper-etckeeper.py $(DESTDIR)$(prefix)/lib/zypp/plugins/commit/zypper-etckeeper.py + endif +- -$(PYTHON) ./etckeeper-bzr/__init__.py install --root=$(DESTDIR) ${PYTHON_INSTALL_OPTS} || echo "** bzr support not installed" ++ -$(PYTHON) ./etckeeper-brz/__init__.py install --root=$(DESTDIR) ${PYTHON_INSTALL_OPTS} || echo "** brz support not installed" + echo "** installation successful" + + clean: etckeeper.spec etckeeper.version +diff --git a/etckeeper-brz/__init__.py b/etckeeper-brz/__init__.py +new file mode 100644 +index 0000000..5f04ba6 +--- /dev/null ++++ b/etckeeper-brz/__init__.py +@@ -0,0 +1,34 @@ ++# ++# Breezy plugin that runs etckeeper pre-commit when necessary ++ ++"""Runs etckeeper pre-commit when necessary.""" ++ ++from breezy.errors import BzrError ++import os ++ ++def etckeeper_startcommit_hook(tree): ++ abspath = getattr(tree, "abspath", None) ++ if abspath is None or not os.path.exists(abspath(".etckeeper")): ++ # Only run the commit hook when this is an etckeeper branch ++ return ++ import subprocess ++ ret = subprocess.call(["etckeeper", "pre-commit", abspath(".")]) ++ if ret != 0: ++ raise BzrError("etckeeper pre-commit failed") ++ ++try: ++ from breezy.hooks import install_lazy_named_hook ++except ImportError: ++ from breezy.mutabletree import MutableTree ++ MutableTree.hooks.install_named_hook('start_commit', ++ etckeeper_startcommit_hook, 'etckeeper') ++else: ++ install_lazy_named_hook( ++ "breezy.mutabletree", "MutableTree.hooks", ++ 'start_commit', etckeeper_startcommit_hook, 'etckeeper') ++ ++if __name__ == "__main__": ++ from distutils.core import setup ++ setup(name="brz-etckeeper", ++ packages=["breezy.plugins.etckeeper"], ++ package_dir={"breezy.plugins.etckeeper":"etckeeper-brz"}) Modified: PKGBUILD =================================================================== --- PKGBUILD 2020-02-03 19:18:27 UTC (rev 561966) +++ PKGBUILD 2020-02-03 19:54:43 UTC (rev 561967) @@ -6,28 +6,32 @@ pkgname=etckeeper _tag='9906edb738bf93494a872d018f77f7e0c4f22ea4' # git rev-parse ${pkgver} pkgver=1.18.14 -pkgrel=1 +pkgrel=2 pkgdesc='Collection of tools to let /etc be stored in a git, hg or bzr repository' arch=(any) url='https://etckeeper.branchable.com/' license=(GPL2) depends=(git diffutils inetutils sed) -makedepends=(python2 mercurial bzr) +makedepends=(mercurial breezy) optdepends=('mercurial: use mercurial for version control' - 'bzr: use bazaar for version control' + 'breezy: use bazaar for version control' 'which: etckeeper vcs <subcommand> support') backup=('etc/etckeeper/etckeeper.conf') -source=("git+https://git.kitenet.net/git/etckeeper.git#tag=${_tag}?signed") -sha256sums=('SKIP') +source=("git+https://git.kitenet.net/git/etckeeper.git#tag=${_tag}?signed" + '0001-breezy.patch') +sha256sums=('SKIP' + 'fbfce54167828db00a2dcec02cf75c5df32302fae5411fd68dfb1a521675be6c') validpgpkeys=('E85A5F63B31D24C1EBF0D81CC910D9222512E3C7') # Joey Hess <jo...@joeyh.name> +prepare() { + cd ${pkgname} + + patch -Np1 < ../0001-breezy.patch +} + build() { cd ${pkgname} - # Fix python name - sed -i '/^PYTHON=/c PYTHON=python2' Makefile - sed -i '1s/python/python2/' zypper-etckeeper.py - # We want pacman :D sed -i -e "/^LOWLEVEL_PACKAGE_MANAGER/c LOWLEVEL_PACKAGE_MANAGER=pacman" \ -e "/^HIGHLEVEL_PACKAGE_MANAGER/c HIGHLEVEL_PACKAGE_MANAGER=pacman" etckeeper.conf