#!/bin/bash set -e do_configure() { if [ ! -f /etc/yunohost/installed ]; then # If apps/ is not empty, we're probably already installed in the past and # something funky happened ... if [ -d /etc/yunohost/apps/ ] && ls /etc/yunohost/apps/* >/dev/null 2>&1; then echo "Sounds like /etc/yunohost/installed mysteriously disappeared ... You should probably contact the Yunohost support ..." else bash /usr/share/yunohost/hooks/conf_regen/01-yunohost init bash /usr/share/yunohost/hooks/conf_regen/02-ssl init bash /usr/share/yunohost/hooks/conf_regen/09-nslcd init bash /usr/share/yunohost/hooks/conf_regen/46-nsswitch init bash /usr/share/yunohost/hooks/conf_regen/06-slapd init bash /usr/share/yunohost/hooks/conf_regen/15-nginx init bash /usr/share/yunohost/hooks/conf_regen/37-mdns init fi else echo "Regenerating configuration, this might take a while..." yunohost app ssowatconf yunohost tools regen-conf --output-as none echo "Launching migrations..." yunohost tools migrations run --auto echo "Re-diagnosing server health..." yunohost diagnosis run --force echo "Refreshing app catalog..." yunohost tools update apps --output-as none || true fi # Trick to let yunohost handle the restart of the API, # to prevent the webadmin from cutting the branch it's sitting on if systemctl is-enabled yunohost-api --quiet then if [[ "${YUNOHOST_API_RESTART_WILL_BE_HANDLED_BY_YUNOHOST:-}" != "yes" ]]; then systemctl restart yunohost-api else echo "(Delaying the restart of yunohost-api, this should automatically happen after the end of this upgrade)" cat << EOF | at -M now >/dev/null 2>&1 # Wait for apt / dpkg / yunohost to not be up anymore, hence the upgrade finished while pgrep -x apt || pgrep -x apt-get || pgrep dpkg || test -e /var/run/moulinette_yunohost.lock; do sleep 3 done # Restart yunohost-api, though only if it wasnt already restarted by something else in the last 60 secs API_START_TIMESTAMP="\$(date --date="\$(systemctl show yunohost-api | grep ExecMainStartTimestamp= | awk -F= '{print \$2}')" +%s)" if [ "\$(( \$(date +%s) - \$API_START_TIMESTAMP ))" -ge 60 ]; then systemctl restart yunohost-api fi EOF fi fi } # summary of how this script can be called: # * `configure' # * `abort-upgrade' # * `abort-remove' `in-favour' # # * `abort-deconfigure' `in-favour' # `removing' # # for details, see http://www.debian.org/doc/debian-policy/ or # the debian-policy package case "$1" in configure) do_configure ;; abort-upgrade | abort-remove | abort-deconfigure) ;; *) echo "postinst called with unknown argument \`$1'" >&2 exit 1 ;; esac #DEBHELPER# exit 0