summaryrefslogtreecommitdiff
path: root/debian/libpam-runtime.postinst
diff options
context:
space:
mode:
Diffstat (limited to 'debian/libpam-runtime.postinst')
-rw-r--r--debian/libpam-runtime.postinst13
1 files changed, 11 insertions, 2 deletions
diff --git a/debian/libpam-runtime.postinst b/debian/libpam-runtime.postinst
index 31206c57..dbda6895 100644
--- a/debian/libpam-runtime.postinst
+++ b/debian/libpam-runtime.postinst
@@ -13,17 +13,26 @@ if [ "x$2" != "x" ] ;then
fi
fi
+calculate_md5sum()
+{
+ configfile="$1"
+ sed -n -e'1,/# here are the per-package modules (the "Primary" block)/p;
+ /# here.s the fallback if no module succeeds/,/# and here are more per-package modules (the "Additional" block)/p;
+ /# end of pam-auth-update config/,$p' \
+ /etc/pam.d/"$configfile" | md5sum | awk '{ print $1 }'
+}
+
# If the user has removed the config file, respect this sign of dementia
# -- only create on package install.
force=
-if [ -z "$2" ] || dpkg --compare-versions "$2" lt 1.0.1-6
+if [ -z "$2" ] || dpkg --compare-versions "$2" lt 1.0.1-11
then
force=--force
for configfile in common-auth common-account common-session \
common-password
do
if [ -f /etc/pam.d/$configfile ] && \
- ! fgrep -q `md5sum /etc/pam.d/$configfile` \
+ ! fgrep -q $(calculate_md5sum $configfile) \
/usr/share/pam/$configfile.md5sums 2>/dev/null
then
force=