From: Russ Allbery Date: Mon, 17 Jun 2013 20:41:29 +0000 (-0700) Subject: General coding style cleanup for maintainer scripts X-Git-Tag: debian/1.6.3-1~2 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=136f162b808341241ce80562e8542c7751d8715c;p=packages%2Fo%2Fopenafs.git General coding style cleanup for maintainer scripts Use if instead of case statements and run in more circumstances to catch unusual error handling cases. --- diff --git a/debian/changelog b/debian/changelog index 0a041bd35..68e27398f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -34,6 +34,7 @@ openafs (1.6.3-1) UNRELEASED; urgency=low AFSDB/SRV records are not being used. * Remove openafs-fileserver postinst support for upgrades from ancient versions (1.4.4.dfsg1-4 and 1.4.11+dfsg-3). + * General coding style cleanup of maintainer scripts. -- Russ Allbery Mon, 17 Jun 2013 10:50:14 -0700 diff --git a/debian/openafs-client.config b/debian/openafs-client.config index 539c81588..637960e20 100755 --- a/debian/openafs-client.config +++ b/debian/openafs-client.config @@ -1,8 +1,8 @@ #!/bin/sh + set -e . /usr/share/debconf/confmodule - db_version 2.0 # Configure the client cell. Default to the current ThisCell file and, diff --git a/debian/openafs-client.postrm b/debian/openafs-client.postrm index 789c1eda2..b24bfd024 100755 --- a/debian/openafs-client.postrm +++ b/debian/openafs-client.postrm @@ -2,20 +2,13 @@ set -e -case "$1" in -purge) +# Remove configuration files and the /afs mount point that are created by the +# normal postinst action. +if [ "$1" = 'purge' ] ; then rmdir /afs 2>/dev/null || true for file in cacheinfo CellServDB ThisCell afs.conf.client ; do rm -f "/etc/openafs/$file" done - ;; - -remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) - ;; - -*) - echo "postrm called with unknown argument $1" >&2 - exit 0 -esac +fi #DEBHELPER# diff --git a/debian/openafs-dbserver.postrm b/debian/openafs-dbserver.postrm index 610767941..2c225dd1a 100755 --- a/debian/openafs-dbserver.postrm +++ b/debian/openafs-dbserver.postrm @@ -1,28 +1,17 @@ #! /bin/sh -# postrm script for openafs-dbserver -# -# Purges the database and log files created by the package. We assume that -# it's safe to do this for database files since they're normally transferred -# via Ubik to other hosts. set -e -case "$1" in -purge) +# Purges the database and log files created by the package. We assume that +# it's safe to do this for database files since they're normally transferred +# via Ubik to other hosts. +if [ "$1" = 'purge' ] ; then for file in prdb.DB0 prdb.DBSYS1 vldb.DB0 vldb.DBSYS1 ; do rm -f "/var/lib/openafs/db/$file" done for file in PtLog PtLog.old VLLog VLLog.old ; do rm -f "/var/log/openafs/$file" done - ;; - -remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) - ;; - -*) - echo "postrm called with unknown argument $1" >&2 - exit 0 -esac +fi #DEBHELPER# diff --git a/debian/openafs-fileserver.config b/debian/openafs-fileserver.config index 9e221e616..59ede70ad 100755 --- a/debian/openafs-fileserver.config +++ b/debian/openafs-fileserver.config @@ -1,8 +1,8 @@ #!/bin/sh + set -e . /usr/share/debconf/confmodule - db_version 2.0 # Warn anyone who's trying to run the file server on alpha. diff --git a/debian/openafs-fileserver.postinst b/debian/openafs-fileserver.postinst index c54000b65..a893a60c6 100755 --- a/debian/openafs-fileserver.postinst +++ b/debian/openafs-fileserver.postinst @@ -2,35 +2,24 @@ set -e -case "$1" in -configure) - . /usr/share/debconf/confmodule - db_version 2.0 - - db_get openafs-fileserver/thiscell - echo $RET >/etc/openafs/server/ThisCell - - if [ ! -f /etc/openafs/server/CellServDB ] ; then - sed -n "/^>$RET/,/^>/p" /etc/openafs/CellServDB | sed '$d' \ - >/etc/openafs/server/CellServDB - if [ ! -s /etc/openafs/server/CellServDB ] ; then - echo ">$RET" >/etc/openafs/server/CellServDB - fi +. /usr/share/debconf/confmodule +db_version 2.0 + +# Configure the local cell for the file server. +db_get openafs-fileserver/thiscell +echo $RET >/etc/openafs/server/ThisCell + +# If there is no local server CellServDB, construct it from the client +# CellServDB by looking for the local cell. If that fails, create a minimal +# CellServDB for the server with no information. +if [ ! -f /etc/openafs/server/CellServDB ] ; then + sed -n "/^>$RET/,/^>/p" /etc/openafs/CellServDB | sed '$d' \ + >/etc/openafs/server/CellServDB + if [ ! -s /etc/openafs/server/CellServDB ] ; then + echo ">$RET" >/etc/openafs/server/CellServDB fi - db_stop - ;; - -abort-upgrade|abort-remove|abort-deconfigure) - ;; - -*) - echo "postinst called with unknown argument \`$1'" >&2 - exit 0 - ;; -esac +fi -# dh_installdeb will replace this with shell code automatically generated by -# other debhelper scripts. #DEBHELPER# exit 0 diff --git a/debian/openafs-fileserver.postrm b/debian/openafs-fileserver.postrm index b1ede3d99..4d20ea9b7 100755 --- a/debian/openafs-fileserver.postrm +++ b/debian/openafs-fileserver.postrm @@ -1,7 +1,8 @@ -#! /bin/sh -# postrm script for openafs-fileserver -# -# Purges various extra configuration files and data files created by the +#!/bin/sh + +set -e + +# Purge various extra configuration files and data files created by the # package. Whether to purge KeyFile is a bit iffy since the user created it # with asetkey or with bos addkey, but it always exists for any running server # and we shouldn't be losing any critical data. @@ -9,11 +10,7 @@ # We intentionally don't remove NetInfo and NetRestrict in # /var/lib/openafs/local since those are created separately by the user and # may contain information not stored elsewhere. - -set -e - -case "$1" in -purge) +if [ "$1" = 'purge' ] ; then for file in CellServDB CellServDB.old KeyFile ThisCell UserList ; do rm -f "/etc/openafs/server/$file" done @@ -25,14 +22,6 @@ purge) rm -f "/var/log/openafs/$file" rm -f "/var/log/openafs/$file.old" done - ;; - -remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) - ;; - -*) - echo "postrm called with unknown argument \`$1'" >&2 - exit 0 -esac +fi #DEBHELPER# diff --git a/debian/openafs-fileserver.preinst b/debian/openafs-fileserver.preinst index 9b6a1d3e3..92666b96f 100755 --- a/debian/openafs-fileserver.preinst +++ b/debian/openafs-fileserver.preinst @@ -6,6 +6,9 @@ set -e # openafs-client. This was changed in 1.4.12+dfsg-1, but the symlink was # never removed, and dpkg won't remove symlinks to a directory. Belatedly # clean up so that we don't overwrite doc files in openafs-client. +# +# This cleanup was added in 1.6.2~pre2-1 and can be removed after the jessie +# release. test ! -L /usr/share/doc/openafs-fileserver \ || rm /usr/share/doc/openafs-fileserver diff --git a/debian/openafs-krb5.postinst b/debian/openafs-krb5.postinst index 2e480916a..32808c57b 100755 --- a/debian/openafs-krb5.postinst +++ b/debian/openafs-krb5.postinst @@ -2,12 +2,10 @@ set -e -if [ "$1" = configure ] || [ "$1" = reconfigure ] ; then - update-alternatives --install /usr/bin/klog klog \ - /usr/bin/klog.krb5 20 \ - --slave /usr/share/man/man1/klog.1.gz klog.1.gz \ - /usr/share/man/man1/klog.krb5.1.gz -fi +update-alternatives --install /usr/bin/klog klog \ + /usr/bin/klog.krb5 20 \ + --slave /usr/share/man/man1/klog.1.gz klog.1.gz \ + /usr/share/man/man1/klog.krb5.1.gz #DEBHELPER#