#! /bin/sh
# postrm.skeleton
# Skeleton maintainer script showing all the possible cases.
# Written by Charles Briscoe-Smith, March-June 1998.  Public Domain.

# Abort if any command returns an error value
set -e

# This script is called twice during the removal of the package; once
# after the removal of the package's files from the system, and as
# the final step in the removal of this package, after the package's
# conffiles have been removed.

diaspora_home=/usr/share/diaspora
# Keep it in sync with preinst
diaspora_symlinks_list="Gemfile.lock log tmp public app/assets bin/bundle vendor/bundle config/database.yml config/diaspora.yml config/oidc_key.pem"
diaspora_symlinks_dirs="app bin vendor db config"

case "$1" in
  remove)
    # This package is being removed, but its configuration has not yet
    # been purged.
    :
    # stop the service if running
    if service diaspora status >/dev/null; then
      service diaspora stop
    fi

    # These symlinked paths are managed by diaspora-common
    backup_suffix=$(openssl rand -hex 4)
    backup_dir=${diaspora_home}/.backup.${backup_suffix}
    mkdir  ${backup_dir}

    # Make parent directories
    for i in ${diaspora_symlinks_dirs}; do
      mkdir -p ${backup_dir}/$i
    done

    for i in ${diaspora_symlinks_list}; do
      if [ -e ${diaspora_home}/$i ]; then
        mv ${diaspora_home}/$i ${backup_dir}/$i
      fi
    done
    rm -rf ${diaspora_home}/*
    
    # Make parent directories
    for i in ${diaspora_symlinks_dirs}; do
      mkdir -p ${diaspora_home}/$i
    done
    for i in ${diaspora_symlinks_list}; do
      if [ -e ${backup_dir}/$i ]; then
        mv ${backup_dir}/$i ${diaspora_home}/$i
      fi
    done
    rm -rf ${backup_dir}
    rm -rf /var/cache/diaspora-installer

    ;;
  purge)
    # This package has previously been removed and is now having
    # its configuration purged from the system.
    :


    ;;
  disappear)
    if test "$2" != overwriter; then
      echo "$0: undocumented call to \`postrm $*'" 1>&2
      exit 0
    fi
    # This package has been completely overwritten by package $3
    # (version $4).  All our files are already gone from the system.
    # This is a special case: neither "prerm remove" nor "postrm remove"
    # have been called, because dpkg didn't know that this package would
    # disappear until this stage.
    :

    ;;
  upgrade)
    # About to upgrade FROM THIS VERSION to version $2 of this package.
    # "prerm upgrade" has been called for this version, and "preinst
    # upgrade" has been called for the new version.  Last chance to
    # clean up.
    :

    ;;
  failed-upgrade)
    # About to upgrade from version $2 of this package TO THIS VERSION.
    # "prerm upgrade" has been called for the old version, and "preinst
    # upgrade" has been called for this version.  This is only used if
    # the previous version's "postrm upgrade" couldn't handle it and
    # returned non-zero. (Fix old postrm bugs here.)
    :

    ;;
  abort-install)
    # Back out of an attempt to install this package.  Undo the effects of
    # "preinst install...".  There are two sub-cases.
    :

    if test "${2+set}" = set; then
      # When the install was attempted, version $2's configuration
      # files were still on the system.  Undo the effects of "preinst
      # install $2".
      :

    else
      # We were being installed from scratch.  Undo the effects of
      # "preinst install".
      :

    fi ;;
  abort-upgrade)
    # Back out of an attempt to upgrade this package from version $2
    # TO THIS VERSION.  Undo the effects of "preinst upgrade $2".
    :

    ;;
  *) echo "$0: didn't understand being called with \`$1'" 1>&2
     exit 0;;
esac

#DEBHELPER#
exit 0
