On Sun, Jul 10, 2016 at 09:21:59AM +0000, Holger Levsen wrote:
> Hi Wolfgang,
> 
> On Thu, Jul 07, 2016 at 11:58:14PM +0200, Wolfgang Schweer wrote:
> > Not quite sure, but these changes to d-e-c postinst and preinst seem to 
> > handle all cases. Please test:
> > 
> > diff --git a/debian/debian-edu-config.postinst 
> > b/debian/debian-edu-config.postinst
> > diff --git a/debian/debian-edu-config.preinst 
> > b/debian/debian-edu-config.preinst
> 
> thanks, applied to the git master branch.
 
To improve it:
- Check if firefox-esr is really installed before removing iceweasel 
configuration.
- Use postinst rather than preinst for most actions.
- Update firefox-homepage instantly.
- Handle LTSP chroot case.  

Please check and/or test.

diff --git a/debian/debian-edu-config.postinst 
b/debian/debian-edu-config.postinst
index b4bc494..f34760d 100644
--- a/debian/debian-edu-config.postinst
+++ b/debian/debian-edu-config.postinst
@@ -236,15 +236,37 @@ configure)
        rm_conffile debian-edu-config /etc/powerdns/pdns.d/pdns-debian-edu.conf
     fi
 
-    if dpkg --compare-versions "$2" le "1.818+deb8u1" && [ -e /etc/firefox-esr 
] ; then
+    if dpkg --compare-versions "$2" le "1.818+deb8u1" && [ -L 
/usr/bin/firefox-esr ] ; then
+       rm_conffile debian-edu-config 
/etc/X11/Xsession.d/06debian-edu-iceweasel-ltsp
+       rm_conffile debian-edu-config 
/etc/apt/apt.conf.d/99-edu-prefer-iceweasel
+       rm_conffile debian-edu-config /etc/init.d/iceweasel-ldapconf
+       rm_conffile debian-edu-config /etc/cfengine/debian-edu/cf.iceweasel
+       if [ -L /etc/iceweasel/pref/debian-edu-networked.js ] ; then
+           rm /etc/iceweasel/pref/debian-edu-networked.js
+       fi
+       rm_conffile debian-edu-config 
/usr/share/debian-edu-config/iceweacel-networked-prefs.js
+       if [ -e /etc/iceweasel/pref/debian-edu-homepage-ldap.js ] ; then
+           rm /etc/iceweasel/pref/debian-edu-homepage-ldap.js
+       fi
+       if [ -e /etc/iceweasel/profile/cert_override.txt ] ; then
+           rm /etc/iceweasel/profile/cert_override.txt
+       fi
        # for networked profiles only.
-       if egrep Standalone /etc/debian-edu/config; then
+       if grep -q Standalone /etc/debian-edu/config; then
            :
-        else
+       else
            if ! [ -e /etc/firefox-esr/debian-edu-networked.js ] ; then
-               ln -s /usr/share/debian-edu-config/firefox-networked-prefs.js 
/etc/firefox-esr/debian-edu-networked.js
+               ln -s /usr/share/debian-edu-config/firefox-networked-prefs.js 
/etc/firefox-esr/debian-edu-networked.js
+               if ! [ -e /etc/ltsp_chroot ] ; then
+                   /usr/share/debian-edu-config/tools/update-firefox-homepage 
ldap:homepage
+                   if grep -q Thin-Client-Server /etc/debian-edu/config && [ 
-d /opt/ltsp ] ; then
+                       for ltsp_chroot in `find /opt/ltsp/ -mindepth 1 
-maxdepth 1 -type d`; do
+                           chroot $ltsp_chroot 
/usr/share/debian-edu-config/tools/update-firefox-homepage ldap:homepage
+                       done
+                   fi
+               fi
            fi
-        fi
+       fi
     fi
 
     # sssd refuses to read the file if it has any other mode
diff --git a/debian/debian-edu-config.preinst b/debian/debian-edu-config.preinst
index 2e34148..7fa22b4 100644
--- a/debian/debian-edu-config.preinst
+++ b/debian/debian-edu-config.preinst
@@ -48,32 +48,9 @@ upgrade)
        update-rc.d -f open-backdoor remove
        rm_conffile debian-edu-config /etc/init.d/open-backdoor
     fi
-
-    if dpkg --compare-versions "$2" le "1.818+deb8u1" && [ -e /etc/firefox-esr 
] ; then
-       if [ -e /etc/X11/Xsession.d/06debian-edu-iceweasel-ltsp ] ; then
-           rm /etc/X11/Xsession.d/06debian-edu-iceweasel-ltsp
-        fi
-       if [ -e /etc/apt/apt.conf.d/99-edu-prefer-iceweasel ] ; then
-           rm /etc/apt/apt.conf.d/99-edu-prefer-iceweasel
-        fi
-       if [ -e /etc/init.d/iceweasel-ldapconf ] ; then
-           rm /etc/init.d/iceweasel-ldapconf
-        fi
-       if [ -e /etc/cfengine/debian-edu/cf.iceweasel ] ; then
-           rm /etc/cfengine/debian-edu/cf.iceweasel
-        fi
-       if [ -e /usr/share/debian-edu-config/iceweacel-networked-prefs.js ] ; 
then
-           rm /usr/share/debian-edu-config/iceweacel-networked-prefs.js
-        fi
-       if [ -L /etc/iceweasel/pref/debian-edu-networked.js ] ; then
-           rm /etc/iceweasel/pref/debian-edu-networked.js
-        fi
-       if [ -e /etc/iceweasel/pref/debian-edu-homepage-ldap.js ] ; then
-           rm /etc/iceweasel/pref/debian-edu-homepage-ldap.js
-        fi
-       if [ -L /etc/firefox-esr/debian-edu-networked.js ] ; then
-           rm /etc/firefox-esr/debian-edu-networked.js
-        fi
+    # Just in case linking has already been done manually to previous file.
+    if dpkg --compare-versions "$2" le "1.818+deb8u1" && [ -L 
/etc/firefox-esr/debian-edu-networked.js ] ; then
+       rm /etc/firefox-esr/debian-edu-networked.js
     fi
     ;;
 esac


Wolfgang

Attachment: signature.asc
Description: Digital signature

Reply via email to