Skip to content
Commits on Source (8)
......@@ -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 ; \
......
......@@ -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-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@arcor.de> Tue, 25 Dec 2018 17:13:47 +0100
debian-edu-config (2.10.51) unstable; urgency=medium
[ Wolfgang Schweer ]
......
......@@ -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"
#!/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
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
# 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
# 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
# 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