[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#921620: stretch-pu: package debian-edu-config/1.929+deb9u2



Package: release.debian.org
Severity: normal
Tags: stretch
User: release.debian.org@packages.debian.org
Usertags: pu

Hi,

we would like to update debian-edu-config in stretch with the following
changes (with the distribution set to stretch obviously), which are all
available in buster since several months:

debian-edu-config (1.929+deb9u2) UNRELEASED; urgency=medium

  [ Wolfgang Schweer ]
  * Fix configuration of personal web pages. (Closes: #866228).
    - Set right order of linking in cf/cf.apache2.
    - Add conditional code to d/d-e-c.postinst to fix the wrong configuration
      generated via the cfengine run during main server installation
      (introduced in version 1.926).
  * Re-enable offline installation of a combi server including diskless
    workstation support. (Closes: #867271, #904331).
    - 015-edu-apt-source: fix apt-get options to be able to use a repo of
      type 'file://'. As 'media/cdrom/' in the LTSP chroot is treated as
      such a repo, add 'acquire::check-valid-until=0' to APT_GET_OPTS;
      otherwise installation fails because the Release file is expired.
    - 032-edu-pkgs: Move all diskless workstation installation parts to
      the finalization stage of LTSP chroot installation.
  * Enable Chromium homepage setting at installation time and via LDAP as
    further improvements for the fix for bug #891262 in version 1.929+deb9u1:
    - Add cf/cf.chromium (cfengine).
    - Add debian/debian-edu-config.chromium-ldapconf (init script).
    - Add share/debian-edu-config/tools/update-chromium-homepage (used by
      both cfengine and the init script).
    - Adjust Makefile and debian/rules.

  [ Mike Gabriel ]
  * update-chromium-homepage:
    - Don't complain about non-existing config file when attempting its removal.
    - Don't statically set http://www as homepage, use detected homepage
      instead. (Closes: #911790)

$ debdiff debian-edu-config_1.929+deb9u1.dsc  debian-edu-config_1.929+deb9u2.dsc|diffstat
 Makefile                                                              |    2 
 cf/cf.apache2                                                         |    7 -
 cf/cf.chromium                                                        |    8 +
 debian/changelog                                                      |   32 +++++
 debian/debian-edu-config.chromium-ldapconf                            |   57 ++++++++++
 debian/debian-edu-config.postinst                                     |   12 ++
 debian/dirs                                                           |    1 
 debian/rules                                                          |    1 
 share/debian-edu-config/tools/update-chromium-homepage                |   40 +++++++
 share/ltsp/plugins/ltsp-build-client/Debian-custom/015-edu-apt-source |    2 
 share/ltsp/plugins/ltsp-build-client/Debian-custom/032-edu-pkgs       |   14 --
 11 files changed, 161 insertions(+), 15 deletions(-)

The full diff is attached.

Thanks for your work on Stretch!

-- 
tschau,
	Holger

-------------------------------------------------------------------------------
               holger@(debian|reproducible-builds|layer-acht).org
       PGP fingerprint: B8BF 5413 7B09 D35C F026 FE9D 091A B856 069A AA1C
diff -Nru debian-edu-config-1.929+deb9u1/cf/cf.apache2 debian-edu-config-1.929+deb9u2/cf/cf.apache2
--- debian-edu-config-1.929+deb9u1/cf/cf.apache2	2018-02-23 23:11:10.000000000 +0100
+++ debian-edu-config-1.929+deb9u2/cf/cf.apache2	2018-10-29 19:07:55.000000000 +0100
@@ -1,13 +1,16 @@
 links:
   debian.server.installation::
     /etc/php/apache2/php.ini ->! /etc/php/apache2/php-debian-edu.ini
-    /etc/apache2/mods-available/userdir.load ->! /etc/apache2/mods-available/debian-edu-userdir.load
+    /etc/apache2/mods-available/debian-edu-userdir.load ->! /etc/apache2/mods-available/userdir.load
 
 shellcommands:
   debian.server.installation::
       # Generate the snakeoil selfsigned certificate using the make-ssl-cert tool
       "/usr/sbin/make-ssl-cert generate-default-snakeoil"
-      # Enabling userdir, create a directory ~/public_html to make it available on web as http://tjener.intern/~username.
+      # Disable default userdir.
+      "/usr/sbin/a2dismod userdir"
+      # Enabling debian-edu-userdir; create a directory ~/public_html
+      # to make it available as https://www/~<username>.
       "/usr/sbin/a2enmod debian-edu-userdir"
       # Enabling ssl
       "/usr/sbin/a2enmod ssl"
diff -Nru debian-edu-config-1.929+deb9u1/cf/cf.chromium debian-edu-config-1.929+deb9u2/cf/cf.chromium
--- debian-edu-config-1.929+deb9u1/cf/cf.chromium	1970-01-01 01:00:00.000000000 +0100
+++ debian-edu-config-1.929+deb9u2/cf/cf.chromium	2018-10-29 19:07:55.000000000 +0100
@@ -0,0 +1,8 @@
+shellcommands:
+	# Change default Chromium homepage. Standalone machines get our project page,
+	# while school machines get the school start page from LDAP.
+	# The clients using LDAP also update the pages at boot.
+	debian.installation.standalone::
+	"/usr/share/debian-edu-config/tools/update-chromium-homepage http\://www.skolelinux.org/"
+	debian.installation.!standalone::
+		"/usr/share/debian-edu-config/tools/update-chromium-homepage ldap\:homepage"
diff -Nru debian-edu-config-1.929+deb9u1/debian/changelog debian-edu-config-1.929+deb9u2/debian/changelog
--- debian-edu-config-1.929+deb9u1/debian/changelog	2018-02-23 23:11:10.000000000 +0100
+++ debian-edu-config-1.929+deb9u2/debian/changelog	2018-10-29 19:07:55.000000000 +0100
@@ -1,3 +1,35 @@
+debian-edu-config (1.929+deb9u2) UNRELEASED; urgency=medium
+
+  [ Wolfgang Schweer ]
+  * Fix configuration of personal web pages. (Closes: #866228).
+    - Set right order of linking in cf/cf.apache2.
+    - Add conditional code to d/d-e-c.postinst to fix the wrong configuration
+      generated via the cfengine run during main server installation
+      (introduced in version 1.926).
+  * Re-enable offline installation of a combi server including diskless
+    workstation support. (Closes: #867271, #904331).
+    - 015-edu-apt-source: fix apt-get options to be able to use a repo of
+      type 'file://'. As 'media/cdrom/' in the LTSP chroot is treated as
+      such a repo, add 'acquire::check-valid-until=0' to APT_GET_OPTS;
+      otherwise installation fails because the Release file is expired.
+    - 032-edu-pkgs: Move all diskless workstation installation parts to
+      the finalization stage of LTSP chroot installation.
+  * Enable Chromium homepage setting at installation time and via LDAP as
+    further improvements for the fix for bug #891262 in version 1.929+deb9u1:
+    - Add cf/cf.chromium (cfengine).
+    - Add debian/debian-edu-config.chromium-ldapconf (init script).
+    - Add share/debian-edu-config/tools/update-chromium-homepage (used by
+      both cfengine and the init script).
+    - Adjust Makefile and debian/rules.
+
+  [ Mike Gabriel ]
+  * update-chromium-homepage:
+    - Don't complain about non-existing config file when attempting its removal.
+    - Don't statically set http://www as homepage, use detected homepage
+      instead. (Closes: #911790)
+
+ -- Wolfgang Schweer <wschweer@arcor.de>  Mon, 29 Oct 2018 19:07:55 +0100
+
 debian-edu-config (1.929+deb9u1) stretch; urgency=medium
 
   [ Wolfgang Schweer ]
diff -Nru debian-edu-config-1.929+deb9u1/debian/debian-edu-config.chromium-ldapconf debian-edu-config-1.929+deb9u2/debian/debian-edu-config.chromium-ldapconf
--- debian-edu-config-1.929+deb9u1/debian/debian-edu-config.chromium-ldapconf	1970-01-01 01:00:00.000000000 +0100
+++ debian-edu-config-1.929+deb9u2/debian/debian-edu-config.chromium-ldapconf	2018-10-29 19:07:55.000000000 +0100
@@ -0,0 +1,57 @@
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides:          chromium-ldapconf
+# Required-Start:    $remote_fs slapd
+# Required-Stop:     $remote_fs
+# Should-Start:      $network $syslog $named slapd fetch-ldap-cert
+# Default-Start:     2 3 4 5
+# Default-Stop:
+# Short-Description: Update chromium configuration from LDAP
+# Description:
+#   Update default chromium default setup (currently only homepage)
+#   from LDAP.  Check LDAP every boot to see if the default homepage
+#   should be changed or not.
+### END INIT INFO
+#
+# Author: Petter Reinholdtsen <pere@hungry.com>
+# Date:   2011-12-31
+
+set -e
+
+. /lib/lsb/init-functions
+
+if [ -e /etc/debian-edu/config ] ; then
+    . /etc/debian-edu/config
+fi
+
+do_start() {
+    # Skip this on LTSP chroots
+    if [ -e /etc/ltsp_chroot ] ; then
+        return
+    fi
+
+    # Only networked profiles use LDAP
+    if echo "$PROFILE" | egrep -q 'Main-Server|Workstation|Roaming-Workstation|LTSP-Server|Thin-Client-Server|Minimal' ; then
+	/usr/share/debian-edu-config/tools/update-chromium-homepage ldap:homepage
+    fi
+
+    if echo "$PROFILE" | grep -q LTSP-Server  && [ -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-chromium-homepage ldap:homepage
+	done
+    fi
+}
+
+case "$1" in
+    start)
+	do_start
+	;;
+    stop)
+	;;
+    restart|force-reload)
+	;;
+    *)
+	echo "Usage: $0 {start|stop|restart|force-reload}"
+	exit 2
+esac
+exit 0
diff -Nru debian-edu-config-1.929+deb9u1/debian/debian-edu-config.postinst debian-edu-config-1.929+deb9u2/debian/debian-edu-config.postinst
--- debian-edu-config-1.929+deb9u1/debian/debian-edu-config.postinst	2018-02-23 23:11:10.000000000 +0100
+++ debian-edu-config-1.929+deb9u2/debian/debian-edu-config.postinst	2018-10-29 19:07:55.000000000 +0100
@@ -127,6 +127,18 @@
 
 case "$1" in
 configure)
+    if dpkg --compare-versions "$2" le "1.929+deb9u2" && dpkg --compare-versions "$2" ge "1.926" && \
+        egrep -q "(Main-Server)" /etc/debian-edu/config ; then
+       rm /etc/apache2/mods-available/userdir.load
+       cp /etc/apache2/mods-available/status.load /etc/apache2/mods-available/userdir.load
+       sed -i 's/status/userdir/g' /etc/apache2/mods-available/userdir.load
+       if ! [ -L /etc/apache2/mods-available/debian-edu-userdir.load ] ; then
+           ln -s /etc/apache2/mods-available/userdir.load /etc/apache2/mods-available/debian-edu-userdir.load
+       fi
+       a2enmod debian-edu-userdir
+        service apache2 restart
+    fi
+
     if dpkg --compare-versions "$2" le "1.818+deb8u1" && [ -L /usr/bin/firefox-esr ] ; then
 	if [ -L /etc/iceweasel/pref/debian-edu-networked.js ] ; then
 	    rm /etc/iceweasel/pref/debian-edu-networked.js
diff -Nru debian-edu-config-1.929+deb9u1/debian/dirs debian-edu-config-1.929+deb9u2/debian/dirs
--- debian-edu-config-1.929+deb9u1/debian/dirs	2018-02-23 23:11:10.000000000 +0100
+++ debian-edu-config-1.929+deb9u2/debian/dirs	2018-10-29 19:07:55.000000000 +0100
@@ -2,6 +2,7 @@
 etc/apache2
 etc/apache2/sites-available
 etc/apache2/mods-available
+etc/chromium/policies/managed
 etc/cfengine/debian-edu
 etc/courier
 etc/cron.d
diff -Nru debian-edu-config-1.929+deb9u1/debian/rules debian-edu-config-1.929+deb9u2/debian/rules
--- debian-edu-config-1.929+deb9u1/debian/rules	2018-02-23 23:11:10.000000000 +0100
+++ debian-edu-config-1.929+deb9u2/debian/rules	2018-10-29 19:07:55.000000000 +0100
@@ -13,6 +13,7 @@
 	dh_installinit --init-script fetch-ldap-cert -r --no-start -u"start 95 2 3 4 5 ."
 	# Start it after 15bind9, 19slapd and 95fetch-ldap-cert, and add some to be sure
 	dh_installinit --init-script firefox-ldapconf -r --no-start -u"start 96 2 3 4 5 ."
+	dh_installinit --init-script chromium-ldapconf -r --no-start -u"start 97 2 3 4 5 ."
 	dh_installinit --init-script enable-nat --no-start
 
 override_dh_gconf:
diff -Nru debian-edu-config-1.929+deb9u1/Makefile debian-edu-config-1.929+deb9u2/Makefile
--- debian-edu-config-1.929+deb9u1/Makefile	2018-02-23 23:11:10.000000000 +0100
+++ debian-edu-config-1.929+deb9u2/Makefile	2018-10-29 19:07:55.000000000 +0100
@@ -42,6 +42,7 @@
 	cf.adduser \
 	cf.apache2 \
 	cf.apt \
+	cf.chromium \
 	cf.cfengine \
 	cf.cups \
 	cf.dhcpserver \
@@ -388,6 +389,7 @@
 		share/debian-edu-config/tools/squid-update-cachedir \
 		share/debian-edu-config/tools/subnet-change \
 		share/debian-edu-config/tools/update-firefox-homepage \
+                share/debian-edu-config/tools/update-chromium-homepage \
 		share/debian-edu-config/tools/update-proxy-from-wpad \
 		share/debian-edu-config/tools/wpad-extract \
 		share/debian-edu-config/tools/debian-edu-dovecot-create-cert \
diff -Nru debian-edu-config-1.929+deb9u1/share/debian-edu-config/tools/update-chromium-homepage debian-edu-config-1.929+deb9u2/share/debian-edu-config/tools/update-chromium-homepage
--- debian-edu-config-1.929+deb9u1/share/debian-edu-config/tools/update-chromium-homepage	1970-01-01 01:00:00.000000000 +0100
+++ debian-edu-config-1.929+deb9u2/share/debian-edu-config/tools/update-chromium-homepage	2018-10-29 19:07:55.000000000 +0100
@@ -0,0 +1,40 @@
+#!/bin/sh
+#
+# Set default Chromium homepage based on URL fetched from
+# command line or LDAP.
+
+set -e
+
+etcfile=/etc/chromium/policies/managed/debian-edu-homepage-ldap.json
+
+if [ ldap:homepage = "$1" ] ; then
+    # Allow lookup script to be replaced using /etc/debian-edu/config
+    GETDEFAULTHOMEPAGE=/usr/share/debian-edu-config/tools/get-default-homepage
+    if [ -e /etc/debian-edu/config ] ; then
+	. /etc/debian-edu/config
+    fi
+    url="$($GETDEFAULTHOMEPAGE || true)"
+    if [ -z "$url" ] ; then # No LDAP available On main-server during installation
+        url="https://www/";
+    fi
+else
+    url="$1"
+fi
+
+if [ -z "$url" ] || [ "about:blank" = "$url" ]; then
+    rm $etcfile
+else
+    cat > $etcfile.new <<EOF
+{
+  "HomepageLocation" : "$url",
+  "HomepageIsNewTabPage" : false
+}
+EOF
+    chmod 644 $etcfile.new
+    if cmp -s $etcfile $etcfile.new ; then
+	rm $etcfile.new
+    else
+	mv $etcfile.new $etcfile
+	logger -t update-chromium-homepage "Updated Chromium default homepage to $url."
+    fi
+fi
diff -Nru debian-edu-config-1.929+deb9u1/share/ltsp/plugins/ltsp-build-client/Debian-custom/015-edu-apt-source debian-edu-config-1.929+deb9u2/share/ltsp/plugins/ltsp-build-client/Debian-custom/015-edu-apt-source
--- debian-edu-config-1.929+deb9u1/share/ltsp/plugins/ltsp-build-client/Debian-custom/015-edu-apt-source	2018-02-23 23:11:10.000000000 +0100
+++ debian-edu-config-1.929+deb9u2/share/ltsp/plugins/ltsp-build-client/Debian-custom/015-edu-apt-source	2018-10-29 19:07:55.000000000 +0100
@@ -7,7 +7,7 @@
             echo "Detected CD install, disabling APT repository checking."
             LTSP_CDROM_INSTALL=true
             APT_GET_OPTS="$APT_GET_OPTS \
-                           --allow-unauthenticated"
+                           --allow-unauthenticated -o acquire::check-valid-until=0"
             # Make sure LTSP use a local repository if it is used by
             # the system too.  FIXME Should really check the CD for list
             # of components.
diff -Nru debian-edu-config-1.929+deb9u1/share/ltsp/plugins/ltsp-build-client/Debian-custom/032-edu-pkgs debian-edu-config-1.929+deb9u2/share/ltsp/plugins/ltsp-build-client/Debian-custom/032-edu-pkgs
--- debian-edu-config-1.929+deb9u1/share/ltsp/plugins/ltsp-build-client/Debian-custom/032-edu-pkgs	2018-02-23 23:11:10.000000000 +0100
+++ debian-edu-config-1.929+deb9u2/share/ltsp/plugins/ltsp-build-client/Debian-custom/032-edu-pkgs	2018-10-29 19:07:55.000000000 +0100
@@ -432,24 +432,14 @@
         cat > $ROOT/etc/dpkg/dpkg.cfg.d/force-unsafe-io <<EOF
 force-unsafe-io
 EOF
-        if [ -n "$option_diskless_edu_workstation_value" ]; then
-            install_diskless_workstation
-        fi
-        ;;
-    after-install)
-        # This part myst run in after-install instead of configure to
-        # install packages after common/010-mount-proc is executed to
-        # make sure /proc is available when asking tasksel/apt to
-        # install Java packages.
-        if [ -n "$option_diskless_edu_workstation_value" ]; then
-            after_install_diskless_workstation
-        fi
         ;;
     finalization)
         # Run final setup in finalization step and not in
         # after-install to make sure boot system modifications are
         # done after the ones done in LTSP by default.
         if [ -n "$option_diskless_edu_workstation_value" ]; then
+            install_diskless_workstation
+            after_install_diskless_workstation
             finalization_diskless_workstation
             if [ "true" = "$LTSP_CDROM_INSTALL" ]; then
                 rm -f $ROOT/etc/apt/apt.conf.d/90ltsp-build-client

Attachment: signature.asc
Description: PGP signature


Reply to: