diff options
Diffstat (limited to 'debian/ceph-base.postinst')
-rw-r--r-- | debian/ceph-base.postinst | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/debian/ceph-base.postinst b/debian/ceph-base.postinst new file mode 100644 index 000000000..23712a8b4 --- /dev/null +++ b/debian/ceph-base.postinst @@ -0,0 +1,61 @@ +#!/bin/sh +# vim: set noet ts=8: +# postinst script for ceph +# +# 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> +# postinst abort-remove +# deconfigured's-postinst abort-deconfigure in-favour <failed-install-package> <version> [<removing conflicting-package> <version>] +# +# The current action is to simply remove the mistakenly-added +# /etc/init/ceph.conf file; this could be done in any of these cases, +# although technically it will leave the system in a different state +# than the original install that included that file. So instead we +# only remove on "configure", since that's the only time we know we're +# successful in installing a newer package than the erroneous version. + +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + +[ -f "/etc/default/ceph" ] && . /etc/default/ceph +[ -z "$SERVER_USER" ] && SERVER_USER=ceph +[ -z "$SERVER_GROUP" ] && SERVER_GROUP=ceph + +case "$1" in + configure) + rm -f /etc/init/ceph.conf + for DIR in `ls -1 /var/lib/ceph` ; do + if ! dpkg-statoverride --list /var/lib/ceph/$DIR >/dev/null; then + if [ -d /run/systemd/system ] && [ $DIR = 'mon' ]; then + # NOTE: upgrade file permissions for mon filesystem on + # systemd based installs only due to automatic + # restarting of ceph-mon daemon + chown -R $SERVER_USER:$SERVER_GROUP /var/lib/ceph/$DIR + else + chown $SERVER_USER:$SERVER_GROUP /var/lib/ceph/$DIR + fi + fi + done + ;; + abort-upgrade|abort-remove|abort-deconfigure) + : + ;; + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 |