index bcf54d1e7eceff98703cabc71f09a782d5238704..8aa3db73fb2be2ce4716e1d26f01a754a77a6501 100644 (file)
-#! /bin/sh
-# GOsa postinst script
+#!/bin/sh
+# postinst script for gosa
+#
+# see: dh_installdeb(1)
-#DEBHELPER#
+set -e
-# We exit unless the package is being configured
case "$1" in
- abort*upgrade) exit 0;;
- abort*remove) exit 0;;
- abort*deconfigure) exit 0;;
- configure) ;;
- *) exit 0;
+ configure)
+ ;;
+
+ abort-upgrade|abort-remove|abort-deconfigure)
+ ;;
+
+ triggered)
+ /usr/sbin/update-gosa
+ exit 0
+ ;;
+
+ *)
+ echo "postinst called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
esac
-# Get apache versions running
-servers=""
-for srv in apache apache-ssl apache2; do
- if [ -x /usr/sbin/$srv ]; then
- servers="$srv $servers"
- fi
-done
+#DEBHELPER#
-for server in $servers; do
+# Set ID's
+WEBUSER="www-data"
+WEBGROUP="www-data"
- # Set ID's
- WEBUSER="www-data"
- WEBGROUP="www-data"
+# Create empty inclusion file for apache
+if [ ! -f /etc/gosa/gosa.secrets ]; then
+ touch /etc/gosa/gosa.secrets
+ chmod 600 /etc/gosa/gosa.secrets
+fi
- # Copy GOsa apache.conf to conf.d directories
- if [ ! -f /etc/$server/conf.d/gosa.conf ]; then
- echo "Making /gosa available in /etc/$server/conf.d"
+if [ -d /etc/apache2/conf.d ]; then
- # Add GOsa include file
- cp /etc/gosa/apache.conf /etc/$server/conf.d/gosa.conf
- fi
+ # Copy GOsa configuration to conf.d directories
+ if [ ! -L /etc/apache2/conf.d/gosa.conf ]; then
-done
+ # Remove old instances of this file
+ if [ -f /etc/apache2/conf.d/gosa.conf ]; then
+ echo "Found old gosa apache configuration in /etc/apache2/conf.d - moving it to gosa.conf.orig..."
+ echo "Please check for changes in /etc/gosa/gosa-apache.conf if you modified this file!"
+ mv /etc/apache2/conf.d/gosa.conf /etc/apache2/conf.d/gosa.conf.orig
+ fi
-# Make compile directory writeable for webuser
-chown root.$WEBGROUP -R /var/spool/gosa
-chmod 770 -R /var/spool/gosa
+ echo "Making /gosa available in /etc/apache2/conf.d"
+
+ # Add GOsa include file
+ ln -s /etc/gosa/gosa-apache.conf /etc/apache2/conf.d/gosa.conf
+ fi
+
+ # Add support for RequestHeader
+ a2enmod headers
+
+ # Finally restart servers
+ if [ -x /usr/sbin/invoke-rc.d ]; then
+ invoke-rc.d apache2 reload
+ else
+ /etc/init.d/apache2 reload
+ fi
+fi
+
+if [ -d /etc/lighttpd/conf-available ]; then
+
+ # Copy GOsa configuration to conf-available directories /etc/lighttpd/conf-available
+ if [ ! -L /etc/lighttpd/conf-enabled/99gosa-lighttpd.conf ]; then
+
+ # Remove old instances of this file
+ if [ -f /etc/lighttpd/conf-enabled/99gosa-lighttpd.conf ]; then
+ echo "Found old gosa apache configuration in /etc/lighttpd/conf-enabled - moving it to orig.gosa-lighttpd.conf ..."
+ echo "Please check for changes in /etc/lighttpd/conf-available/orig.99gosa-lighttpd.conf if you modified this file!"
+ mv /etc/lighttpd/conf-enabled/99gosa-lighttpd.conf /etc/lighttpd/conf-available/orig.gosa-lighttpd.conf
+ fi
+
+ echo "Making /gosa available in /etc/lighttpd/conf-enabled/"
+
+ # Add GOsa include file
+ ln -s /etc/gosa/gosa-lighttpd.conf /etc/lighttpd/conf-enabled/99gosa-lighttpd.conf
+ fi
+
+ # Finally restart servers
+ if [ -x /usr/sbin/invoke-rc.d ]; then
+ invoke-rc.d lighttpd reload
+ else
+ /etc/init.d/lighttpd reload
+ fi
+
+fi
# Add links for safe mode
[ ! -d /usr/share/gosa/bin ] && mkdir -p /usr/share/gosa/bin
for source in /usr/bin/convert /usr/bin/lpstat; do
- if [ -e $source ]; then
- target=/usr/share/gosa/bin/${source##*/}
- [ ! -L $target ] && ln -sf $source $target
- fi
+ if [ -e $source ]; then
+ target=/usr/share/gosa/bin/${source##*/}
+ [ ! -L $target ] && ln -sf $source $target
+ fi
done
-# Update gosa
-/usr/sbin/update-gosa
+# Fix permission in /var/(spool|cache)/gosa
+chown root.$WEBGROUP -R /var/spool/gosa
+chmod 770 -R /var/spool/gosa
+chown root.$WEBGROUP -R /var/cache/gosa
+chmod 770 -R /var/cache/gosa
+
+# Activating triggers
+echo DEBUG: triggertest postinst called, $# args: "$@"
+
+if [ "$1" = "configure" ]; then
+ # in the general case, update-foo and update-bar should always be called
+ # when the central package is updated
+ update-gosa
+
+elif [ "$1" = "triggered" ]; then
+ # since the example ships two triggers, we should determine how to act
+ # based on which trigger was activated.
+ for triggername in $2; do
+ echo DEBUG: processing trigger "'$triggername'"
+ case "$triggername" in
+ "/usr/share/gosa")
+ update-gosa
+ ;;
+ *)
+ echo "unhandled/unknown trigger!"
+ exit 1
+ ;;
+ esac
+ done
+fi
-# Finally restart servers
-for server in $servers; do
- if [ -x /usr/sbin/invoke-rc.d ]; then
- invoke-rc.d $server restart
- else
- /etc/init.d/$server restart
- fi
-done
exit 0