On Wed, Aug 03, 2016 at 08:44:06AM +0200, Petter Reinholdtsen wrote:

> There is no way to know if 3 minutes is going to be enough, and a 
> simple reboot after installation might cause the at job to not be 
> executed.

Both cases could be dealt with, I guess:

diff --git a/debian/sitesummary.postinst b/debian/sitesummary.postinst
index 3401acf..98cd550 100644
--- a/debian/sitesummary.postinst
+++ b/debian/sitesummary.postinst
@@ -70,17 +70,31 @@ case "$1" in
         # Close debconf file handles before restarting Apache
         db_stop
 
-        # Enable it on fresh installations as before Apache 2.4.  Check for
-        # cgi.load existence to avoid trying to configure when installed after
-        # apache2 is unpacked but not yet configured (bug #760084).
-        if [ -z "$2" ] && \
-            [ -e /etc/apache2/mods-available/cgi.load ] && \
-            [ -e /usr/share/apache2/apache2-maintscript-helper ] ; then
-            . /usr/share/apache2/apache2-maintscript-helper
-            apache2_invoke enmod cgi.load
-            apache2_invoke enconf sitesummary.conf
-        fi
-
+        # Enable it on fresh installations as before Apache 2.4, but
+        # delay apache2 configuration for the case both packages are installed
+        # in parallel (workaround for bug #760084).
+       if [ -z "$2" ] && [ -e /etc/apache2/mods-available/cgi.load ] ; then
+           a2enmod cgi
+           a2enconf sitesummary
+           service apache2 restart
+       fi
+       if [ -e /etc/apache2/mods-available/cgi.load.dpkg-new ] ; then
+       echo "while ! [ -e /etc/apache2/mods-available/cgi.load ] ; do" >> 
/tmp/atfile
+       echo "    sleep 2" >> /tmp/atfile
+       echo "done" >> /tmp/atfile
+       echo "if [ -e /etc/apache2/mods-available/cgid.load ] ; then" >> 
/tmp/atfile
+       echo "    a2enmod cgid" >> /tmp/atfile
+       echo "else" >> /tmp/atfile
+       echo "    a2enmod cgi" >> /tmp/atfile
+       echo "fi" >> /tmp/atfile
+       echo "a2enconf sitesummary" >> /tmp/atfile
+       echo "while ! [ -e /etc/init.d/apache2 ] ; do" >> /tmp/atfile
+       echo "    sleep 2" >> /tmp/atfile
+       echo "done" >> /tmp/atfile
+       echo "service apache2 restart" >> /tmp/atfile
+       echo "rm /tmp/atfile" >> /tmp/atfile
+       at -f /tmp/atfile now
+       fi
         # Make sure the cgi script can write to the storage area
        chown www-data /var/lib/sitesummary/tmpstorage \
            /var/lib/sitesummary/entries

> Is there a way we could fix this by adding a dpkg trigger?  It was the 
> suggestion from the apt maintainers.
 
No idea how to implement it.

Wolfgang

Attachment: signature.asc
Description: Digital signature

Reply via email to