[debian-edu-commits] [Git][debian-edu/debian-edu-config][master] 8 commits: Add share/debian-edu-config/tools/install-task-pkgs as localization component.

WolfgangSchweer gitlab at salsa.debian.org
Tue Dec 25 16:54:38 GMT 2018


WolfgangSchweer pushed to branch master at Debian Edu / debian-edu-config


Commits:
8cea3615 by Wolfgang Schweer at 2018-12-25T13:56:46Z
Add share/debian-edu-config/tools/install-task-pkgs as localization component.

- - - - -
390f5544 by Wolfgang Schweer at 2018-12-25T13:59:06Z
Adjust Cfengine configuration (cf3/cf.finalize): call install-task-pkgs tool.

- - - - -
bdd38674 by Wolfgang Schweer at 2018-12-25T14:01:35Z
Drop share/ltsp/plugins/ltsp-build-client/Debian-custom/011-http-nopipeline
The workaround is no longer needed, related bug is fixed since some time.

- - - - -
eaca2fa4 by Wolfgang Schweer at 2018-12-25T14:04:52Z
Drop no longer needed workaround, bug fixed (ltsp 5.18.12-1).

- - - - -
b92fe352 by Wolfgang Schweer at 2018-12-25T14:08:28Z
Drop share/ltsp/plugins/ltsp-build-client/Debian-custom/015-edu-apt-source
The workaround is no longer now that official Debian ISO images are available.

- - - - -
96b4678d by Wolfgang Schweer at 2018-12-25T14:10:13Z
Drop share/ltsp/plugins/ltsp-build-client/Debian-custom/015-edu-apt-source
The workaround is no longer needed, bug is fixed (ltsp 5.18.12-1).

- - - - -
2b89ea8d by Wolfgang Schweer at 2018-12-25T14:13:35Z
Adjust etc/ltsp/ltsp-build-client.conf to match ltsp 5.18.12-1 settings.

- - - - -
032a6648 by Wolfgang Schweer at 2018-12-25T16:52:17Z
Adjust Makefile to reflect the changes.

- - - - -


9 changed files:

- Makefile
- cf3/cf.finalize
- debian/changelog
- etc/ltsp/ltsp-build-client.conf
- + share/debian-edu-config/tools/install-task-pkgs
- − share/ltsp/plugins/ltsp-build-client/Debian-custom/000-arch-detection
- − share/ltsp/plugins/ltsp-build-client/Debian-custom/011-http-nopipeline
- − share/ltsp/plugins/ltsp-build-client/Debian-custom/015-edu-apt-source
- − share/ltsp/plugins/ltsp-build-client/Debian-custom/095-squashfs-image


Changes:

=====================================
Makefile
=====================================
@@ -343,6 +343,7 @@ install: install-testsuite
 		share/debian-edu-config/tools/create-user-nssdb \
 		share/debian-edu-config/tools/copy-host-keytab \
 		share/debian-edu-config/tools/improve-desktop-l10n \
+		share/debian-edu-config/tools/install-task-pkgs \
 		share/debian-edu-config/ltspfs-mounter-kde \
 		share/debian-edu-config/squid.resolvconf \
 		share/ltsp/get-ldap-ltsp-config \
@@ -360,13 +361,9 @@ install: install-testsuite
 	done
 
 	set -e ; for f in \
- share/ltsp/plugins/ltsp-build-client/Debian-custom/000-arch-detection \
  share/ltsp/plugins/ltsp-build-client/Debian-custom/001-ltsp-settings \
- share/ltsp/plugins/ltsp-build-client/Debian-custom/011-http-nopipeline \
- share/ltsp/plugins/ltsp-build-client/Debian-custom/015-edu-apt-source \
  share/ltsp/plugins/ltsp-build-client/Debian-custom/020-rootpath \
  share/ltsp/plugins/ltsp-build-client/Debian-custom/032-edu-pkgs \
- share/ltsp/plugins/ltsp-build-client/Debian-custom/095-squashfs-image \
  share/ltsp/plugins/ltsp-build-client/Debian-custom/098-etckeeper \
 	; do \
 		$(INSTALL_DATA) $$f $(DESTDIR)/usr/$$f ; \


=====================================
cf3/cf.finalize
=====================================
@@ -32,7 +32,10 @@ commands:
 
   debian.(desktopintern|standalone).installation::
 
-    "/usr/share/debian-edu-config/tools/improve-desktop-l10n"
+    "/usr/share/debian-edu-config/tools/install-task-pkgs"
+      contain => in_shell;
+
+   "/usr/share/debian-edu-config/tools/improve-desktop-l10n"
       contain => in_shell;
 
   # Update /etc/environment and APT configuration using wpad.dat file.


=====================================
debian/changelog
=====================================
@@ -1,3 +1,23 @@
+debian-edu-config (2.10.52) UNRELEASED; urgency=medium
+
+  * Final step for the improved desktop localization.
+    - Add share/debian-edu-config/tools/install-task-pkgs. The tool makes sure
+      that a localized Debian Edu desktop based upon a vanilla Debian one is
+      available. The improved localization will allow to remove all lang-*
+      packages from src:debian-edu and to cleanup the desktop-* packages.
+    - Adjust cfengine setup (cf3/cf.finalize): call the install-task-pkgs tool.
+  * Rework LTSP client setup configuration now that official Debian ISO images
+     are available and bugs have been fixed (mostly thanks to ltsp 5.18.12-1).
+    - Drop no longer needed plugins (workarounds):
+      + share/ltsp/plugins/ltsp-build-client/Debian-custom/000-arch-detection
+      + share/ltsp/plugins/ltsp-build-client/Debian-custom/011-http-nopipeline
+      + share/ltsp/plugins/ltsp-build-client/Debian-custom/015-edu-apt-source
+      + share/ltsp/plugins/ltsp-build-client/Debian-custom/095-squashfs-image
+    - Adjust etc/ltsp/ltsp-build-client.conf to match ltsp 5.18.12-1 settings.
+  * Adjust Makefile to reflect the changes.
+
+ -- Wolfgang Schweer <wschweer at arcor.de>  Tue, 25 Dec 2018 17:13:47 +0100
+
 debian-edu-config (2.10.51) unstable; urgency=medium
 
   [ Wolfgang Schweer ]


=====================================
etc/ltsp/ltsp-build-client.conf
=====================================
@@ -4,5 +4,11 @@
 # file, which overrides the default LTSP one.
 # For all available options, run 'ltsp-build-client --extra-help'.
 
-#DEFAULT_NFS="True"
+# Uncomment the next two entries, if NFS instead of NBD should be used for a
+# manually created LTSP chroot.
+#NFS_ROOT="True"
 #SQUASHFS_IMAGE="False"
+
+# This setting is needed to be able to install a chroot using the BD ISO image
+# (takes effect with LTSP release 5.18.12).
+TRUST_FILE_MIRROR="True"


=====================================
share/debian-edu-config/tools/install-task-pkgs
=====================================
@@ -0,0 +1,213 @@
+#!/bin/sh
+
+# Install <lang> and <lang>-desktop task packages for all configured locales.
+#
+# schweer, 2018-12-21
+
+set -e
+langsfull="$(locale -a | grep utf8 | cut -d'.' -f1)"
+for lang in $(echo $langsfull) ; do
+    baselang="${lang%_*}"
+    # <lang>, <lang>-desktop, <lang>-kde-desktop and <lang>-gnome-desktop tasks; rather weird
+    # due to a lot of cases. The code might be smarter.
+    # FIXME: Data and cases were taken from the /usr/share/tasksel/debian-tasks.desc file and
+    # should be kept in sync.
+    case "$lang" in
+	    en_GB) # only desktop task (kde not always).
+		apt-get install -y task-british-desktop
+		if dpkg -l education-desktop-kde 1>/dev/null ; then
+		    apt-get -yq install task-british-kde-desktop
+		fi
+		;;
+	    en_ZA)
+		apt-get install -y task-south-african-english-desktop
+		;;
+	    pt_BR) # lang and desktop tasks
+		apt-get install -y task-brazilian-portuguese task-brazilian-portuguese-desktop
+		if dpkg -l education-desktop-kde 1>/dev/null ; then
+		    apt-get -yq install task-brazilian-portuguese-kde-desktop
+		fi
+		;;
+	    ca_ES)
+		apt-get install -y task-catalan task-catalan-desktop
+		if dpkg -l education-desktop-kde 1>/dev/null ; then
+		    apt-get -yq install task-catalan-kde-desktop
+		fi
+		;;
+	    zh_CN|zh_SG)
+		apt-get install -y task-chinese-s task-chinese-s-desktop
+		if dpkg -l education-desktop-kde 1>/dev/null ; then
+		    apt-get -yq install task-chinese-s-kde-desktop
+		fi
+		;;
+	    zh_TW|zh_HK)
+		apt-get install -y task-chinese-t task-chinese-t-desktop
+		if dpkg -l education-desktop-kde 1>/dev/null ; then
+		    apt-get -yq install task-chinese-t-kde-desktop
+		fi
+		;;
+	    pt_PT|pt_AO|pt_CV|pt_TL|pt_GW|pt_MZ|pt_ST)
+		apt-get install -y task-portuguese task-portuguese-desktop
+		if dpkg -l education-desktop-kde 1>/dev/null ; then
+		    apt-get -yq install task-portuguese-kde-desktop
+		fi
+		;;
+    esac
+    case "$baselang" in
+	    en) # only lang task (en); all other ones: only desktop task (kde not always available).
+		apt-get install -y task-english
+		;;
+	    sq)
+		apt-get install -y task-albanian-desktop
+		;;
+	    ka)
+		apt-get install -y task-georgian-desktop
+		;;
+	    dz)
+		apt-get install -y task-dzongkha-desktop
+		if dpkg -l education-desktop-kde 1>/dev/null ; then
+		    apt-get -yq install task-dzongkha-kde-desktop
+		fi
+		;;
+	    id)
+		apt-get install -y task-indonesian-desktop
+		if dpkg -l education-desktop-kde 1>/dev/null ; then
+		    apt-get -yq install task-indonesian-kde-desktop
+		fi
+		;;
+	    ne)
+		apt-get install -y task-nepali-desktop
+		if dpkg -l education-desktop-kde 1>/dev/null ; then
+		    apt-get -yq install task-nepali-kde-desktop
+		fi
+		;;
+	    si)
+		apt-get install -y task-sinhala-desktop
+		if dpkg -l education-desktop-kde 1>/dev/null ; then
+		    apt-get -yq install task-sinhala-kde-desktop
+		fi
+		;;
+	    kn)
+		apt-get install -y task-kannada-desktop
+		if dpkg -l education-desktop-kde 1>/dev/null ; then
+		    apt-get -yq install task-kannada-kde-desktop
+		fi
+		;;
+	    vi)
+		apt-get install -y task-vietnamese-desktop
+		if dpkg -l education-desktop-kde 1>/dev/null ; then
+		    apt-get -yq install task-vietnamese-kde-desktop
+		fi
+		;;
+	    ug)
+		apt-get install -y task-uyghur-desktop
+		if dpkg -l education-desktop-kde 1>/dev/null ; then
+		    apt-get -yq install task-uyghur-kde-desktop
+		fi
+		;;
+	    xh)
+		apt-get install -y task-xhosa-desktop
+		if dpkg -l education-desktop-kde 1>/dev/null ; then
+		    apt-get -yq install task-xhosa-kde-desktop
+		fi
+		;;
+    esac
+    # all other cases (lang and desktop tasks; kde not always, gnome sometimes available).
+    duo="
+    am:amharic
+    ar:arabic
+    ast:asturian
+    eu:basque
+    be:belarusian
+    bn:bengali
+    bs:bosnian
+    bg:bulgarian
+    hr:croatian
+    be:cyrillic
+    bg:cyrillic
+    kz:cyrillic
+    mk:cyrillic
+    mn:cyrillic
+    ru:cyrillic
+    sr:cyrillic
+    cs:czech
+    da:danish
+    nl:dutch
+    eo:esperanto
+    et:estonian
+    fi:finnish
+    fr:french
+    gl:galician
+    de:german
+    el:greek
+    gu:gujarati
+    he:hebrew
+    hi:hindi
+    hu:hungarian
+    is:icelandic
+    ga:irish
+    it:italian
+    ja:japanese
+    kk:kazakh
+    km:khmer
+    ko:korean
+    ku:kurdish
+    lv:latvian
+    lt:lithuanian
+    mk:macedonian
+    ml:malayalam
+    mr:marathi
+    se:northern-sami
+    no:norwegian
+    nb:norwegian
+    nn:norwegian
+    fa:persian
+    pl:polish
+    pa:punjabi
+    ro:romanian
+    ru:russian
+    sr:serbian
+    sk:slovak
+    sl:slovenian
+    es:spanish
+    sv:swedish
+    tl:tagalog
+    ta:tamil
+    te:telugu
+    th:thai
+    tr:turkish
+    uk:ukrainian
+    cy:welsh"
+    for l in $(echo $duo) ; do
+        lbase="$(echo $l | cut -d':' -f1)"
+        lname="$(echo $l | cut -d':' -f2)"
+        if [ "$baselang" = "$lbase" ] ; then
+            apt-get install -y task-$lname task-$lname-desktop
+            if dpkg -l education-desktop-kde 1>/dev/null ; then
+                case "$baselang" in
+                    ast|mr|se|ti|ta|cy) # kde desktop task not available
+                    ;;
+                    *)
+                        apt-get -yq install task-$lname-kde-desktop
+                    ;;
+                esac
+            fi
+            if dpkg -l education-desktop-gnome 1>/dev/null ; then
+                case "$baselang" in
+                    he|ja|ko|ml|ta|te|th)
+                        apt-get -yq install task-$lname-gnome-desktop
+                    ;;
+                    *) # gnome desktop task not available
+                    ;;
+                esac
+            fi
+        fi
+    done
+done
+# finally the stock desktop tasks
+for d in gnome kde mate lxde lxqt xfce ; do
+	if dpkg -l education-desktop-$d 1>/dev/null ; then
+	    apt-get -yq install task-$d-desktop
+	fi
+done
+apt-get -yq install task-desktop


=====================================
share/ltsp/plugins/ltsp-build-client/Debian-custom/000-arch-detection deleted
=====================================
@@ -1,18 +0,0 @@
-case $MODE in
-  configure)
-    ARCH=${ARCH:-"$(dpkg --print-architecture)"}
-    if [ -z "$option_dist_value" ] ; then
-	option_dist_value=$(cat /etc/debian_version | cut -d'/' -f1)
-	echo "info: Missing LTSP dist value, setting to $option_dist_value"
-    fi
-
-    # Make sure to inherit proxy setting from host, inspired by
-    # ltsp-build-client/Debian/010-http-proxy in the ltsp-server
-    # package.  See also bug #766460.
-    if [ -z "$http_proxy" ]; then
-	eval $(apt-config shell http_proxy acquire::http::proxy)
-	[ "$http_proxy" = "false" ] && http_proxy=""
-	export http_proxy
-    fi
-  ;;
-esac


=====================================
share/ltsp/plugins/ltsp-build-client/Debian-custom/011-http-nopipeline deleted
=====================================
@@ -1,15 +0,0 @@
-# Make sure APT do not use pipelining, to make sure it work with Squid
-# as a proxy.
-
-case "$MODE" in
-    install)
-	if [ -n "$http_proxy" ]; then
-		mkdir -p $ROOT/etc/apt/apt.conf.d
-		cat << EOF > $ROOT/etc/apt/apt.conf.d/00http-nopipeline
-// Avoid Squid handing out corrupt packages,
-// solves Skolelinux bug #1419.
-acquire::http::pipeline-depth 0;
-EOF
-	fi
-        ;;
-esac


=====================================
share/ltsp/plugins/ltsp-build-client/Debian-custom/015-edu-apt-source deleted
=====================================
@@ -1,13 +0,0 @@
-# Enable our apt sources on CD, DVD and PXE installs.
-# Must run before 020-apt-get-update
-case "$MODE" in
-    configure)
-        # Skip mirror check if installing from our unsigned CD.
-        if [ file:///media/cdrom = "$option_mirror_value" ] ; then
-            echo "Detected CD install, disabling APT repository checking."
-            LTSP_CDROM_INSTALL=true
-            APT_GET_OPTS="$APT_GET_OPTS \
-                           --allow-unauthenticated -o acquire::check-valid-until=0"
-        fi
-        ;;
-esac


=====================================
share/ltsp/plugins/ltsp-build-client/Debian-custom/095-squashfs-image deleted
=====================================
@@ -1,49 +0,0 @@
-# This pluin overrides the default Debian plugin, see #904427 for details. It is
-# needed to be able to provide the LTSP client root fs via NFS instead of NBD.
-case "$MODE" in
-    commandline)
-        add_option "squashfs-image" "`eval_gettext "create squashfs image for use with NBD"`" "advanced" "false"
-        add_option "no-squashfs-image" "`eval_gettext "skip squashfs image creation"`" "advanced" "false"
-        add_option "default-nfs" "`eval_gettext "use NFS instead of NBD as default"`" "advanced" "false"
-        ;;
-    configure)
-        if [ -n "$option_squashfs_image_value" ]; then
-            # set an environment variable we can pick up later
-            SQUASHFS_IMAGE="True"
-        fi
-        if [ -n "$option_no_squashfs_image_value" ]; then
-            # set an environment variable we can pick up later
-            SQUASHFS_IMAGE="False"
-        fi
-        if [ -n "$option_default_nfs_value" ]; then
-            # set an environment variable we can pick up later
-            DEFAULT_NFS="True"
-        fi
-        if [ -z "$SQUASHFS_IMAGE" ]; then
-            SQUASHFS_IMAGE="True"
-        fi
-        ;;
-    after-install)
-        if [ "True" = "$DEFAULT_NFS" ]; then
-            sed -i 's#NBD AOE NFS#NFS NBD AOE#' $ROOT/etc/ltsp/update-kernels.conf
-        fi
-        ;;
-    finalization)
-        if [ "True" = "$SQUASHFS_IMAGE" ]; then
-            DEBIAN_OLD_FRONTEND=$DEBIAN_FRONTEND
-
-            if [ -n "$CHROOT" ]; then
-                UPDATE_IMAGE_OPTIONS="${CHROOT}"
-            fi
-
-            DEBIAN_FRONTEND=noninteractive
-            export DEBIAN_FRONTEND
-
-            /usr/sbin/ltsp-update-image --config-nbd ${UPDATE_IMAGE_OPTIONS}
-
-            DEBIAN_FRONTEND=$DEBIAN_OLD_FRONTEND
-            export DEBIAN_FRONTEND
-
-        fi
-        ;;
-esac



View it on GitLab: https://salsa.debian.org/debian-edu/debian-edu-config/compare/a9c0ae17d4ac8cd712f2465572e3bdb183403793...032a66486779f991867ad857667d949239c48bca

-- 
View it on GitLab: https://salsa.debian.org/debian-edu/debian-edu-config/compare/a9c0ae17d4ac8cd712f2465572e3bdb183403793...032a66486779f991867ad857667d949239c48bca
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-edu-commits/attachments/20181225/2cd90511/attachment-0001.html>


More information about the debian-edu-commits mailing list