home *** CD-ROM | disk | FTP | other *** search
- #! /bin/sh
- # postinst.skeleton
- # Skeleton maintainer script showing all the possible cases.
- # Written by Charles Briscoe-Smith, March-June 1998. Public Domain.
-
- # Abort if any command returns an error value
- set -e
-
- # This script is called as the last step of the installation of the
- # package. All the package's files are in place, dpkg has already done
- # its automatic conffile handling, and all the packages we depend of
- # are already fully installed and configured.
-
- # The following idempotent stuff doesn't generally need protecting
- # against being run in the abort-* cases.
-
- # Install info files into the dir file
- : install-info --quiet --section "section pattern" "Section Title" \
- : --description="Name of the document" /usr/info/foo.info
-
- # Create stub directories under /usr/local
- : if test ! -d /usr/local/lib/foo; then
- : if test ! -d /usr/local/lib; then
- : if mkdir /usr/local/lib; then
- : chown root.staff /usr/local/lib || true
- : chmod 2775 /usr/local/lib || true
- : fi
- : fi
- : if mkdir /usr/local/lib/foo; then
- : chown root.staff /usr/local/lib/foo || true
- : chmod 2775 /usr/local/lib/foo || true
- : fi
- : fi
-
- # Ensure the menu system is updated
- : [ ! -x /usr/bin/update-menus ] || /usr/bin/update-menus
-
- # Arrange for a daemon to be started at system boot time
- : update-rc.d foo default >/dev/null
-
- case "$1" in
- configure)
- # Configure this package. If the package must prompt the user for
- # information, do it here.
- :
-
- # Activate menu-methods script
- : chmod a+x /etc/menu-methods/foo
-
- # Update ld.so cache
- : ldconfig
-
- # Make our version of a program available
- : update-alternatives \
- : --install /usr/bin/program program /usr/bin/alternative 50 \
- : --slave /usr/share/man/man1/program.1.gz program.1.gz \
- : /usr/share/man/man1/alternative.1.gz
-
- # Tell ucf that the file in /usr/share/foo is the latest
- # maintainer version, and let it handle how to manage the real
- # confuguration file in /etc. This is how a static configuration
- # file can be handled:
- ucf /usr/share/foo/configuration /etc/foo.conf
- ucfr foo /etc/foo.conf
-
- ### We could also do this on the fly. The following is from Tore
- ### Anderson:
-
- #. /usr/share/debconf/confmodule
-
- ### find out what the user answered.
- # db_get foo/run_on_boot
- # run_on_boot=$RET
- # db_stop
-
- ### safely create a temporary file to generate our suggested
- ### configuration file.
- # tempfile=`tempfile`
- # cat << _eof > $tempfile
- ### Configuration file for Foo.
-
- ### this was answered by you, the user in a debconf dialogue
- # RUNONBOOT=$run_on_boot
-
- ### this was not, as it has a sane default value.
- # COLOUROFSKY=blue
-
- #_eof
-
- ### Note that some versions of debconf do not release stdin, so
- ### the following invocation of ucf may not work, since the stdin
- ### is never coneected to ucfr.
-
- ### now, invoke ucf, which will take care of the rest, and ask
- ### the user if he wants to update his file, if it is modified.
- #ucf $tempfile /etc/foo.conf
-
- ### done! now we'll just clear up our cruft.
- #rm -f $tempfile
-
-
- # There are three sub-cases:
- if test "${2+set}" != set; then
- # We're being installed by an ancient dpkg which doesn't remember
- # which version was most recently configured, or even whether
- # there is a most recently configured version.
- :
-
- elif test -z "$2" -o "$2" = "<unknown>"; then
- # The package has not ever been configured on this system, or was
- # purged since it was last configured.
- :
-
- else
- # Version $2 is the most recently configured version of this
- # package.
- :
-
- fi ;;
- abort-upgrade)
- # Back out of an attempt to upgrade this package FROM THIS VERSION
- # to version $2. Undo the effects of "prerm upgrade $2".
- :
-
- ;;
- abort-remove)
- if test "$2" != in-favour; then
- echo "$0: undocumented call to \`postinst $*'" 1>&2
- exit 0
- fi
- # Back out of an attempt to remove this package, which was due to
- # a conflict with package $3 (version $4). Undo the effects of
- # "prerm remove in-favour $3 $4".
- :
-
- ;;
- abort-deconfigure)
- if test "$2" != in-favour -o "$5" != removing; then
- echo "$0: undocumented call to \`postinst $*'" 1>&2
- exit 0
- fi
- # Back out of an attempt to deconfigure this package, which was
- # due to package $6 (version $7) which we depend on being removed
- # to make way for package $3 (version $4). Undo the effects of
- # "prerm deconfigure in-favour $3 $4 removing $6 $7".
- :
-
- ;;
- *) echo "$0: didn't understand being called with \`$1'" 1>&2
- exit 0;;
- esac
-
- exit 0
-