package: debian-edu-install severity: wishlist Hi,as a patch you find attached a _very_ raw draft (that shall give an idea) of a udeb template that allows selecting the desktop shell type (GNOME, KDE, LXDE, ...) during the installation process of Debian Edu.
This selection screen could either be added to the expert installation screen series or to the basic installation screen series. My preference would be to offer the question whenever installing a Debian Edu workstation (that is: becoming one question of the basic set of questions asked by Debian Edu installer).
As this issue is a wishlist item for wheezy, maybe people can comment on that and also give their preference if and where such a screen should appear. However, we should consider this from the user's point of view (admin teachers at schools).
Greets, Mike -- DAS-NETZWERKTEAM mike gabriel, dorfstr. 27, 24245 barmissen fon: +49 (4302) 281418, fax: +49 (4302) 281419 GnuPG Key ID 0xB588399B mail: mike.gabriel@das-netzwerkteam.de, http://das-netzwerkteam.de freeBusy: https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xfb
Index: build/CD-administrator/CONF-squeeze-test-dvd.sh
===================================================================
--- build/CD-administrator/CONF-squeeze-test-dvd.sh (Revision 73162)
+++ build/CD-administrator/CONF-squeeze-test-dvd.sh (Arbeitskopie)
@@ -344,7 +344,7 @@
# Parameters to pass to kernel (or d-i) when the CD boots. Not currently
# supported for all architectures.
-export KERNEL_PARAMS="desktop=kde"
+export KERNEL_PARAMS=""
# Default desktop (currently only used by win32-loader)
export DESKTOP=kde
Index: build/CD-administrator/CONF-edu-testing-nolocal-dvd.sh
===================================================================
--- build/CD-administrator/CONF-edu-testing-nolocal-dvd.sh (Revision 73162)
+++ build/CD-administrator/CONF-edu-testing-nolocal-dvd.sh (Arbeitskopie)
@@ -335,7 +335,7 @@
# Parameters to pass to kernel (or d-i) when the CD boots. Not currently
# supported for all architectures.
-export KERNEL_PARAMS="desktop=kde"
+export KERNEL_PARAMS=""
# Default desktop (currently only used by win32-loader)
export DESKTOP=kde
Index: build/CD-administrator/CONF-edu-testing-nolocal-netinst.sh
===================================================================
--- build/CD-administrator/CONF-edu-testing-nolocal-netinst.sh (Revision 73162)
+++ build/CD-administrator/CONF-edu-testing-nolocal-netinst.sh (Arbeitskopie)
@@ -334,7 +334,7 @@
# Parameters to pass to kernel (or d-i) when the CD boots. Not currently
# supported for all architectures.
-export KERNEL_PARAMS="desktop=kde"
+export KERNEL_PARAMS=""
# Default desktop (currently only used by win32-loader)
export DESKTOP=kde
Index: build/CD-administrator/CONF-squeeze-test-amd64-i386-netinst.sh
===================================================================
--- build/CD-administrator/CONF-squeeze-test-amd64-i386-netinst.sh (Revision 73162)
+++ build/CD-administrator/CONF-squeeze-test-amd64-i386-netinst.sh (Arbeitskopie)
@@ -335,7 +335,7 @@
# Parameters to pass to kernel (or d-i) when the CD boots. Not currently
# supported for all architectures.
-export KERNEL_PARAMS="desktop=kde"
+export KERNEL_PARAMS=""
# Default desktop (currently only used by win32-loader)
export DESKTOP=kde
Index: debian-edu-install/debian/changelog
===================================================================
--- debian-edu-install/debian/changelog (Revision 73162)
+++ debian-edu-install/debian/changelog (Arbeitskopie)
@@ -2,6 +2,7 @@
[ Mike Gabriel ]
* Setting author in etckeeper's VCS (Closes: #617383)
+ * Adds a d-i selection screen for the default desktop environment.
-- Petter Reinholdtsen <pere@debian.org> Fri, 31 Dec 2010 10:32:23 +0100
Index: debian-edu-install/debian/rules
===================================================================
--- debian-edu-install/debian/rules (Revision 73162)
+++ debian-edu-install/debian/rules (Arbeitskopie)
@@ -57,6 +57,7 @@
$(MAKE) install-partman-recipes DESTDIR=$(CURDIR)/debian/debian-edu-profile-udeb
$(INSTALL_DATA) lib/partman/commit.d/* $(CURDIR)/debian/debian-edu-profile-udeb/lib/partman/commit.d
$(INSTALL) debian-edu-profile $(CURDIR)/debian/debian-edu-profile-udeb/usr/bin
+ $(INSTALL) debian-edu-desktop $(CURDIR)/debian/debian-edu-profile-udeb/usr/bin
touch $(CURDIR)/debian/debian-edu-profile-udeb/etc/uselvm
$(INSTALL_DATA) version $(CURDIR)/debian/debian-edu-profile-udeb/usr/lib/debian-edu-install/.
Index: debian-edu-install/debian/debian-edu-profile-udeb.templates
===================================================================
--- debian-edu-install/debian/debian-edu-profile-udeb.templates (Revision 73162)
+++ debian-edu-install/debian/debian-edu-profile-udeb.templates (Arbeitskopie)
@@ -5,8 +5,8 @@
Template: debian-edu-install/profile
Type: multiselect
-__Choices: Main Server, Workstation, Roaming Workstation, Thin Client Server, Standalone
-Choices-C: Main-Server, Workstation, Roaming-Workstation, Thin-Client-Server, Standalone
+__Choices: Main-Server, Workstation, Roaming-Workstation, Thin-Client-Server, Standalone, Minimal
+Choices-C: Main-Server, Workstation, Roaming-Workstation, Thin-Client-Server, Standalone, Minimal
_Description: Profile(s) to apply to this machine:
Profiles determine how the machine can be used out-of-the-box:
.
@@ -23,15 +23,13 @@
- Standalone: for machines meant to be used outside the Debian Edu
network. It includes a GUI and conflicts with other
profiles.
+ - Minimal: fully integrated into the Debian Edu network but
+ contains only a basic system without any GUI.
Template: debian-edu-install/profile-expert
Type: multiselect
-#flag:translate!:7
-#__Choices: Main-Server, Workstation, Roaming-Workstation, Thin-Client-Server, Standalone, Minimal, Sugar
-__Choices: Main Server, Workstation, Roaming Workstation, Thin Client Server, Standalone, Minimal
+__Choices: Main-Server, Workstation, Roaming-Workstation, Thin-Client-Server, Standalone, Minimal
Choices-C: Main-Server, Workstation, Roaming-Workstation, Thin-Client-Server, Standalone, Minimal
-#flag:comment:3
-## Translators, do not translate "Sugar"
_Description: Profile(s) to apply to this machine:
Profiles determine how the machine can be used out-of-the-box:
.
@@ -50,10 +48,21 @@
profiles.
- Minimal: fully integrated into the Debian Edu network but
contains only a basic system without any GUI.
-# - Sugar: variant of 'Standalone' that includes the Sugar
-# desktop environment which promotes sharing and
-# collaborative learning for children.
+Template: debian-edu-install/desktop
+Type: select
+__Choices: KDE4, GNOME, LXDE, Sugar
+Choices-C: KDE4, GNOME, LXDE, Sugar
+_Description: Default desktop environment:
+ The desktop environment determines the look'n'feel of a Skolelinux workstation:
+ .
+ - KDE: The K desktop environment is the Skolelinux's default
+ desktop environment.
+ - GNOME: The GNOME desktop environment can be neat alternative
+ - LXDE: LXDE is a very slim desktop environment that is recommended
+ especially for Thin Client Servers
+ - Sugar: The Sugar desktop environment promotes sharing and
+ collaborative learning for children.
Template: debian-edu-install/standalone_only
Type: error
_Description: Standalone profile cannot be used with other profiles
Index: debian-edu-install/preseed-values/defaults.desktop-kde
===================================================================
--- debian-edu-install/preseed-values/defaults.desktop-kde (Revision 0)
+++ debian-edu-install/preseed-values/defaults.desktop-kde (Revision 0)
@@ -0,0 +1,2 @@
+# Use kdm on KDE desktops
+kdm shared/default-x-display-manager select kdm
Index: debian-edu-install/preseed-values/defaults.desktop-gnome
===================================================================
--- debian-edu-install/preseed-values/defaults.desktop-gnome (Revision 0)
+++ debian-edu-install/preseed-values/defaults.desktop-gnome (Revision 0)
@@ -0,0 +1,2 @@
+# Use gdm on GNOME desktops
+gdm shared/default-x-display-manager select gdm
Index: debian-edu-install/preseed-values/defaults.desktop-lxde
===================================================================
--- debian-edu-install/preseed-values/defaults.desktop-lxde (Revision 0)
+++ debian-edu-install/preseed-values/defaults.desktop-lxde (Revision 0)
@@ -0,0 +1,2 @@
+# Use gdm on LXDE desktops
+gdm shared/default-x-display-manager select gdm
Index: debian-edu-install/preseed-values/defaults.workstation
===================================================================
--- debian-edu-install/preseed-values/defaults.workstation (Revision 73162)
+++ debian-edu-install/preseed-values/defaults.workstation (Arbeitskopie)
@@ -3,9 +3,6 @@
# Do not create the CVS repository by default
cvs cvs/badrepositories select ignore
-# Use kdm, not xdm or gdm
-kdm shared/default-x-display-manager select kdm
-
# Use the keyboard setting from d-i when configuring Xorg
xserver-org xserver-xorg/autodetect_keyboard boolean true
Index: debian-edu-install/preseed-values/defaults.standalone
===================================================================
--- debian-edu-install/preseed-values/defaults.standalone (Revision 73162)
+++ debian-edu-install/preseed-values/defaults.standalone (Arbeitskopie)
@@ -4,9 +4,6 @@
# Do not create the CVS repository by default
cvs cvs/badrepositories select ignore
-# Use kdm, not xdm or gdm
-kdm shared/default-x-display-manager select kdm
-
# Make another user
passwd passwd/make-user boolean true
Index: debian-edu-install/preseed-values/defaults.desktop-sugar
===================================================================
--- debian-edu-install/preseed-values/defaults.desktop-sugar (Revision 0)
+++ debian-edu-install/preseed-values/defaults.desktop-sugar (Revision 0)
@@ -0,0 +1,2 @@
+# Use gdm on SUGAR desktops
+gdm shared/default-x-display-manager select gdm
Index: debian-edu-install/debian-edu-profile
===================================================================
--- debian-edu-install/debian-edu-profile (Revision 73162)
+++ debian-edu-install/debian-edu-profile (Arbeitskopie)
@@ -1,5 +1,7 @@
#!/bin/sh -e
+# FIXME: this script needs to be split into its components/steps (to make it easier to maintain)
+
. /usr/share/debconf/confmodule
. /lib/preseed/preseed.sh # for $logfile
@@ -139,10 +141,9 @@
fi
template="debian-edu-install/profile"
-# Show minimal profile by default as a test [pere 2010-11-05]
-#if [ true = "$expert" ] ; then
+if [ true = "$expert" ] ; then
template="debian-edu-install/profile-expert"
-#fi
+fi
preseedfile=/tmp/debian-edu-preseed.$$
touch $preseedfile
@@ -506,9 +507,6 @@
db_set "apt-setup/local0/key" "http://ftp.skolelinux.org/pub/debian-edu-archive.key" || true
fi
-
-
-
log "Preseeding"
if [ "$EDUPROFILE" ] ; then
@@ -545,6 +543,9 @@
fi
done
+# ask which desktop to install...
+debian-edu-desktop
+
# Enable the firstboot script to report installation errors. Preseeded
# here and not in defaults.common to make sure it only is set on first time
# installation using debian-installer. Checking the seen flag to allow
@@ -564,7 +565,7 @@
touch $logfile # Create if missing, to make sure >> work
cat $preseedfile >> $logfile
-# rm $preseedfile
+rm $preseedfile
# Make sure that the kernel question doesn't show up. Can not use
# preseeding directly, as these values are not loaded yet when this
Index: debian-edu-install/debian-edu-desktop
===================================================================
--- debian-edu-install/debian-edu-desktop (Revision 0)
+++ debian-edu-install/debian-edu-desktop (Revision 0)
@@ -0,0 +1,85 @@
+#!/bin/sh -e
+
+. /usr/share/debconf/confmodule
+. /lib/preseed/preseed.sh # for $logfile
+
+log() {
+ logger -t debian-edu-desktop "info: $*"
+}
+
+error() {
+ logger -t debian-edu-desktop "error: $*"
+}
+
+add_preseed() {
+ owner="$1"
+ template="$2"
+ type="$3"
+ value="$4"
+ echo $owner $template $type "$value" >> $preseedfile
+}
+
+EDUDESKTOP=""
+if grep -iq 'desktop=sugar' /proc/cmdline ; then
+ EDUDESKTOP="sugar"
+elif grep -iq 'desktop=lxde' /proc/cmdline ; then
+ EDUDESKTOP="lxde"
+elif grep -iq 'desktop=gnome' /proc/cmdline ; then
+ EDUDESKTOP="gnome"
+elif grep -iq 'desktop=kde' /proc/cmdline ; then
+ EDUDESKTOP="kde"
+fi
+
+template="debian-edu-install/desktop"
+preseedfile=/tmp/debian-edu-preseed.$$
+touch $preseedfile
+
+[ "$EDUDESKTOP" ] && db_set "$template" "$EDUDESKTOP"
+
+#ask desktop question
+log "choosing desktop to be installed"
+
+RET="$EDUDESKTOP"
+looplimit="xxx"
+loopcount=""
+
+while test -z "$RET" ; do
+ db_input critical "$template" || [ $? -eq 30 ]
+ db_go || true
+ db_fset "$template" seen false || true
+
+ db_get "$template" || true
+ loopcount="x$loopcount"
+ if test "$loopcount" = "$looplimit" ; then
+ exit 1;
+ fi
+done
+EDUDESKTOP=$RET
+log "desktop to be installed is '$EDUDESKTOP', loopcount='$loopcount'"
+
+if [ "$EDUDESKTOP" ] ; then
+ log "Preseeding target with '$EDUPROFILE'"
+ add_preseed debian-edu-install debian-edu-install/desktop select "$EDUDESKTOP"
+else
+ log "No desktop to preseed"
+fi
+
+if [ -f /usr/lib/debian-edu-install/defaults.desktop-$EDUDESKTOP ] ; then
+ log "Found preseeding for desktop-$EDUDESKTOP"
+ cat /usr/lib/debian-edu-install/defaults.desktop-$EDUDESKTOP >> $preseedfile
+ else
+ error "Unable to find preseeding for 'desktop-$EDUDESKTOP'"
+ fi
+done
+
+# Load into the cdebconf database used by d-i
+debconf-set-selections $preseedfile || \
+ error "Failed to load preseed values from $preseedfile"
+
+# Get the post-base-installer.d fragment from preseed to pass relevant
+# values into the debconf database in /target when the base system is
+# installed.
+touch $logfile # Create if missing, to make sure >> work
+cat $preseedfile >> $logfile
+
+rm $preseedfile
Eigenschaftsänderungen: debian-edu-install/debian-edu-desktop
___________________________________________________________________
Hinzugefügt: svn:executable
+ *
Attachment:
pgpOcGrmMXrfl.pgp
Description: Digitale PGP-Unterschrift