summaryrefslogtreecommitdiffstats
path: root/debian/libnss-myhostname.postinst
diff options
context:
space:
mode:
Diffstat (limited to 'debian/libnss-myhostname.postinst')
-rw-r--r--debian/libnss-myhostname.postinst41
1 files changed, 41 insertions, 0 deletions
diff --git a/debian/libnss-myhostname.postinst b/debian/libnss-myhostname.postinst
new file mode 100644
index 0000000..1ee0c99
--- /dev/null
+++ b/debian/libnss-myhostname.postinst
@@ -0,0 +1,41 @@
+#!/bin/sh
+
+set -e
+
+# This code was taken from libnss-myhostname
+
+# try to insert myhostname entries to the "hosts" line in /etc/nsswitch.conf to
+# automatically enable libnss-myhostname support; do not change the
+# configuration if the "hosts" line already references some myhostname lookups
+insert_nss_entry() {
+ echo "Checking NSS setup..."
+ # abort if /etc/nsswitch.conf does not exist
+ if ! [ -e /etc/nsswitch.conf ]; then
+ echo "Could not find /etc/nsswitch.conf."
+ return
+ fi
+ perl -i -pe '
+ sub insert {
+ my $line = shift;
+ # this also splits on tab
+ my @bits=split(" ", $line);
+ # do not break configuration if the "hosts" line already references
+ # myhostname
+ if (grep { $_ eq "myhostname"} @bits) {
+ return $line;
+ }
+ # add myhostname at the end
+ return $line . " myhostname";
+ }
+ s/^(hosts:\s+)(.*)/$1.insert($2)/e;
+ ' /etc/nsswitch.conf
+}
+
+if [ "$1" = configure ] && [ -z "$2" ]; then
+ echo "First installation detected..."
+ # first install: setup the recommended configuration (unless
+ # nsswitch.conf already contains myhostname entries)
+ insert_nss_entry
+fi
+
+#DEBHELPER#