[Pkg-tcltk-devel] Bug#681016: [release.debian.org] unblock: dotlrn/2.5.0+dfsg-8

Adam D. Barratt adam at adam-barratt.org.uk
Tue Oct 2 18:48:42 UTC 2012


Control: tags -1 + moreinfo
Control: retitle -1 unblock: dotlrn/2.5.0+dfsg-6+wheezy2

On Tue, 2012-10-02 at 01:38 +0200, Hector Romojaro wrote:
> I have uploaded the new version containing the fix for the new RC bug
> previously mentioned to svn, and asked for upload to t-p-u to my
> sponsor[1].

Thanks.  btw, I'm assuming these issues also apply to the package in
unstable? If so then they should really be fixed there too.

> About the bug and the fix, the problem was that /etc/dotlrn/config.tcl
> was being modified by debconf on the install and, as it's marked as a
> conffile, on the upgrade is detected as modified by the user (even if
> that's not the case).
> 
> The fix consists in using another file (/etc/dotlrn/config.local)
> containing the local config values, managed bu ucf and modified by
> debconf on the install, and import these values from the original
> config.tcl file. Also, the preinst script tries to revert the config.tcl
> to its primordial state so it's not detected as modified on the upgrade.

Looking through the diff, I had a few queries:

+            ucf --debconf-ok $localconfigtmp $localconfig || cp -f $localconfigtmp $localconfig

Under what circumstances might ucf fail in a way that would necessitate
the forced copying?

+            chmod 640 $localconfig
+            chown www-data:www-data $localconfig

This looks like it would overwrite any local changes made to the
permissions?

+        rm -f /etc/aolserver4/conf.d/dotlrn.tcl /etc/aolserver4/conf.d/dotlrn.sh
+        # Start aolserver after removal
+        [ -f /etc/init.d/aolserver4 ] && invoke-rc.d aolserver4 start

What's the logic here? If the intention is to make aolserver4 notice
that the configuration files have gone away then "restart" would
probably be more appropriate? There is a potential issue here though if
the service wasn't actually running before dotlrn was removed.

+    # If the file was not modified by the user, then we can restore
+    # it to its initial state (before running postinst and modify it
+    # with debconf values) by deleting the modified lines.
+    #
+    # See Bug #688435
+    #  
+    if dpkg --compare-versions "$2" le "2.5.0+dfsg-6+wheezy1"
+    then
+        # Reset config.tcl to its primordial state
+        sed -i '/set db_host/,/set db_user/d' /etc/dotlrn/config.tcl
+    fi

If the file had been modified by the user, you've just overwritten their
changes? I guess that would already have happened with the forced
debconf overwrite. :-(

Regards,

Adam




More information about the Pkg-tcltk-devel mailing list