Package: bind9
Version: 1:9.16.13-1
Tags: patch

Hi,

in order to transparently use host/dig from src:bind9 or src:knot
packages, it would be nice if you could add update-alternative support
for those.

I've attached packages that we're using in our Debian derrivative.

Regards,
Daniel
>From 02aabd9d59bbdd51f211fc652500114228f23433 Mon Sep 17 00:00:00 2001
From: Daniel Baumann <daniel.baum...@progress-linux.org>
Date: Tue, 27 Apr 2021 23:24:06 +0200
Subject: [PATCH 05/22] Using update-alternatives to handle /usr/bin/dig.

Signed-off-by: Daniel Baumann <daniel.baum...@progress-linux.org>
---
 debian/dnsutils.postinst | 25 +++++++++++++++++++++++++
 debian/dnsutils.prerm    | 23 +++++++++++++++++++++++
 debian/rules             |  7 +++++++
 3 files changed, 55 insertions(+)
 create mode 100644 debian/dnsutils.postinst
 create mode 100644 debian/dnsutils.prerm

diff --git a/debian/dnsutils.postinst b/debian/dnsutils.postinst
new file mode 100644
index 0000000..76a6234
--- /dev/null
+++ b/debian/dnsutils.postinst
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+set -e
+
+case "${1}" in
+	configure)
+		# update-alternatives: dig
+		update-alternatives --quiet \
+			--install /usr/bin/dig dig /usr/bin/dig.bind9 10 \
+			--slave /usr/share/man/man1/dig.1.gz dig.1.gz /usr/share/man/man1/dig.bind9.1.gz
+		;;
+
+	abort-upgrade|abort-remove|abort-deconfigure)
+
+		;;
+
+	*)
+		echo "postinst called with unknown argument \`${1}'" >&2
+		exit 1
+		;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/dnsutils.prerm b/debian/dnsutils.prerm
new file mode 100644
index 0000000..07589cc
--- /dev/null
+++ b/debian/dnsutils.prerm
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+set -e
+
+case "${1}" in
+	remove|upgrade|deconfigure)
+		# update-alternatives: dig
+		update-alternatives --quiet --remove dig /usr/bin/dig.bind9
+		;;
+
+	failed-upgrade)
+
+		;;
+
+	*)
+		echo "prerm called with unknown argument \`${1}'" >&2
+		exit 1
+		;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/rules b/debian/rules
index 14071f2..b70f9ed 100755
--- a/debian/rules
+++ b/debian/rules
@@ -98,6 +98,13 @@ override_dh_install:
 	# Install apparmor profile
 	dh_apparmor -pbind9 --profile-name=usr.sbin.named
 
+	# update-alternatives: dig
+	if [ -e debian/dnsutils/usr/bin/dig ]; \
+	then \
+		mv debian/dnsutils/usr/bin/dig debian/dnsutils/usr/bin/dig.bind9; \
+		mv debian/dnsutils/usr/share/man/man1/dig.1 debian/dnsutils/usr/share/man/man1/dig.bind9.1; \
+	fi
+
 override_dh_missing:
 	dh_missing --exclude=.la --exclude=lwresd --exclude=__pycache_ --fail-missing
 
-- 
2.30.2

>From 1512957f464f2e7f3cf7bbec3db917ea5f0e83e8 Mon Sep 17 00:00:00 2001
From: Daniel Baumann <daniel.baum...@progress-linux.org>
Date: Tue, 27 Apr 2021 23:24:06 +0200
Subject: [PATCH 06/22] Using update-alternatives to handle /usr/bin/host.

Signed-off-by: Daniel Baumann <daniel.baum...@progress-linux.org>
---
 debian/bind9-host.postinst | 25 +++++++++++++++++++++++++
 debian/bind9-host.prerm    | 23 +++++++++++++++++++++++
 debian/rules               |  7 +++++++
 3 files changed, 55 insertions(+)
 create mode 100644 debian/bind9-host.postinst
 create mode 100644 debian/bind9-host.prerm

diff --git a/debian/bind9-host.postinst b/debian/bind9-host.postinst
new file mode 100644
index 0000000..3a60813
--- /dev/null
+++ b/debian/bind9-host.postinst
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+set -e
+
+case "${1}" in
+	configure)
+		# update-alternatives: host
+		update-alternatives --quiet \
+			--install /usr/bin/host host /usr/bin/host.bind9 10 \
+			--slave /usr/share/man/man1/host.1.gz host.1.gz /usr/share/man/man1/host.bind9.1.gz
+		;;
+
+	abort-upgrade|abort-remove|abort-deconfigure)
+
+		;;
+
+	*)
+		echo "postinst called with unknown argument \`${1}'" >&2
+		exit 1
+		;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/bind9-host.prerm b/debian/bind9-host.prerm
new file mode 100644
index 0000000..359634a
--- /dev/null
+++ b/debian/bind9-host.prerm
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+set -e
+
+case "${1}" in
+	remove|upgrade|deconfigure)
+		# update-alternatives: host
+		update-alternatives --quiet --remove host /usr/bin/host.bind9
+		;;
+
+	failed-upgrade)
+
+		;;
+
+	*)
+		echo "prerm called with unknown argument \`${1}'" >&2
+		exit 1
+		;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/rules b/debian/rules
index b70f9ed..811bd09 100755
--- a/debian/rules
+++ b/debian/rules
@@ -105,6 +105,13 @@ override_dh_install:
 		mv debian/dnsutils/usr/share/man/man1/dig.1 debian/dnsutils/usr/share/man/man1/dig.bind9.1; \
 	fi
 
+	# update-alternatives: host
+	if [ -e debian/bind9-host/usr/bin/host ]; \
+	then \
+		mv debian/bind9-host/usr/bin/host debian/bind9-host/usr/bin/host.bind9; \
+		mv debian/bind9-host/usr/share/man/man1/host.1 debian/bind9-host/usr/share/man/man1/host.bind9.1; \
+	fi
+
 override_dh_missing:
 	dh_missing --exclude=.la --exclude=lwresd --exclude=__pycache_ --fail-missing
 
-- 
2.30.2

Reply via email to