postinst is in mythbuntu-diskless-server 0.9-0ubuntu2.
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
 |