postinst is in yaws 2.0.2-1.
This file is a maintainer script. It is executed when installing (*inst) or removing (*rm) the package.
The actual contents of the file can be viewed below.
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 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 | #! /bin/sh
# postinst script for yaws
#
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <postinst> `configure' <most-recently-configured-version>
# * <old-postinst> `abort-upgrade' <new version>
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
# <new-version>
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
# <failed-install-package> <version> `removing'
# <conflicting-package> <version>
# for details, see /usr/doc/packaging-manual/
#
# quoting from the policy:
# Any necessary prompting should almost always be confined to the
# post-installation script, and should be protected with a conditional
# so that unnecessary prompting doesn't happen if a package's
# installation fails and the `postinst' is called with `abort-upgrade',
# `abort-remove' or `abort-deconfigure'.
case "$1" in
configure)
# Create yaws user
adduser --quiet --system --group --home /var/cache/yaws yaws
# Moving home directory if it's still in /var/run
usermod --home /var/cache/yaws --move-home yaws >/dev/null 2>/dev/null
# Fixing config directory permissions
for d in yaws yaws/conf.avail yaws/conf.d ; do
if ! dpkg-statoverride --list /etc/$d >/dev/null; then
chown root:yaws /etc/$d
chmod 750 /etc/$d
fi
done
# Yaws configs may contain sensitive information (passwords)
for f in /etc/yaws/yaws.conf /etc/yaws/conf.avail/*.conf ; do
if ! dpkg-statoverride --list $f >/dev/null; then
chown root:yaws $f
chmod 640 $f
fi
done
# Create config symlinks
# Do it only if it's a fresh install or upgrade from version
# less than 1.66-2 (which is the first version with multiple
# configs), allowing admin to safely remove it.
if dpkg --compare-versions "$2" lt "1.66-2" ; then
for f in localhost.conf localhost-ssl.conf ; do
if [ ! -f /etc/yaws/conf.d/$f ] ; then
ln -s ../conf.avail/$f /etc/yaws/conf.d/
fi
done
fi
# Adding yaws user to the ssl-cert group to use the snakeoil
# SSL certificate
if getent group ssl-cert >/dev/null ; then
adduser --quiet yaws ssl-cert
fi
# Create the homedir if it doesn't exist for some reason
mkdir -p /var/cache/yaws
# Only user yaws and root are allowed to create yaws control files
chown -R yaws:yaws /var/cache/yaws
chmod 750 /var/cache/yaws
install -o yaws -g adm -m 750 -d /var/log/yaws
# Finish moving /usr/lib/yaws/custom/* to /usr/local/lib/yaws-appmods/
dira=/usr/lib/yaws-custom.dpkg-backup
dirb=/usr/local/lib/yaws-appmods
if [ -d $dira ] ; then
# If the /usr/lib/yaws/custom.dpkg-backup directory exists then we
# are upgrading from an older version and have to move it to
# /usr/local/lib/yaws-appmods
echo "Relocating /usr/lib/yaws/custom into $dirb..."
(
while read line; do
set -- $line
dir="$1"; mode="$2"; user="$3"; group="$4"
if [ ! -e "$dir" ]; then
if mkdir "$dir" 2>/dev/null; then
chown "$user":"$group" "$dir"
chmod "$mode" "$dir"
fi
fi
done
) << DATA
/usr/local/lib 2775 root staff
/usr/local/lib/yaws-appmods 2775 root staff
DATA
for f in $(ls -A $dira) ; do
mv -f $dira/$f $dirb/
done
rmdir $dira
fi
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 0
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
# Automatically added by dh_installinit
if [ -x "/etc/init.d/yaws" ]; then
update-rc.d yaws defaults >/dev/null
fi
if [ -x "/etc/init.d/yaws" ] || [ -e "/etc/init/yaws.conf" ]; then
invoke-rc.d yaws start || exit $?
fi
# End automatically added section
# Automatically added by dh_usrlocal
if [ "$1" = configure ]; then
(
while read line; do
set -- $line
dir="$1"; mode="$2"; user="$3"; group="$4"
if [ ! -e "$dir" ]; then
if mkdir "$dir" 2>/dev/null; then
chown "$user":"$group" "$dir"
chmod "$mode" "$dir"
fi
fi
done
) << DATA
/usr/local/lib 2775 root staff
/usr/local/lib/yaws-appmods 2775 root staff
/usr/local/lib/yaws-appmods/ebin 2775 root staff
/usr/local/lib/yaws-appmods/include 2775 root staff
DATA
fi
# End automatically added section
exit 0
|