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