postinst is in mythbuntu-diskless-server 0.9-0ubuntu1.
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 | #!/bin/sh -e
. /usr/share/debconf/confmodule
SHARE="/var/cache/mythbuntu-diskless/overlay/"
SHAREOPTS="rw,no_root_squash,async,no_subtree_check"
# if $HOST is empty, $SHARE is exported to the world
HOST=""
db_get mythbuntu-diskless/share_host || true
HOST="$RET"
if [ -z "$HOST" ]; then
# export to world
HOST='*'
fi
TMPFILE=`mktemp`
case "$1" in
configure)
db_get mythbuntu-diskless/create_share || true
NFSENABLE="$RET"
# this part is taken from postrm (note: we don't restart the nfs-server here)
# here's the plan: clean up /etc/exports first to make sure
# new debconf settings like $HOST are written to /etc/exports properly
if (grep "$SHARE" /etc/exports > /dev/null) && [ "x${NFSENABLE}" = "xtrue" ]; then
sed -e "\%${SHARE}% d" /etc/exports >> $TMPFILE || true
chmod --reference=/etc/exports $TMPFILE || true
cp $TMPFILE /etc/exports || true
chmod --reference=${TMPFILE} /etc/exports || true
rm $TMPFILE || true
fi
# actually write something
if [ "x${NFSENABLE}" = "xtrue" ] && (! grep "$SHARE" /etc/exports > /dev/null); then
# FIXME: should really add the network
# we can probably use ip.ad.re.0/sub.net.mask
echo "$SHARE ${HOST}(${SHAREOPTS})" >> /etc/exports
# it's not too critical if we fail here
# note: not using exportfs here. if the user changes $HOST (eg
# using dpkg-reconfigure), we might end up with too many exports
# exportfs -o "$SHAREOPTS" "${HOST}:${SHARE}" > /dev/null || true
# less elegant but more robust:
invoke-rc.d nfs-kernel-server restart || true
fi
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
db_stop
exit 0
|