# Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo/src/catalyst/ChangeLog,v 1.641 2006/07/05 13:59:18 wolf31o2 Exp $
+# $Header: /var/cvsroot/gentoo/src/catalyst/ChangeLog,v 1.642 2006/07/11 21:40:58 wolf31o2 Exp $
+
+ 11 Jul 2006; Chris Gianelloni <wolf31o2@gentoo.org> catalyst,
+ modules/generic_stage_target.py, targets/support/bootloader-setup.sh,
+ targets/support/create-iso.sh, targets/support/kmerge.sh,
+ targets/support/livecdfs-update.sh, targets/support/mips-arcload_conf.sh:
+ Added patches from Joshua Kinard <kumba@gentoo.org> from bug #139337. This
+ is 2.0_rc50, which will hopefully be renamed without incident to 2.0 final.
05 Jul 2006; Chris Gianelloni <wolf31o2@gentoo.org>
-livecd/cdtar/silo-1.2.6-sparc-cdtar.tar.bz2,
#!/usr/bin/python -OO
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo/src/catalyst/catalyst,v 1.157 2006/06/28 12:51:43 wolf31o2 Exp $
+# $Header: /var/cvsroot/gentoo/src/catalyst/catalyst,v 1.158 2006/07/11 21:40:59 wolf31o2 Exp $
# Maintained in full by:
# Eric Edgar <rocket@gentoo.org>
import pdb
__maintainer__="Chris Gianelloni <wolf31o2@gentoo.org>"
-__version__="2.0_rc49"
+__version__="2.0_rc50"
conf_values={}
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo/src/catalyst/modules/generic_stage_target.py,v 1.137 2006/06/28 12:51:43 wolf31o2 Exp $
+# $Header: /var/cvsroot/gentoo/src/catalyst/modules/generic_stage_target.py,v 1.138 2006/07/11 21:40:59 wolf31o2 Exp $
"""
This class does all of the chroot setup, copying of files, etc. It is
self.mountmap["/var/tmp/ccache"]=ccdir
# for the chroot:
self.env["CCACHE_DIR"]="/var/tmp/ccache"
-
+
def override_chost(self):
- #if os.environ.has_key("CHOST"):
- # self.settings["CHOST"] = os.environ["CHOST"]
- if self.settings.has_key("chost"):
- self.settings["CHOST"]=list_to_string(self.settings["chost"])
if self.makeconf.has_key("CHOST"):
- #print "Using CHOST setting from seed stage"
- self.settings["CHOST"]=self.makeconf["CHOST"]
+ self.settings["CHOST"]=self.makeconf["CHOST"]
def override_cflags(self):
- #if os.environ.has_key("CFLAGS"):
- # self.settings["CFLAGS"] = os.environ["CFLAGS"]
- if self.settings.has_key("cflags"):
- self.settings["CFLAGS"]=list_to_string(self.settings["cflags"])
if self.makeconf.has_key("CFLAGS"):
- #print "Using CFLAGS setting from seed stage"
- self.settings["CFLAGS"]=self.makeconf["CFLAGS"]
+ self.settings["CFLAGS"]=self.makeconf["CFLAGS"]
def override_cxxflags(self):
- #if os.environ.has_key("CXXFLAGS"):
- # self.settings["CXXFLAGS"] = os.environ["CXXFLAGS"]
- if self.settings.has_key("cxxflags"):
- self.settings["CXXFLAGS"]=list_to_string(self.settings["cxxflags"])
if self.makeconf.has_key("CXXFLAGS"):
- #print "Using CXXFLAGS setting from seed stage"
- self.settings["CXXFLAGS"]=self.makeconf["CXXFLAGS"]
+ self.settings["CXXFLAGS"]=self.makeconf["CXXFLAGS"]
def override_ldflags(self):
- #if os.environ.has_key("LDFLAGS"):
- # self.settings["LDFLAGS"] = os.environ["LDFLAGS"]
- if self.settings.has_key("ldflags"):
- self.settings["LDFLAGS"]=list_to_string(self.settings["ldflags"])
if self.makeconf.has_key("LDFLAGS"):
- #print "Using LDFLAGS setting from seed stage"
- self.settings["LDFLAGS"]=self.makeconf["LDFLAGS"]
+ self.settings["LDFLAGS"]=self.makeconf["LDFLAGS"]
def set_install_mask(self):
if self.settings.has_key("install_mask"):
#!/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/bootloader-setup.sh,v 1.39 2006/07/05 13:59:18 wolf31o2 Exp $
+# $Header: /var/cvsroot/gentoo/src/catalyst/targets/support/bootloader-setup.sh,v 1.40 2006/07/11 21:40:59 wolf31o2 Exp $
. ${clst_sharedir}/targets/support/functions.sh
. ${clst_sharedir}/targets/support/filesystem-functions.sh
# CD image, and then pass these components to the
# `sgibootcd` tool which outputs a final CD image
scratch="${1}"
- mkdir ${scratch}/kernels
- mkdir ${scratch}/kernels/misc
- mkdir ${scratch}/arcload
+ [ ! -d "${scratch}/kernels" ] && mkdir ${scratch}/kernels
+ [ ! -d "${scratch}/kernels/misc" ] && mkdir ${scratch}/kernels/misc
+ [ ! -d "${scratch}/arcload" ] && mkdir ${scratch}/arcload
echo "" > ${scratch}/arc.cf
# Move kernel binaries to ${scratch}/kernels, and
# move everything else to ${scratch}/kernels/misc
for x in ${clst_boot_kernel}; do
- mv ${1}/boot/${x} ${scratch}/kernels
- mv ${1}/boot/${x}.igz ${scratch}/kernels/misc
+ [ -e "${1}/boot/${x}" ] && mv ${1}/boot/${x} ${scratch}/kernels
+ [ -e "${1}/boot/${x}.igz" ] && mv ${1}/boot/${x}.igz ${scratch}/kernels/misc
done
- rmdir ${1}/boot
+ [ -d "${1}/boot" ] && rmdir ${1}/boot
- # Source the bashified arcload config
+ # Source the arcload source file to generated required sections of arc.cf
source ${clst_sharedir}/targets/support/mips-arcload_conf.sh
# Generate top portions of the config
echo -e "${cmt2}" >> ${scratch}/arc.cf
# Move the bootloader binaries & config to their destination
- mv ${1}/sashARCS ${1}/sash64 ${1}/arc.cf ${scratch}/arcload
+ [ -e "${1}/sashARCS" ] && mv ${1}/sashARCS ${scratch}/arcload
+ [ -e "${1}/sash64" ] && mv ${1}/sash64 ${scratch}/arcload
+ [ -e "${1}/arc.cf" ] && mv ${1}/arc.cf ${scratch}/arcload
;;
esac
exit $?
#!/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/create-iso.sh,v 1.30 2006/04/25 18:33:44 wolf31o2 Exp $
+# $Header: /var/cvsroot/gentoo/src/catalyst/targets/support/create-iso.sh,v 1.31 2006/07/11 21:40:59 wolf31o2 Exp $
. ${clst_sharedir}/targets/support/functions.sh
. ${clst_sharedir}/targets/support/filesystem-functions.sh
;;
mips)
case ${clst_fstype} in
- normal)
- # Gather up all our bits, and generate a tmp config file
- # for sgibootcd
- mkdir ${clst_target_path}/loopback ${clst_target_path}/sgibootcd
- mv ${clst_target_path}/image.loop ${clst_target_path}/loopback
- rm -f ${clst_target_path}/livecd
- img="${clst_target_path}/loopback/image.loop"
+ squashfs)
+ # $clst_target_path/[kernels|arcload] already exists, create loopback and sgibootcd
+ [ ! -d "${clst_target_path}/loopback" ] && mkdir ${clst_target_path}/loopback
+ [ ! -d "${clst_target_path}/sgibootcd" ] && mkdir ${clst_target_path}/sgibootcd
+
+ # Setup variables
+ [ -f "${clst_target_path}/livecd" ] && rm -f ${clst_target_path}/livecd
+ img="${clst_target_path}/loopback/image.squashfs"
knl="${clst_target_path}/kernels"
arc="${clst_target_path}/arcload"
cfg="${clst_target_path}/sgibootcd/sgibootcd.cfg"
- touch ${cfg}
+ echo "" > ${cfg}
+
+ # If the image file exists in $clst_target_path, move it to the loopback dir
+ [ -e "${clst_target_path}/image.squashfs" ] \
+ && mv -f ${clst_target_path}/image.squashfs ${clst_target_path}/loopback
+
+ # An sgibootcd config is essentially a collection of commandline params
+ # stored in a text file. We could pass these on the command line, but it's
+ # far easier to generate a config file and pass it to sgibootcd versus using a
+ # ton of commandline params.
+ #
+ # f= indicates files to go into DVH (disk volume header) in an SGI disklabel
+ # format: f=</path/to/file>@<DVH name>
+ # p0= the first partition holds the LiveCD rootfs image
+ # format: p0=</path/to/image>
+ # p8= the eighth partition is the DVH partition
+ # p10= the tenth partition is the disk volume partition
+ # format: p8= is always "#dvh" and p10= is always "#volume"
- # Add the kernels first
+ # Add the kernels to the sgibootcd config
for x in ${clst_boot_kernel}; do
echo -e "f=${knl}/${x}@${x}" >> ${cfg}
done
- # Next, the bootloaders
+ # Next, the bootloader binaries and config
echo -e "f=${arc}/sash64@sash64" >> ${cfg}
echo -e "f=${arc}/sashARCS@sashARCS" >> ${cfg}
echo -e "f=${arc}/arc.cf@arc.cf" >> ${cfg}
# Next, the Loopback Image
echo -e "p0=${img}" >> ${cfg}
- # Finally, the required SGI Partitions
+ # Finally, the required SGI Partitions (dvh, volume)
echo -e "p8=#dvh" >> ${cfg}
echo -e "p10=#volume" >> ${cfg}
- # All done; feed the config to sgibootcd and end up with an
- # image
+ # All done; feed the config to sgibootcd and end up with an image
+ # c= the config file
+ # o= output image (burnable to CD; readable by fdisk)
/usr/bin/sgibootcd c=${cfg} o=${clst_iso}
;;
*) die "SGI LiveCDs only support the 'normal' fstype!" ;;
fi
fi
-if [ "${USE_MATCH}" = "0" -o "${EXTRAVERSION_MATCH}" = "0" -o "${CONFIG_MATCH}" = "0" ]
-then
- echo "Cleaning up ${clst_kname} kernel install ..."
- echo "This may take some time ..."
- if [ -d /tmp/kerncache/${clst_kname}/ ]
- then
- rm -r /tmp/kerncache/${clst_kname}/ || exit 1
- fi
-fi
-
mkdir -p /tmp/kerncache/${clst_kname}
if [ -n "${clst_KERNCACHE}" ]
#!/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.52 2006/06/08 21:27:30 wolf31o2 Exp $
+# $Header: /var/cvsroot/gentoo/src/catalyst/targets/support/livecdfs-update.sh,v 1.53 2006/07/11 21:40:59 wolf31o2 Exp $
. /tmp/chroot-functions.sh
# Setup Gnome theme
if [ "${clst_livecd_xsession}" == "gnome" ]
then
- # Umm... there is no Clearlooks icon theme. Yup. I'm a retard.
-# gconftool-2 --direct \
-# --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
-# --type string --set /desktop/gnome/interface/icon_theme Clearlooks
gconftool-2 --direct \
--config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
--type string --set /desktop/gnome/interface/theme Clearlooks
# Setup GDM
if [ "${clst_livecd_xdm}" == "gdm" ]
then
- cp -f /etc/X11/gdm/gdm.conf /etc/X11/gdm/gdm.conf.old
- sed -e 's:TimedLoginEnable=false:TimedLoginEnable=true:' \
- -e 's:TimedLoginDelay=30:TimedLoginDelay=10:' \
- -e 's:AllowRemoteRoot=true:AllowRemoteRoot=false:' \
- -e 's:#GraphicalTheme=circles:GraphicalTheme=gentoo-emergence:' \
- -e ':^#GraphicalTheme=: s:^#::' \
- -i /etc/X11/gdm/gdm.conf
- if [ -n "${clst_livecd_users}" -a -n "${first_user}" ]
+ if [ ! -e /etc/X11/gdm/gdm.conf ] && [ -e /usr/share/gdm/defaults.conf ]
then
- sed -e "s:TimedLogin=:TimedLogin=${first_user}:" \
- -i /etc/X11/gdm/gdm.conf
+ if [ -n "${clst_livecd_users}" ] && [ -n "${first_user}" ]
+ then
+ sedxtra="TimedLogin=${first_user}"
+ else
+ sedxtra=""
+ fi
+
+ sed -i \
+ -e 's:\(\[daemon\]\)$:\1\nTimedLoginEnable=true:' \
+ -e 's:^TimedLoginEnable=true$:\1\nTimedLoginDelay=10:' \
+ -e 's:\(\[greeter\]\)$:\1\nGraphicalTheme=gentoo-emergence:' \
+ /etc/X11/gdm/custom.conf
+ [ -n "${sedxtra}" ] && sed -i \
+ -e "s:^TimedLoginDelay=10$:\1\n${sedxtra}:" \
+ /etc/X11/gdm/custom.conf
else
- sed -e "s:TimedLogin=:TimedLogin=gentoo:" \
- -i /etc/X11/gdm/gdm.conf
+ cp -f /etc/X11/gdm/gdm.conf /etc/X11/gdm/gdm.conf.old
+ sed -i \
+ -e 's:TimedLoginEnable=false:TimedLoginEnable=true:' \
+ -e 's:TimedLoginDelay=30:TimedLoginDelay=10:' \
+ -e 's:AllowRemoteRoot=true:AllowRemoteRoot=false:' \
+ -e ':^#GraphicalTheme=: s:^#::' \
+ -e 's:^GraphicalTheme=.*$:GraphicalTheme=gentoo-emergence:' \
+ /etc/X11/gdm/gdm.conf
+
+
+ if [ -n "${clst_livecd_users}" ] && [ -n "${first_user}" ]
+ then
+ sed -i \
+ -e "s:TimedLogin=:TimedLogin=${first_user}:" \
+ /etc/X11/gdm/gdm.conf
+ fi
fi
fi
+
# This gives us our list of system packages for the installer
mkdir -p /usr/livecd
USE="-* $(cat /var/db/pkg/sys-libs/glibc*/USE)" emerge -ep system | grep -e '^\[ebuild' | sed -e 's:^\[ebuild .\+\] ::' > /usr/livecd/systempkgs.txt
\t\tport1 {\n\
\t\t\tdescription\t\"Serial Console, Port 1, 9600 Baud\";\n\
\t\t\timage\t\t\"\";\n\
-\t\t\tappend\t\t\"console=ttyS0,9600\";\n\
+\t\t\tappend\t\t\"console=ttyS0,9600\" \"nox\";\n\
\t\t}\n\n\
\t\tport2 {\n\
\t\t\tdescription\t\"Serial Console, Port 2, 9600 Baud\";\n\
\t\t\timage\t\t\"\";\n\
-\t\t\tappend\t\t\"console=ttyS1,9600\";\n\
+\t\t\tappend\t\t\"console=ttyS1,9600\" \"nox\";\n\
\t\t}\n\
\t}\n\n\
\tbaud=38400 {\n\
\t\tport1 {\n\
\t\t\tdescription\t\"Serial Console, Port 1, 38400 Baud\";\n\
\t\t\timage\t\t\"\";\n\
-\t\t\tappend\t\t\"console=ttyS0,38400\";\n\
+\t\t\tappend\t\t\"console=ttyS0,38400\" \"nox\";\n\
\t\t}\n\n\
\t\tport2 {\n\
\t\t\tdescription\t\"Serial Console, Port 2, 38400 Baud\";\n\
\t\t\timage\t\t\"\";\n\
-\t\t\tappend\t\t\"console=ttyS1,38400\";\n\
+\t\t\tappend\t\t\"console=ttyS1,38400\" \"nox\";\n\
\t\t}\n\
\t}\n\
}\n\n\n"
dbg="debug {\n\
\tdescription\t\"Debug Shell\";\n\
\timage\t\t\"\";\n\
-\tappend\t\t\"real_root=shell\";\n}\n\n"
+\tappend\t\t\"real_root=shell\" \"nox\";\n}\n\n"
cmt1="comment\t\t\"\\\n\\\n\";\n\
comment\t\t\"Bootable Images & Options:\\\n\\\r\\\n\\\r\";\n"
ip22base="# IP22 R4x00 Systems (Indy/Indigo2)\n\
ip22 {\n\
\tdescription\t\"SGI Indy/Indigo2\";\n\
-\tappend\t\t\"real_root=/dev/sr0\" \"cdroot=/dev/loop0\" \"looptype=sgimips\" \"nox\" \"nosound\";\n"
+\tappend\t\t\"real_root=/dev/sr0\" \"cdroot=/dev/loop0\" \"looptype=sgimips\" \"nosound\";\n"
ip22r4k="\tr4000 r4600 r4700 {\n\
\t\tdescription\t\"\\\tR4x00 CPU\";\n\
ip22vid="\tvideo {\n\
\t\tdescription\t\"\\\tNewport Console\\\n\\\r\";\n\
-\t\tappend\t\t\"console=tty0\";\n\
+\t\tappend\t\t\"console=tty0\" \"ip22\";\n\
\t}\n"
ip22x="}\n\n\n"
ip28 {\n\
\tdescription\t\"SGI Indigo2 Impact R10000\\\n\\\r\";\n\
\timage system\t\"/ip28r10k\";\n\
-\tappend\t\t\"real_root=/dev/sr0\" \"cdroot=/dev/loop0\" \"looptype=sgimips\" \"nox\" \"nosound\";\n\
+\tappend\t\t\"real_root=/dev/sr0\" \"cdroot=/dev/loop0\" \"looptype=sgimips\" \"nosound\" \"ip28\";\n\
}\n\n\n"
ip30base="# IP30 Octane\n\
ip30 {\n\
\tdescription\t\"SGI Octane\";\n\
\timage system\t\"/ip30r10k\";\n\
-\tappend\t\t\"real_root=/dev/sr0\" \"cdroot=/dev/loop0\" \"looptype=sgimips\" \"nox\" \"nosound\";\n\n\
+\tappend\t\t\"real_root=/dev/sr0\" \"cdroot=/dev/loop0\" \"looptype=sgimips\" \"nosound\" \"ip30\";\n\n\
\tnosmp {\n\
\t\tdescription\t\"\\\tUniprocessor Mode\";\n\
\t\tappend\t\t\"nosmp\";\n\
\t}\n\n\
\tvideo {\n\
\t\tdescription\t\"\\\tImpactSR/VPro Console\\\n\\\r\";\n\
-\t\tappend\t\t\"console=tty0\";\n\
+\t\tappend\t\t\"console=tty0\" \"ip30\";\n\
\t}\n\
}\n\n\n"
ip32base="# IP32 O2\n\
ip32 {\n\
\tdescription\t\"SGI O2\";\n\
-\tappend\t\t\"real_root=/dev/sr0\" \"cdroot=/dev/loop0\" \"looptype=sgimips\" \"nox\" \"nosound\";\n"
+\tappend\t\t\"real_root=/dev/sr0\" \"cdroot=/dev/loop0\" \"looptype=sgimips\" \"nosound\";\n"
-ip32r5k="\tr5000 rm5200 {\n\
-\t\tdescription\t\"\\\tR5000/RM5200 CPU\";\n\
+ip32r5k="\tr5000 {\n\
+\t\tdescription\t\"\\\tR5000 CPU\";\n\
\t\timage system\t\"/ip32r5k\";\n\
\t}\n"
+ip32rm5k="\trm5200 {\n\
+\t\tdescription\t\"\\\tRM5200 CPU\";\n\
+\t\timage system\t\"/ip32rm5k\";\n\
+\t}\n"
+
ip32rm7k="\trm7000 {\n\
\t\tdescription\t\"\\\tRM7000 CPU\";\n\
\t\timage system\t\"/ip32rm7k\";\n\
ip32vid="\tvideo=640x480 {\n\
\t\tdescription\t\"\\\tGBEFB Console 640x480 16bpp/75Hz\";\n\
-\t\tappend\t\t\"console=tty0 video=gbefb:640x480-16@75\";\n\
+\t\tappend\t\t\"console=tty0 video=gbefb:640x480-16@75\" \"ip32\";\n\
\t}\n\n\
\tvideo=800x600 {\n\
\t\tdescription\t\"\\\tGBEFB Console 800x600 16bpp/75Hz\";\n\
-\t\tappend\t\t\"console=tty0 video=gbefb:800x600-16@75\";\n\
+\t\tappend\t\t\"console=tty0 video=gbefb:800x600-16@75\" \"ip32\";\n\
\t}\n\n\
\tvideo=1024x768 {\n\
\t\tdescription\t\"\\\tGBEFB Console 1024x768 16bpp/75Hz\";\n\
-\t\tappend\t\t\"console=tty0 video=gbefb:1024x768-16@75\";\n\
+\t\tappend\t\t\"console=tty0 video=gbefb:1024x768-16@75\" \"ip32\";\n\
\t}\n\n\
\tvideo=1280x1024 {\n\
\t\tdescription\t\"\\\tGBEFB Console 1280x1024 16bpp/75Hz\\\n\\\r\\\n\\\r\\\n\\\r\";\n\
-\t\tappend\t\t\"console=tty0 video=gbefb:1280x1024-16@75\";\n\
+\t\tappend\t\t\"console=tty0 video=gbefb:1280x1024-16@75\" \"ip32\";\n\
\t}\n"
ip32x="}\n\n\n"