This patch ports the Bazaar plugin to Breezy (which supports python 3)
and updates the dependencies accordingly.
--
Jelmer Vernooij <[email protected]>
PGP Key: https://www.jelmer.uk/D729A457.asc
diff -uNr etckeeper-1.18.10/debian/control etckeeper-1.18.10-brz/debian/control
--- etckeeper-1.18.10/debian/control 2019-01-16 18:51:37.000000000 +0000
+++ etckeeper-1.18.10-brz/debian/control 2019-09-23 20:37:45.897443278 +0000
@@ -3,7 +3,7 @@
Priority: optional
Build-Depends: debhelper-compat (= 11),
bats,
- bzr (>= 1.5~),
+ brz,
dh-python,
dpkg-dev (>= 1.9.0),
fakeroot,
@@ -17,15 +17,14 @@
Package: etckeeper
Architecture: all
-Depends: git (>= 1:1.7) | mercurial | bzr (>= 1.5~) | darcs,
+Depends: git (>= 1:1.7) | mercurial | brz | darcs,
${misc:Depends},
${python:Depends},
Recommends: cron-daemon
Suggests: sudo (>= 1.7.4p4)
-Conflicts: bzr (<< 1.5~)
-Description: store /etc in git, mercurial, bzr or darcs
+Description: store /etc in git, mercurial, bazaar or darcs
The etckeeper program is a tool to let /etc be stored in a git, mercurial,
- bzr or darcs repository. It hooks into APT to automatically commit changes
+ bazaar or darcs repository. It hooks into APT 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's quite modular and configurable, while
diff -uNr etckeeper-1.18.10/etckeeper-brz/__init__.py etckeeper-1.18.10-brz/etckeeper-brz/__init__.py
--- etckeeper-1.18.10/etckeeper-brz/__init__.py 1970-01-01 00:00:00.000000000 +0000
+++ etckeeper-1.18.10-brz/etckeeper-brz/__init__.py 2019-09-23 20:36:36.461049484 +0000
@@ -0,0 +1,31 @@
+#
+# Bazaar plugin that runs etckeeper pre-commit when necessary
+
+"""Runs etckeeper pre-commit when necessary."""
+
+from breezy.errors import BzrError
+from breezy.hooks import install_lazy_named_hook
+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")
+
+
+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"})
diff -uNr etckeeper-1.18.10/etckeeper-bzr/__init__.py etckeeper-1.18.10-brz/etckeeper-bzr/__init__.py
--- etckeeper-1.18.10/etckeeper-bzr/__init__.py 2018-12-23 17:06:45.000000000 +0000
+++ etckeeper-1.18.10-brz/etckeeper-bzr/__init__.py 1970-01-01 00:00:00.000000000 +0000
@@ -1,34 +0,0 @@
-#
-# Bazaar plugin that runs etckeeper pre-commit when necessary
-
-"""Runs etckeeper pre-commit when necessary."""
-
-from bzrlib.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 bzrlib.hooks import install_lazy_named_hook
-except ImportError:
- from bzrlib.mutabletree import MutableTree
- MutableTree.hooks.install_named_hook('start_commit',
- etckeeper_startcommit_hook, 'etckeeper')
-else:
- install_lazy_named_hook(
- "bzrlib.mutabletree", "MutableTree.hooks",
- 'start_commit', etckeeper_startcommit_hook, 'etckeeper')
-
-if __name__ == "__main__":
- from distutils.core import setup
- setup(name="bzr-etckeeper",
- packages=["bzrlib.plugins.etckeeper"],
- package_dir={"bzrlib.plugins.etckeeper":"etckeeper-bzr"})
diff -uNr etckeeper-1.18.10/Makefile etckeeper-1.18.10-brz/Makefile
--- etckeeper-1.18.10/Makefile 2018-12-23 17:06:45.000000000 +0000
+++ etckeeper-1.18.10-brz/Makefile 2019-09-23 20:37:04.809210271 +0000
@@ -20,7 +20,7 @@
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
@@ -65,7 +65,7 @@
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