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

Reply via email to