1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
#!/bin/sh
set -e
# try to insert the unknown entry to the "passwd" and "group" lines in
# /etc/nsswitch.conf to automatically enable libnss-unknown support; do not
# change the configuration if the lines already contain "unknown"
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 line already references
# unknown
if (grep { $_ eq "unknown"} @bits) {
return $line;
}
# add unknown at the end
return $line . " unknown";
}
s/^(passwd:\s+)(.*)/$1.insert($2)/e;
s/^(group:\s+)(.*)/$1.insert($2)/e;
' /etc/nsswitch.conf
}
if [ "$1" = configure ]; then
if [ -z "$2" ]; then
echo "First installation detected..."
# first install: setup the recommended configuration
insert_nss_entry
else
# upgrade:
version="$2"
if dpkg --compare-versions "$version" lt "0.0.2-2~"; then
echo "Inserting NSS entry if necessary (#919459)."
insert_nss_entry
fi
fi
fi
#DEBHELPER#
|