[Pkg-xmpp-devel] Bug#710688: jwchat: fails to install with apache 2.4
Petter Reinholdtsen
pere at hungry.com
Mon Sep 16 18:26:16 UTC 2013
I tested using debian/maintscript, and it did not work because
jwchat.conf was missing in the package. But I came up with another
version using code in preinst and postinst to move the old file to
jwchat.dpkg-backup in the preinst if it exist, and move it from
jwchat.dpkg-backup to jwchat.conf in the postinst if the file exist,
before calling ucf. This seem to solve it.
I've attached the adjusted patch.
--
Happy hacking
Petter Reinholdtsen
-------------- next part --------------
diff -Nru jwchat-1.0+dfsg/debian/postinst jwchat-1.0+dfsg/debian/postinst
--- jwchat-1.0+dfsg/debian/postinst 2010-09-17 20:11:48.000000000 +0200
+++ jwchat-1.0+dfsg/debian/postinst 2013-09-16 20:25:04.000000000 +0200
@@ -7,7 +7,8 @@
configfile='/etc/jwchat/config.js'
configsource='/usr/share/jwchat/config.js'
-apachefile='/etc/apache2/sites-available/jwchat'
+oldapachefile='/etc/apache2/sites-available/jwchat'
+apachefile='/etc/apache2/sites-available/jwchat.conf'
apachesource='/usr/share/jwchat/apache.conf'
wwwdir='/usr/share/jwchat/www'
tempfile=$(mktemp)
@@ -24,6 +25,15 @@
setup_apache()
{
+ case "$1" in
+ configure)
+ if dpkg --compare-versions "$2" le "1.0+dfsg-1.1"; then
+ if [ -e $oldapachefile.dpkg-backup ] && [ ! -e $apachefile ] ; then
+ mv $oldapachefile.dpkg-backup $apachefile
+ fi
+ fi
+ esac
+
db_get jwchat/ApacheServerName
apache_server_name="$RET"
sed -e "s|__ApacheServerName__|$apache_server_name|g" $configsource > \
@@ -38,20 +48,21 @@
$apachesource > $tempfile
ucf --three-way --debconf-ok $tempfile $apachefile
db_stop
- a2enmod proxy
- a2enmod proxy_http
- a2ensite jwchat
- invoke-rc.d apache2 force-reload
+ if [ -e /usr/share/apache2/apache2-maintscript-helper ] ; then
+ . /usr/share/apache2/apache2-maintscript-helper
+ apache2_invoke enmod proxy
+ apache2_invoke enmod proxy_http
+ apache2_invoke ensite jwchat
+ fi
fi
}
+
case $1 in
configure|reconfigure)
-
fixperms
- setup_apache
+ setup_apache $@
rm -f $tempfile
- exit 0
;;
*)
@@ -61,4 +72,3 @@
esac
#DEBHELPER#
-
diff -Nru jwchat-1.0+dfsg/debian/postrm jwchat-1.0+dfsg/debian/postrm
--- jwchat-1.0+dfsg/debian/postrm 2010-09-17 20:11:48.000000000 +0200
+++ jwchat-1.0+dfsg/debian/postrm 2013-09-16 18:38:18.000000000 +0200
@@ -6,14 +6,14 @@
set -e
configfile='/etc/jwchat/config.js'
-apachefile='/etc/apache2/sites-available/jwchat'
+apachefile='/etc/apache2/sites-available/jwchat.conf'
case "$1" in
remove)
- if [ -x /usr/sbin/a2dissite -a -x /etc/init.d/apache2 -a -L /etc/apache2/sites-enabled/jwchat ]; then
- a2dissite jwchat
- invoke-rc.d apache2 force-reload
+ if [ -e /usr/share/apache2/apache2-maintscript-helper ] ; then
+ . /usr/share/apache2/apache2-maintscript-helper
+ apache2_invoke dissite jwchat
fi
;;
diff -Nru jwchat-1.0+dfsg/debian/preinst jwchat-1.0+dfsg/debian/preinst
--- jwchat-1.0+dfsg/debian/preinst 1970-01-01 01:00:00.000000000 +0100
+++ jwchat-1.0+dfsg/debian/preinst 2013-09-16 20:18:49.000000000 +0200
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+set -e
+
+oldapachefile='/etc/apache2/sites-available/jwchat'
+
+case "$1" in
+ install|upgrade)
+ if dpkg --compare-versions "$2" le "1.0+dfsg-1.1"; then
+ if [ -e $oldapachefile ] ; then
+ mv $oldapachefile $oldapachefile.dpkg-backup
+ fi
+ fi
+esac
+
+#DEBHELPER#
More information about the Pkg-xmpp-devel
mailing list