Control: tag -1 +patch
Control: severity -1 normal
Control: affects 638791 +leafnode
Hi,
Please find attached a patch for migrating your package to reconf-inetd, as
per dep9 [0], in order to eliminate cross-package issues such as #168847.
I'll be happy to answer any questions.
cheers,
sez
[0] http://dep.debian.net/deps/dep9/#index5h1
--
Every great idea is worthless without someone to do the work. --Neil Williams
commit 8b9b33eb0218b54858f574bde051182fdfe712af
Author: Serafeim Zanikolas s...@debian.org
Date: Sun Mar 24 20:23:40 2013 +0100
inetd.conf entry: migrate away from inetd-conf to reconf-inetd
diff --git a/debian/control b/debian/control
index 9234722..9a89114 100644
--- a/debian/control
+++ b/debian/control
@@ -10,7 +10,7 @@ Architecture: any
Provides: news-transport-system
Conflicts: news-transport-system, newsx
Depends: netbase, tcpd, logrotate, openbsd-inetd | inet-superserver,
- ${shlibs:Depends}, ${misc:Depends}
+ reconf-inetd, ${shlibs:Depends}, ${misc:Depends}
Suggests: slrn | news-reader, ${perl:Depends}
Description: NNTP server for small leaf sites
Leafnode is a news server suitable for small, limited-bandwidth sites
diff --git a/debian/leafnode.dirs b/debian/leafnode.dirs
index 594cce4..1f3b714 100644
--- a/debian/leafnode.dirs
+++ b/debian/leafnode.dirs
@@ -12,3 +12,4 @@ usr/share/man/man1
usr/share/man/man8
usr/share/leafnode
usr/share/bug
+usr/share/reconf-inetd
diff --git a/debian/leafnode.postinst b/debian/leafnode.postinst
index f7982bb..78e64ab 100644
--- a/debian/leafnode.postinst
+++ b/debian/leafnode.postinst
@@ -188,6 +188,29 @@ NETWORK=permanent\\ /etc/news/leafnode/debian-config /etc/news/leafnode/deb
${TEXPIRE} -r
fi
fi
+#
+# This enables leafnode in inetd.conf, by removing the line using
+# update-inetd and adding it with reconf-inetd. Assuming that the switch
+# happens in jessie, this whole snippet can be dropped in jessie+1.
+#
+# the exact inetd.conf entry, as previously added using update-inetd
+OLD_INETD_ENTRY=nntp stream tcp nowait news/usr/sbin/tcpd /usr/sbin/leafnode
+# last package release before switching to reconf-inetd
+REL=2.0.0.alpha20090406a-1
+
+# remove inetd.conf entry if not modified locally, and not managed
+# already by reconf-inetd
+if dpkg --compare-versions $2 le-nl $REL; then
+if fgrep -qx $OLD_INETD_ENTRY /etc/inetd.conf || \
+ fgrep -qx #off# $OLD_INETD_ENTRY /etc/inetd.conf;
+then
+# remove all inetd.conf entries for leafnode
+update-inetd --pattern leafnode --remove nntp || true
+# re-add entries that are managed by reconf-inetd
+reconf-inetd || true
+fi
+fi
+
fi
# Old versions had this line wrong in the config file. Correct.
@@ -197,13 +220,7 @@ if grep -q maxcount /etc/news/leafnode/config; then
rm -f /etc/news/leafnode/config.new
fi
-#
-# This enables leafnode in inetd.conf, so save for last.
-#
-update-inetd --comment-chars #disabled# --disable nntp
-update-inetd --group MAIL --add --comment-chars #disabled# \
- nntp stream tcp nowait news /usr/sbin/tcpd /usr/sbin/leafnode
if [ $1 = purge ]; then
db_purge || true
diff --git a/debian/leafnode.postrm b/debian/leafnode.postrm
index d00d93a..a06a547 100644
--- a/debian/leafnode.postrm
+++ b/debian/leafnode.postrm
@@ -41,8 +41,6 @@ case $1 in
fi
;;
remove)
- update-inetd --remove .*leafnode.*
- update-inetd --comment-chars #disabled# --enable nntp
;;
upgrade|deconfigure)
;;
diff --git a/debian/reconf-inetd/leafnode.tcp b/debian/reconf-inetd/leafnode.tcp
new file mode 100644
index 000..3c509ea
--- /dev/null
+++ b/debian/reconf-inetd/leafnode.tcp
@@ -0,0 +1,9 @@
+service nntp
+{
+ socket_type = stream
+ protocol = tcp
+ wait = no
+ user = news
+ server = /usr/sbin/tcpd
+ server_args = /usr/sbin/leafnode
+}
diff --git a/debian/reconf-inetd/leafnode.tcp6 b/debian/reconf-inetd/leafnode.tcp6
new file mode 100644
index 000..dc6b950
--- /dev/null
+++ b/debian/reconf-inetd/leafnode.tcp6
@@ -0,0 +1,9 @@
+service nntp
+{
+ socket_type = stream
+ protocol = tcp6
+ wait = no
+ user = news
+ server = /usr/sbin/tcpd
+ server_args = /usr/sbin/leafnode
+}
diff --git a/debian/rules b/debian/rules
index 0d70ec1..9a86053 100755
--- a/debian/rules
+++ b/debian/rules
@@ -57,6 +57,7 @@ binary-arch: build
(cd debian/leafnode/usr/share/doc/leafnode/examples ; ln -s ../../../leafnode/config.example . )
mv debian/leafnode/usr/share/man/man5/moderators.5 debian/leafnode/usr/share/man/man5/leafnode-moderators.5
touch debian/leafnode/etc/news/leafnode/local.groups
+ cp debian/reconf-inetd/leafnode.tcp debian/reconf-inetd/leafnode.tcp6 debian/leafnode/usr/share/reconf-inetd
dh_installmenu
dh_installdebconf
dh_installcron