This one time, at band camp, Martin Lohmeier said:
> Stephen Gran wrote:
>
> | -------------------------------------------------------
> | @@ -124,9 +124,7 @@
> | done
> |
> | db_get phpldapadmin/restart-webserver || true
> | - if [ "$RET" = "true" ]; then
> | + restart="$RET"
> | + db_stop || true
> | + if [ "$restart" = "true" ]; then
> | for webserver in $restart; do
> | webserver=${webserver%,}
> | if [ -x /usr/sbin/invoke-rc.d ]; then
> | ---------------------------------------------------------
>
> Hi Stephen,
>
> I almost got it working. It is restarted on install, but not on purge /
> remove. Same code is used in postrm...thats why it's realy strange.
>
> I send you a patch when it's compleately working.
>
> by, Martin
A quick look makes it look like it is the same issue:
$webserver restart is called before db_stop.
Also, some reorganization is probably necessary in postrm, I see.
After remove (but not purge) the package contents will be gone, although
files in /etc will still be there. The best way to handle this, IMHO,
is to remove the symlink from $webserver/conf.d -> /etc/phpladapadmin
and restart the webserver on remove, and remove the other /etc/ files
on purge.
Not positive, but that gives the principle of least surprise, I think.
So, something like (completely untested - please somebody test this to
make sure it actually works before going along :) :
#! /bin/sh
set -e
case "$1" in
remove)
. /usr/share/debconf/confmodule
db_version 2.0 || [ $? -lt 30 ]
rm -f /usr/share/phpldapadmin/config.php
db_get phpldapadmin/reconfigure-webserver
webservers="$RET"
restart=""
for webserver in $webservers; do
webserver=${webserver%,}
case "$webserver" in
apache|apache-perl|apache-ssl|apache2)
rm -f /etc/$webserver/conf.d/phpldapadmin
test -x /usr/sbin/$webserver || continue
restart="$restart $webserver"
;;
*)
;;
esac
done
db_get phpldapadmin/restart-webserver
res="$RET"
db_stop || true
if [ "$res" = "true" ]; then
for webserver in $restart; do
webserver=${webserver%,}
if [ -x /usr/sbin/invoke-rc.d ]; then
invoke-rc.d $webserver restart
else
/etc/init.d/$webserver restart
fi
done
fi
;;
purge)
rm -f /etc/phpldapadmin/config.php
rmdir --ignore-fail-on-non-empty /etc/phpldapadmin || true
;;
esac
#DEBHELPER#
--
-----------------------------------------------------------------
| ,''`. Stephen Gran |
| : :' : [EMAIL PROTECTED] |
| `. `' Debian user, admin, and developer |
| `- http://www.debian.org |
-----------------------------------------------------------------
pgpAVuIIeoebV.pgp
Description: PGP signature

