|
#!/bin/sh
|
|
# postinst script for smart-proxy
|
|
#
|
|
# see: dh_installdeb(1)
|
|
|
|
set -e
|
|
|
|
USERNAME="foreman-proxy"
|
|
GROUPNAME="foreman-proxy"
|
|
FOREMAN_HOME="/usr/share/foreman-proxy"
|
|
CONFIGDIR="/etc/foreman-proxy"
|
|
|
|
# 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
|
|
|
|
case "$1" in
|
|
configure)
|
|
getent group $GROUPNAME >/dev/null || groupadd -r $GROUPNAME
|
|
getent passwd $USERNAME >/dev/null || \
|
|
useradd -r -g $GROUPNAME -d $FOREMAN_HOME -s /usr/sbin/nologin -c "Foreman Proxy daemon user" $USERNAME
|
|
|
|
mkdir -p "$FOREMAN_HOME/tmp"
|
|
mkdir -p "/var/log/foreman-proxy"
|
|
mkdir -p "/var/run/foreman-proxy"
|
|
mkdir -p "/var/lib/foreman-proxy"
|
|
|
|
chown $USERNAME:$GROUPNAME "$FOREMAN_HOME/tmp"
|
|
chown $USERNAME:$GROUPNAME "$FOREMAN_HOME/logs"
|
|
chown $USERNAME:$GROUPNAME "/var/log/foreman-proxy"
|
|
chown $USERNAME:$GROUPNAME "/var/run/foreman-proxy"
|
|
chown $USERNAME:$GROUPNAME "/var/lib/foreman-proxy"
|
|
chown $USERNAME:root "$FOREMAN_HOME/config.ru"
|
|
|
|
TEMP=$(mktemp -d)
|
|
trap "rm -rf $TEMP" EXIT
|
|
(
|
|
cd $TEMP
|
|
if ruby $FOREMAN_HOME/extra/migrate_settings.rb -t . > /var/log/foreman-proxy/migrate_settings.log 2>&1; then
|
|
(
|
|
cd result && for f in migration_state settings.yml settings.d/*.yml; do
|
|
[ -e "$f" ] && cat $f > ${CONFIGDIR}/$f
|
|
done
|
|
)
|
|
# from monolithic to split config files
|
|
egrep -q '^:settings_directory' ${CONFIGDIR}/settings.yml || \
|
|
sed -i "/^---/ a #replace default location of \"settings.d\"\n:settings_directory: ${CONFIGDIR}/settings.d\n" \
|
|
${CONFIGDIR}/settings.yml
|
|
fi
|
|
)
|
|
;;
|
|
|
|
abort-upgrade|abort-remove|abort-deconfigure)
|
|
;;
|
|
|
|
*)
|
|
echo "postinst called with unknown argument \`$1'" >&2
|
|
exit 0
|
|
;;
|
|
esac
|
|
|
|
|
|
# dh_installdeb will replace this with shell code automatically
|
|
# generated by other debhelper scripts.
|
|
|
|
#DEBHELPER#
|
|
|
|
exit 0
|