[SM-Commit] GIT changes to test cauldron by Justin Boffemmyer (0f6fbee37ade295f45687061356dbb312e0aae5b)

Justin Boffemmyer scm at sourcemage.org
Tue Dec 30 20:29:42 EST 2008


GIT changes to test cauldron by Justin Boffemmyer <flux at sourcemage.org>:

 data/depends/ncurses.p |    1 
 scripts/spellcaster.sh |   54 +++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 55 insertions(+)

New commits:
commit 0f6fbee37ade295f45687061356dbb312e0aae5b
Author: Justin Boffemmyer <flux at sourcemage.org>
Commit: Justin Boffemmyer <flux at sourcemage.org>

    scripts/spellcaster.sh: install stable grimoire
    
    Install the same version of the stable grimoire used for casting in
    TARGET into SYSDIR.

commit aa87706537f6b482e97a68ec2904a8205597911f
Author: Justin Boffemmyer <flux at sourcemage.org>
Commit: Justin Boffemmyer <flux at sourcemage.org>

    Ensure ncurses is built with UTF8 enabled
    
    Added a "depends" file for ncurses to the repo, and added functionality
    to scripts/spellcaster.sh to install it into the TARGET to make use of
    it during casting.

diff --git a/data/depends/ncurses.p b/data/depends/ncurses.p
new file mode 100644
index 0000000..3014852
--- /dev/null
+++ b/data/depends/ncurses.p
@@ -0,0 +1 @@
+UTF8="y"
diff --git a/scripts/spellcaster.sh b/scripts/spellcaster.sh
index 9bec322..ce0a1a9 100755
--- a/scripts/spellcaster.sh
+++ b/scripts/spellcaster.sh
@@ -140,6 +140,11 @@ function prepare_target() {
 	cp "$CAULDRONDIR/ispells.$TYPE" "$TARGET"/ispells
 	cp "$CAULDRONDIR/ospells.$TYPE" "$TARGET"/ospells
 
+	# Copy any spell-specific required options into the TARGET
+	[[ -d "$TARGET"/etc/sorcery/local/depends/ ]] ||
+		mkdir -p "$TARGET"/etc/sorcery/local/depends/
+	cp "$CAULDRONDIR"/depends/* "$TARGET"/etc/sorcery/local/depends/
+
 	# generate basesystem casting script inside of TARGET
 	cat > "$TARGET"/build_spells.sh <<-'SPELLS'
 
@@ -185,10 +190,50 @@ SPELLS
 	chmod a+x "$TARGET"/build_spells.sh
 }
 
+function install_kernel() {
+	local SRC=$1
+	local DST=$2
+	local kconfig=$3
+	local version=
+	local kernel=
+
+	# Try to autodetect the location of the kernel config based on whether
+	# the linux spell was used or not.
+	if [[ -z $kconfig ]]
+	then
+	fi
+
+	if gaze -q installed linux &> /dev/null
+	then
+		version=$(gaze -q installed linux)
+		kernel=/boot/vmlinuz
+
+	# Try to autodetect the linux kernel version using spell version or
+	# kernel config
+	if [[ -z $version ]]
+	then
+		version="$(zgrep 'Linux kernel version:')"
+		version="${version#*version: }"
+	fi
+
+	# Try to guess the location of the kernel itself
+	kernel=
+
+	cp "$kconfig" "$DST"/boot/config-$version
+	cp "$SRC"/ "$DST"/
+	cp "$SRC"/ "$DST"/
+	cp "$SRC"/ "$DST"/
+	cp "$SRC"/ "$DST"/
+	cp "$SRC"/ "$DST"/
+}
+
 function setup_sys() {
 	local SPOOL="$TARGET/var/spool"
 	local SORCERY="sorcery-stable.tar.bz2"
 	local SORCERYDIR="$TARGET/usr/src/sorcery"
+	local gvers=$(head -n1 "$TARGET"/var/lib/sorcery/codex/stable/VERSION)
+	local stable="stable-${gvers%-*}.tar.bz2"
+	local syscodex="$SYSDIR/var/lib/sorcery/codex"
 
 	# unpack the sys caches into SYSDIR
 	for cache in $(<"$TARGET"/sys-list)
@@ -207,6 +252,15 @@ function setup_sys() {
 	pushd "$SORCERYDIR" &> /dev/null
 	./install "$SYSDIR"
 	popd
+
+	# install the stable grimoire used for build into SYSDIR
+	(
+		cd "$TARGET/tmp"
+		wget http://download.sourcemage.org/codex/$stable
+	)
+	[[ -d "$syscodex" ]] || mkdir -p $syscodex &&
+	tar jxf $stable -C "$syscodex"/
+	mv "$syscodex"/${stable%.tar.bz2} "$syscodex"/stable
 }
 
 function setup_iso() {



More information about the SM-Commit mailing list