On Sun, Sep 22, 2013 at 10:21:03AM +0100, Julian Gilbey wrote:
> On Fri, Aug 02, 2013 at 05:41:25PM +0100, Julian Gilbey wrote:
> > Package: dhelp
> > Version: 0.6.21+nmu2
> > Severity: serious
> > 
> > Apache has been upgraded from version 2.2 to version 2.4, with the
> > consequence that the /etc/apache2/conf.d directory is no longer
> > supported.  Please upgrade the package to support the new version!
> > 
> > There is guidance available in
> > http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=669837
> > for the phppgadmin package; dhelp will presumably be similar.
> > 
> > If I were capable of providing a dhelp specific patch at the current
> > time, I would, but I'm only just looking at the transition myself.
> > 
> >    Julian
> 
> It's now worse than that: on a fresh testing install, I can't install
> dhelp, and then I can't purge the broken package either :-(
> It's complaining as follows during the configure phase:
> 
> Setting up dhelp (0.6.21+nmu2) ...
> Building HTML tree...Invalid format Text for lilypond (GNU LilyPond, the 
> music typesetter)
> Invalid format Text for lilypond (GNU LilyPond, the music typesetter)
>  done.
> apache2-maintscript-helper invoked from a modified environment. Please hint 
> required arguments manually
> dpkg: error processing dhelp (--configure):
>  subprocess installed post-installation script returned error exit status 1
> Processing triggers for menu ...
> Errors were encountered while processing:
>  dhelp

I've figured out the bug and fixed it - I've uploaded a patched
version to DELAYED-5.

The full patch is attached.  The tweaks to the lighttpd part may not
be necessary, but they parallel the ones to the apache section.  It
could also have been dealt with by setting APACHE2_MAINTSCRIPT_METHOD,
but that seemed a little more clunky.

   Julian
diff -Nru dhelp-0.6.21+nmu2/config/apache-dhelp-2.2.conf dhelp-0.6.21+nmu3/config/apache-dhelp-2.2.conf
--- dhelp-0.6.21+nmu2/config/apache-dhelp-2.2.conf	1970-01-01 01:00:00.000000000 +0100
+++ dhelp-0.6.21+nmu3/config/apache-dhelp-2.2.conf	2013-09-22 10:57:30.000000000 +0100
@@ -0,0 +1,53 @@
+# This config file is for Apache version 2.2.x and is installed
+# into /etc/apache2/conf.d.  It is ignored by Apache version 2.4.x;
+# that has its own configuration file available in
+# /etc/apache2/conf-available
+<Location ~ /cgi-bin/d(search|help_fetcher)(\?.*)?>
+  order deny,allow
+  deny from all
+  allow from localhost
+  Options -Indexes -MultiViews
+</Location>
+
+<Directory /usr/share/doc>
+  order deny,allow
+  deny from all
+  allow from localhost
+  Options Indexes MultiViews FollowSymLinks
+</Directory>
+
+# The following directives are needed for the operation of Debian Online Help
+# and are assumed to already be enabled on the server's configuration:
+#
+#Alias /doc /usr/share/doc
+#
+#ScriptAlias /cgi-bin /usr/lib/cgi-bin
+#<Directory /usr/lib/cgi-bin>
+#  AllowOverride None
+#  Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
+#  order allow,deny
+#  allow from all
+#</Directory>
+#
+# Note that enabling /doc/ alias may result in a security vulnerability,
+# specifically CVE-2012-0216. Thus newer versions of the apache2 package
+# do NOT have the /doc/ alias enabled by default. 
+#
+# See http://www.debian.org/security/2012/dsa-2452 for reference and to
+# decide whether the conditions stated there apply to your case.
+#
+# Then, enable the /doc/ alias by uncommenting the line above, if you judge
+# that it is secure to do so. Else you can uncomment the following two lines
+# to allow a secure partial operation of Debian Online Help, even if the
+# above vulnerability is present:
+#
+#Alias /doc/HTML /usr/share/doc/HTML
+#Alias /doc/dhelp/css /usr/share/doc/dhelp/css
+#
+# Using the above two alias you will be able to see descriptions and search
+# for terms, but the documents themselves will be inaccessible. You will need
+# to manually add an alias directive *for each document* that you want it to
+# become accessible.
+#
+# See also /usr/share/doc/dhelp/README.Debian for more information.
+
diff -Nru dhelp-0.6.21+nmu2/config/apache-dhelp.conf dhelp-0.6.21+nmu3/config/apache-dhelp.conf
--- dhelp-0.6.21+nmu2/config/apache-dhelp.conf	2012-06-12 19:59:55.000000000 +0100
+++ dhelp-0.6.21+nmu3/config/apache-dhelp.conf	2013-09-22 11:00:01.000000000 +0100
@@ -1,14 +1,14 @@
+# This config file is for Apache version 2.4.x and is installed
+# into /etc/apache2/conf-available.  It is ignored by Apache version 2.2.x;
+# that has its own configuration file available in
+# /etc/apache2/conf.d
 <Location ~ /cgi-bin/d(search|help_fetcher)(\?.*)?>
-  order deny,allow
-  deny from all
-  allow from localhost
+  Require local
   Options -Indexes -MultiViews
 </Location>
 
 <Directory /usr/share/doc>
-  order deny,allow
-  deny from all
-  allow from localhost
+  Require local
   Options Indexes MultiViews FollowSymLinks
 </Directory>
 
@@ -27,7 +27,7 @@
 # Note that enabling /doc/ alias may result in a security vulnerability,
 # specifically CVE-2012-0216. Thus newer versions of the apache2 package
 # do NOT have the /doc/ alias enabled by default. 
-#
+# 
 # See http://www.debian.org/security/2012/dsa-2452 for reference and to
 # decide whether the conditions stated there apply to your case.
 #
diff -Nru dhelp-0.6.21+nmu2/debian/changelog dhelp-0.6.21+nmu3/debian/changelog
--- dhelp-0.6.21+nmu2/debian/changelog	2013-05-17 16:58:27.000000000 +0100
+++ dhelp-0.6.21+nmu3/debian/changelog	2013-09-22 11:07:33.000000000 +0100
@@ -1,3 +1,13 @@
+dhelp (0.6.21+nmu3) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Fix apache2 2.4 issues: install different config files into
+    /etc/apache2/conf.d and /etc/apache2/conf-available (for versions 2.2
+    and 2.4 respectively), and call apache2-maintscript-helper with
+    correct parameters (Closes: #718588)
+
+ -- Julian Gilbey <j...@debian.org>  Sun, 22 Sep 2013 11:07:22 +0100
+
 dhelp (0.6.21+nmu2) unstable; urgency=low
 
   * Non-maintainer upload.
diff -Nru dhelp-0.6.21+nmu2/debian/postinst dhelp-0.6.21+nmu3/debian/postinst
--- dhelp-0.6.21+nmu2/debian/postinst	2012-06-14 20:28:01.000000000 +0100
+++ dhelp-0.6.21+nmu3/debian/postinst	2013-09-22 10:40:57.000000000 +0100
@@ -165,8 +165,8 @@
 
     # Try to enable web server configs (at most one is expected to succeed)
 
-    try_chconf_apache2  "enable" dhelp || true
-    try_chconf_lighttpd "enable" dhelp || true
+    try_chconf_apache2  "$1" "enable" dhelp || true
+    try_chconf_lighttpd "$1" "enable" dhelp || true
 
     # Create the full text search index at the end of postinst.
 
diff -Nru dhelp-0.6.21+nmu2/debian/prerm dhelp-0.6.21+nmu3/debian/prerm
--- dhelp-0.6.21+nmu2/debian/prerm	2012-06-14 20:28:01.000000000 +0100
+++ dhelp-0.6.21+nmu3/debian/prerm	2013-09-22 10:42:24.000000000 +0100
@@ -88,8 +88,8 @@
 *)
     # Disable our web server configuration snippets.
 
-    try_chconf_apache2  "disable" dhelp || true
-    try_chconf_lighttpd "disable" dhelp || true
+    try_chconf_apache2  "$1" "disable" dhelp || true
+    try_chconf_lighttpd "$1" "disable" dhelp || true
 
     # Cleanup the files installed by the postinst.
 
diff -Nru dhelp-0.6.21+nmu2/debian/scripts/httpd.sh dhelp-0.6.21+nmu3/debian/scripts/httpd.sh
--- dhelp-0.6.21+nmu2/debian/scripts/httpd.sh	2012-06-12 19:59:55.000000000 +0100
+++ dhelp-0.6.21+nmu3/debian/scripts/httpd.sh	2013-09-22 11:20:35.000000000 +0100
@@ -131,13 +131,14 @@
 # Try to (en/dis)able an apache2 configuration snippet.
 # Return error if (en/dis)abling tried and failed; caller *must* check status.
 # ARGS:
-# $1={enable,disable} $2=package [$3=name_of_snippet_if_different_from_package]
+# $1=maintscript-action (configure,abort-upgrade)
+# $2={enable,disable} $3=package [$4=name_of_snippet_if_different_from_package]
 #
 try_chconf_apache2 ()
 {
-    local action=${1}
-    local package=${2}
-    local confname=${3}
+    local action=${2}
+    local package=${3}
+    local confname=${4}
 
     local ret=0
     _check_action_and_package ${action} ${package} "try_chconf_apache2" \
@@ -148,9 +149,9 @@
 
     local confaction
     if [ "${action}" = "enable" ]; then
-        confaction=enmod
+        confaction=enconf
     else
-        confaction=dismod
+        confaction=disconf
     fi
 
     if [ "X${confname}" = "X" ]; then
@@ -201,13 +202,14 @@
 # Try to (en/dis)able a lighttpd configuration snippet.
 # Return error if (en/dis)abling tried and failed; caller *must* check status.
 # ARGS:
-# $1={enable,disable} $2=package [$3=name_of_snippet_if_different_from_package]
+# $1=maintscript-action (configure,abort-upgrade)
+# $2={enable,disable} $3=package [$4=name_of_snippet_if_different_from_package]
 #
 try_chconf_lighttpd ()
 {
-    local action=${1}
-    local package=${2}
-    local confname=${3}
+    local action=${2}
+    local package=${3}
+    local snippetname=${4}
 
     local ret=0
     _check_action_and_package ${action} ${package} "try_chconf_lighttpd" \
@@ -229,8 +231,8 @@
 
     local confname=${package}
 
-    if [ "X${2}" != "X" ]; then
-        confname=${2}
+    if [ "X${snippetname}" != "X" ]; then
+        confname=${snippetname}
     fi
 
     # lighty-xxx-mod will return 2 if no action is needed; workaround this.
diff -Nru dhelp-0.6.21+nmu2/Makefile dhelp-0.6.21+nmu3/Makefile
--- dhelp-0.6.21+nmu2/Makefile	2012-06-14 20:28:01.000000000 +0100
+++ dhelp-0.6.21+nmu3/Makefile	2013-09-22 11:03:54.000000000 +0100
@@ -1,6 +1,6 @@
 # Makefile for dhelp project
 
-# Copyright (C) 2005 Esteban Manchado Velázquez <z...@debian.org>
+# Copyright (C) 2005 Esteban Manchado Velázquez <z...@debian.org>
 # Copyright (C) 2012 Georgios M. Zarkadas <g...@member.fsf.org>
 
 # This file is free software; you can redistribute it and/or modify it
@@ -94,7 +94,7 @@
 ## Our and web servers configuration under /etc
 install-conf:
 	install -D --mode=644 config/dhelp.conf-sample $(confdir)/dhelp.conf
-	install -D --mode=644 config/apache-dhelp.conf $(confdir)/apache2/conf.d/dhelp.conf
+	install -D --mode=644 config/apache-dhelp-2.2.conf $(confdir)/apache2/conf.d/dhelp.conf
 	install -D --mode=644 config/apache-dhelp.conf $(confdir)/apache2/conf-available/dhelp.conf
 	install -D --mode=644 config/lighttpd-dhelp.conf $(confdir)/lighttpd/conf-available/95-dhelp.conf
 

Reply via email to