Add support to create an 'all desktops' DVD
Include all four desktop environments supported by tasksel (GNOME, KDE, LXDE and Xfce). On x86 also add an option in the isolinux menu (under Advanced options) to select which DE to install; GNOME remains default.
This commit is contained in:
parent
5b750a3810
commit
2225676ffe
|
@ -75,6 +75,11 @@ debian-cd (3.1.0) UNRELEASED; urgency=low
|
||||||
* Add support for a 'light desktop environment' CD (LXDE + Xfce).
|
* Add support for a 'light desktop environment' CD (LXDE + Xfce).
|
||||||
Includes a framework to manipulate the isolinux configuration for x86 so
|
Includes a framework to manipulate the isolinux configuration for x86 so
|
||||||
that a user can select which desktop he wishes to install.
|
that a user can select which desktop he wishes to install.
|
||||||
|
* Add support to create an 'all desktops' DVD.
|
||||||
|
This new task will include all four desktop environments supported by
|
||||||
|
tasksel (GNOME, KDE, LXDE and Xfce). On x86 it will also add an option in
|
||||||
|
the isolinux menu (under Advanced options) to select which DE to install,
|
||||||
|
but GNOME will remain default.
|
||||||
|
|
||||||
-- Frans Pop <fjp@debian.org> Fri, 05 Dec 2008 10:04:03 +0100
|
-- Frans Pop <fjp@debian.org> Fri, 05 Dec 2008 10:04:03 +0100
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@ set -e
|
||||||
## See also CONF.sh for the meaning of variables used here.
|
## See also CONF.sh for the meaning of variables used here.
|
||||||
|
|
||||||
show_usage() {
|
show_usage() {
|
||||||
echo "Usage: $(basename $0) [-d kde|lxde|xfce|light] BC|NETINST|CD|DVD [<ARCH> ...]"
|
echo "Usage: $(basename $0) [-d kde|lxde|xfce|light|all] BC|NETINST|CD|DVD [<ARCH> ...]"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -31,7 +31,7 @@ if [ "$1" = "-d" ]; then
|
||||||
# Ignore (gnome is default)
|
# Ignore (gnome is default)
|
||||||
shift 2
|
shift 2
|
||||||
;;
|
;;
|
||||||
kde|lxde|xfce|light)
|
kde|lxde|xfce|light|all)
|
||||||
desktop=$2
|
desktop=$2
|
||||||
shift 2
|
shift 2
|
||||||
;;
|
;;
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
/*
|
||||||
|
* This file will be used to build official complete sets of Lenny DVDs
|
||||||
|
* supporting all available desktop environments: GNOME (default), KDE,
|
||||||
|
* LXDE and Xfce
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Packages that should really be on CD1 */
|
||||||
|
#include <debian-installer+kernel>
|
||||||
|
#include <forcd1>
|
||||||
|
#include <task-essential-all>
|
||||||
|
|
||||||
|
/* Other interesting packages */
|
||||||
|
#include <task-full-all>
|
||||||
|
#include <interesting-fromcd23>
|
||||||
|
|
||||||
|
/* The rest ordered by popularity */
|
||||||
|
#include <popularity-contest>
|
|
@ -0,0 +1,19 @@
|
||||||
|
# Default desktop task
|
||||||
|
gnome-desktop
|
||||||
|
|
||||||
|
# Alternative desktop environments
|
||||||
|
kde-desktop
|
||||||
|
xfce-desktop
|
||||||
|
lxde-desktop
|
||||||
|
|
||||||
|
# General desktop/laptop packages
|
||||||
|
desktop
|
||||||
|
laptop
|
||||||
|
|
||||||
|
# Server tasks
|
||||||
|
web-server
|
||||||
|
mail-server
|
||||||
|
print-server
|
||||||
|
database-server
|
||||||
|
dns-server
|
||||||
|
file-server
|
|
@ -141,6 +141,10 @@ extra_image () {
|
||||||
# If multiple desktops are to be supported, set the default one
|
# If multiple desktops are to be supported, set the default one
|
||||||
ORIG_DESKTOP=
|
ORIG_DESKTOP=
|
||||||
case "$DESKTOP" in
|
case "$DESKTOP" in
|
||||||
|
all)
|
||||||
|
ORIG_DESKTOP=$DESKTOP
|
||||||
|
DESKTOP=
|
||||||
|
;;
|
||||||
light)
|
light)
|
||||||
ORIG_DESKTOP=$DESKTOP
|
ORIG_DESKTOP=$DESKTOP
|
||||||
DESKTOP=xfce
|
DESKTOP=xfce
|
||||||
|
@ -322,6 +326,8 @@ EOF
|
||||||
fi
|
fi
|
||||||
|
|
||||||
case "$ORIG_DESKTOP" in
|
case "$ORIG_DESKTOP" in
|
||||||
|
all)
|
||||||
|
modify_for_all_desktop ;;
|
||||||
light)
|
light)
|
||||||
modify_for_light_desktop ;;
|
modify_for_light_desktop ;;
|
||||||
esac
|
esac
|
||||||
|
|
|
@ -149,3 +149,85 @@ menu begin rescue
|
||||||
menu end
|
menu end
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
|
|
||||||
|
modify_for_all_desktop() {
|
||||||
|
make_desktop_template
|
||||||
|
|
||||||
|
# Remove desktop option in root config files (for GNOME)
|
||||||
|
sed -i "s:desktop=[^ ]*::" boot$N/isolinux/*.cfg
|
||||||
|
|
||||||
|
cp -r boot$N/isolinux/desktop boot$N/isolinux/kde
|
||||||
|
sed -i "s:%desktop%:kde:g" boot$N/isolinux/kde/*.cfg
|
||||||
|
sed -i "/Advanced options/ s:title:title KDE:" \
|
||||||
|
boot$N/isolinux/kde/menu.cfg
|
||||||
|
|
||||||
|
cp -r boot$N/isolinux/desktop boot$N/isolinux/xfce
|
||||||
|
sed -i "s:%desktop%:xfce:g" boot$N/isolinux/xfce/*.cfg
|
||||||
|
sed -i "/Advanced options/ s:title:title Xfce:" \
|
||||||
|
boot$N/isolinux/xfce/menu.cfg
|
||||||
|
|
||||||
|
cp -r boot$N/isolinux/desktop boot$N/isolinux/lxde
|
||||||
|
sed -i "s:%desktop%:lxde:g" boot$N/isolinux/lxde/*.cfg
|
||||||
|
sed -i "/Advanced options/ s:title:title LXDE:" \
|
||||||
|
boot$N/isolinux/lxde/menu.cfg
|
||||||
|
|
||||||
|
# Cleanup
|
||||||
|
rm -r boot$N/isolinux/desktop
|
||||||
|
|
||||||
|
# Create desktop menu file
|
||||||
|
cat >boot$N/isolinux/dtmenu.cfg <<EOF
|
||||||
|
menu begin desktop
|
||||||
|
include stdmenu.cfg
|
||||||
|
menu hshift 13
|
||||||
|
menu width 49
|
||||||
|
menu label Alternative desktop environments
|
||||||
|
menu title Desktop environment menu
|
||||||
|
label mainmenu-kde
|
||||||
|
menu label ^Back..
|
||||||
|
text help
|
||||||
|
Higher level options install the GNOME desktop environment
|
||||||
|
endtext
|
||||||
|
menu exit
|
||||||
|
menu begin kde-desktop
|
||||||
|
include stdmenu.cfg
|
||||||
|
menu label ^KDE
|
||||||
|
menu title KDE desktop boot menu
|
||||||
|
text help
|
||||||
|
Select the 'K Desktop Environment' for the Desktop task
|
||||||
|
endtext
|
||||||
|
label mainmenu-kde
|
||||||
|
menu label ^Back..
|
||||||
|
menu exit
|
||||||
|
include kde/menu.cfg
|
||||||
|
menu end
|
||||||
|
menu begin lxde-desktop
|
||||||
|
include stdmenu.cfg
|
||||||
|
menu label ^LXDE
|
||||||
|
menu title LXDE desktop boot menu
|
||||||
|
text help
|
||||||
|
Select the 'Lightweight X11 Desktop Environment' for the Desktop task
|
||||||
|
endtext
|
||||||
|
label mainmenu-lxde
|
||||||
|
menu label ^Back..
|
||||||
|
menu exit
|
||||||
|
include lxde/menu.cfg
|
||||||
|
menu end
|
||||||
|
menu begin xfce-desktop
|
||||||
|
include stdmenu.cfg
|
||||||
|
menu label ^Xfce
|
||||||
|
menu title Xfce desktop boot menu
|
||||||
|
text help
|
||||||
|
Select the 'Xfce lightweight desktop environment' for the Desktop task
|
||||||
|
endtext
|
||||||
|
label mainmenu-xfce
|
||||||
|
menu label ^Back..
|
||||||
|
menu exit
|
||||||
|
include xfce/menu.cfg
|
||||||
|
menu end
|
||||||
|
menu end
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# Include desktop submenu in Advanced options submenu
|
||||||
|
sed -i "/menu end/ i\\\tinclude dtmenu.cfg" \
|
||||||
|
boot$N/isolinux/menu.cfg
|
||||||
|
}
|
||||||
|
|
|
@ -165,7 +165,7 @@ dpkg -x $TASKSEL_DEB $TDIR/tasksel
|
||||||
[ -e task.languages ] || exit 1
|
[ -e task.languages ] || exit 1
|
||||||
grep -Ev "^(#.*)?[[:space:]]*$" task.languages > $TDIR/languages
|
grep -Ev "^(#.*)?[[:space:]]*$" task.languages > $TDIR/languages
|
||||||
|
|
||||||
for variant in "" kde lxde xfce light; do
|
for variant in "" kde lxde xfce light all; do
|
||||||
if [ ! -e task.list${variant:+.$variant} ]; then
|
if [ ! -e task.list${variant:+.$variant} ]; then
|
||||||
echo "Warning: task.list${variant:+.$variant} does not exist; skipping"
|
echo "Warning: task.list${variant:+.$variant} does not exist; skipping"
|
||||||
continue
|
continue
|
||||||
|
|
Loading…
Reference in New Issue