Added livecd/xdm and livecd/xsession options. These are used to setup the default...
authorChris Gianelloni <wolf31o2@gentoo.org>
Mon, 12 Sep 2005 18:49:44 +0000 (18:49 +0000)
committerChris Gianelloni <wolf31o2@gentoo.org>
Mon, 12 Sep 2005 18:49:44 +0000 (18:49 +0000)
git-svn-id: svn+ssh://svn.gentoo.org/var/svnroot/catalyst/trunk@838 d1e1f19c-881f-0410-ab34-b69fee027534

ChangeLog
examples/livecd-stage2_template.spec
modules/livecd_stage2_target.py
targets/support/livecdfs-update.sh

index a01fe51a1c147f023b05ee5918353ad84175fd37..5ebf9a690131486cff2bb1018925f09b4b9b77aa 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 # Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo/src/catalyst/ChangeLog,v 1.330 2005/09/12 17:17:21 wolf31o2 Exp $
+# $Header: /var/cvsroot/gentoo/src/catalyst/ChangeLog,v 1.331 2005/09/12 18:49:44 wolf31o2 Exp $
+
+  12 Sep 2005; Chris Gianelloni <wolf31o2@gentoo.org>
+  examples/livecd-stage2_template.spec, modules/livecd_stage2_target.py,
+  targets/support/livecdfs-update.sh:
+  Added livecd/xdm and livecd/xsession options. These are used to setup the
+  default display manager and X session, respectively. Added supporting
+  documentation to example spec files. Imported more work from my fsscript for
+  the official LiveCD.
 
   12 Sep 2005; Chris Gianelloni <wolf31o2@gentoo.org> arch/x86.py:
   Changing default CHOST for x86 from i386-pc-linux to i686-pc-linux. For
index 66462404c562f254fd337776889f8f1e8a8b42a6..4733e216d000c247e1a97fcfdb0eadeb7964a6da 100644 (file)
@@ -235,6 +235,20 @@ livecd/devmanager:
 # livecd/xinitrc:
 livecd/xinitrc:
 
+# This is used by catalyst to determine which display manager you wish to
+# become the default.  This is used on the official Gentoo LiveCD and is valid
+# for any livecd/type.
+# example:
+# livecd/xdm: gdm
+livecd/xdm:
+
+# This is used by catalyst to determine which X session should be started by
+# default by the display manager.  This is used on the official Gentoo LiveCD
+# and is valid for any livecd/type.
+# example:
+# livecd/xsession: gnome
+livecd/xsession:
+
 # This option is used to create non-root users on your CD.  It takes a space
 # separated list of user names.  These users will be added to the following
 # groups: users,wheel,audio,games,cdrom,usb
index 3304e332558780e791f41d69550c5ca1eb527e34..57085b091f0b62078345287d75101df18dbb3b34 100644 (file)
@@ -1,6 +1,6 @@
 # Copyright 1999-2005 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo/src/catalyst/modules/livecd_stage2_target.py,v 1.47 2005/08/09 19:02:31 rocket Exp $
+# $Header: /var/cvsroot/gentoo/src/catalyst/modules/livecd_stage2_target.py,v 1.48 2005/09/12 18:49:44 wolf31o2 Exp $
 
 """
 Builder class for a LiveCD stage2 build.
@@ -24,7 +24,8 @@ class livecd_stage2_target(generic_stage_target):
                        "livecd/rcadd","livecd/rcdel","livecd/fsscript","livecd/xinitrc",\
                        "livecd/root_overlay","livecd/devmanager","livecd/users",\
                        "gamecd/conf","livecd/users","portage_overlay","livecd/cdfstype",\
-                       "livecd/linuxrc","livecd/bootargs","gamecd/conf"])
+                       "livecd/linuxrc","livecd/bootargs","gamecd/conf","livecd/xdm",\
+                       "livecd/xsession"])
                
                generic_stage_target.__init__(self,spec,addlargs)
                if not self.settings.has_key("livecd/type"):
index 10e6ff6fbaa8de278c2b558f9041092aceaf7e41..34f0c6ea65c6e502bae6c81977f1634394ef8263 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/bash
 # Copyright 1999-2005 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo/src/catalyst/targets/support/livecdfs-update.sh,v 1.21 2005/09/08 20:59:07 wolf31o2 Exp $
+# $Header: /var/cvsroot/gentoo/src/catalyst/targets/support/livecdfs-update.sh,v 1.22 2005/09/12 18:49:44 wolf31o2 Exp $
 
 . /tmp/chroot-functions.sh
 update_env_settings
@@ -45,6 +45,12 @@ then
        for x in ${clst_livecd_users}
        do
                useradd -G users,wheel,audio,games,cdrom,usb -c "Default LiveCD User" -m $x
+               if [ -n "${clst_livecd_xdm}" -a -n "${clst_livecd_xsession}" ]
+               then
+                       echo "[Desktop]" > /home/$x/.dmrc
+                       echo "Session=${clst_livecd_xsession}" >> /home/$x/.dmrc
+                       chown -R $x:users /home/$x
+               fi
        done
 fi
 
@@ -120,6 +126,21 @@ fi
 # setup opengl in /etc (if configured)
 [ -x /usr/sbin/openglify ] && /usr/sbin/openglify
 
+# Setup configured display manager
+if [ -n "${clst_livecd_xdm}" ]
+then
+       sed -i "s:#DISPLAYMANAGER=\"xdm\":DISPLAYMANAGER=\"${clst_livecd_xdm}\":" \
+               /etc/rc.conf
+       rc-update add xdm default
+fi
+
+# Setup configured default X Session
+if [ -n "${clst_livecd_xsession}" ]
+then
+       sed -i "s:#XSESSION=\"Gnome\":XSESSION=\"${clst_livecd_xsession}\":" \
+               /etc/rc.conf
+fi
+
 # touch /etc/asound.state
 touch /etc/asound.state
 
@@ -199,7 +220,6 @@ case ${clst_livecd_type} in
        ;;
 esac
 
-
 # Post configuration
 case ${clst_livecd_type} in
        gentoo-gamecd )
@@ -229,7 +249,7 @@ case ${clst_livecd_type} in
                if [ -e /opt/installer/misc/mkvardb ]
                then
                        chmod +x /opt/installer/misc/mkvardb
-                       /opt/installer/misc/mkvardb -p livecd-kernel -c sys-kernel -v 2005.0 /boot/kernel* /boot/initrd* $(for i in $(find "/lib/modules/$(uname -r)" -type f); do grep --quiet "${i}" /var/db/pkg/*/*/CONTENTS || echo ${i}; done)
+                       /opt/installer/misc/mkvardb -p livecd-kernel -c sys-kernel -v ${clst_version_stamp} --provide "virtual/alsa" /boot/kernel* /boot/initr* $(for i in $(find "/lib/modules/" -type f); do grep --quiet "${i}" /var/db/pkg/*/*/CONTENTS || echo ${i}; done)
                fi
 
                # This is my hack to reduce tmpfs usage
@@ -238,6 +258,9 @@ case ${clst_livecd_type} in
                rm -rf /usr/livecd/profiles/{co*,default-{1*,a*,b*,d*,h*,i*,m*,p*,s*,x*},g*,hardened-*,n*,x*}
                mv -f /etc/gconf /usr/livecd
                mv -f /var/db /usr/livecd
+
+               # This gives us our list of system packages for the installer
+               USE="-* $(cat /var/db/pkg/sys-libs/glibc*/USE)" emerge -ep system | grep -e '^\[ebuild' | sed -e 's:^\[ebuild .\+\] ::' > /usr/livecd/systempkgs.txt
                ;;
        generic-livecd )
                # This is my hack to reduce tmpfs usage