foundationdb/packaging/deb/DEBIAN-foundationdb-server/postinst

54 lines
2.2 KiB
Bash
Executable File

#!/bin/sh -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>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package
if [ "$1" = configure ]; then
if [ "$2" = "" ]; then
# This should be ensured by the foundationdb-clients package, but it can't hurt...
getent group foundationdb >/dev/null || addgroup --system foundationdb
getent passwd foundationdb >/dev/null || adduser --system --disabled-login --ingroup foundationdb --no-create-home --home /var/lib/foundationdb --gecos "FoundationDB" --shell /bin/false foundationdb
chown -R foundationdb:foundationdb /var/lib/foundationdb /var/log/foundationdb
chmod -R 0700 /var/lib/foundationdb/data /var/log/foundationdb
if [ ! -f /etc/foundationdb/fdb.cluster ]; then
description=`LC_CTYPE=C tr -dc A-Za-z0-9 < /dev/urandom | head -c 8`
random_str=`LC_CTYPE=C tr -dc A-Za-z0-9 < /dev/urandom | head -c 8`
echo $description:$random_str@127.0.0.1:4500 > /etc/foundationdb/fdb.cluster
chown foundationdb:foundationdb /etc/foundationdb/fdb.cluster
chmod 0664 /etc/foundationdb/fdb.cluster
NEWDB=1
fi
fi
# Start the service with systemd if it is available.
if pidof systemd > /dev/null; then
# Use deb-systemd-invoke if available to respect policy-rc.d.
systemctl=$(command -v deb-systemd-invoke || command -v systemctl)
systemctl --system daemon-reload > /dev/null || true
systemctl start foundationdb.service
else
/etc/init.d/foundationdb start
fi
if [ "$2" = "" ]; then
update-rc.d foundationdb defaults
if [ "$NEWDB" != "" ]; then
/usr/bin/fdbcli -C /etc/foundationdb/fdb.cluster --exec "configure new single memory; status" --timeout 20
fi
fi
fi
exit 0