New commits:
commit 2a45092d99fe6105fc3a77428219f5230b9b11cb
Author: Andrew Stitt <acedit AT armory.com>
Commit: Andrew Stitt <acedit AT armory.com>
call find to help debug broken iso tree
modprobe loop so mkinitrd does not fail
commit 737c6507c803da3e877f693eeacdc6b579583a0f
Author: Andrew Stitt <acedit AT armory.com>
Commit: Andrew Stitt <acedit AT armory.com>
quiet yet more kernel output
commit 62fbca6b55d3caad96a921a6cb2010c4ef0192da
Author: Justin Boffemmyer <flux AT sourcemage.org>
Commit: Justin Boffemmyer <flux AT sourcemage.org>
scripts/mkrelease.sh: missing '-i'
Forgot to add the '-i' when all of the scripts were adjusted for
consistency in option/argument parsing.
commit 8d2ef9cff8eb07e03cd65f6ed33f53db42c34c4e
Author: Andrew Stitt <acedit AT armory.com>
Commit: Andrew Stitt <acedit AT armory.com>
fix kernel tarball extension
commit 1f0fd473bd1363f1e7dd111269dbb024e78ea849
Author: Justin Boffemmyer <flux AT sourcemage.org>
Commit: Justin Boffemmyer <flux AT sourcemage.org>
scripts/spellcaster.sh: absolute path for sorcery
Ensure that the sorcery install gets an absolute path to install to.
commit 7894a17ce10274d2b82a5a963a070a09ef7a3054
Author: Justin Boffemmyer <flux AT sourcemage.org>
Commit: Justin Boffemmyer <flux AT sourcemage.org>
scripts/spellcaster.sh: ensure clean tmp/
Ensure that TARGET/tmp is clean at the start of the build run.
commit d3a233d97753045c9830e4f6b806a1f0be4b90c0
Author: Justin Boffemmyer <flux AT sourcemage.org>
Commit: Justin Boffemmyer <flux AT sourcemage.org>
scripts/spellcaster.sh: no -x in the script!
Do not include -x in the script.
commit c39e7603f6775e3cd2e9f16dee308c6136dafceb
Author: Justin Boffemmyer <flux AT sourcemage.org>
Commit: Justin Boffemmyer <flux AT sourcemage.org>
scripts/spellcaster.sh: chroot->cauldronchr.sh
Use cauldronchr.sh to run tablets.sh (generates tablet info in SYSDIR)
instead of chroot, because chroot doesn't take care of the dev/ and
proc/ trees which are needed or no binaries will be found in path.
commit 1d3280049da114a687950e5d875bda4ae8927d04
Author: Quentin Rameau <quinq AT sourcemage.org>
Commit: Quentin Rameau <quinq AT sourcemage.org>
scripts/spellcaster.sh: changed kernel image path
The path to the image kernel is tested against iso architecture to be
sure to
get the right kernel.
commit 447480d09bf1e5a57f0339e2625188f4fe59cd5f
Author: Quentin Rameau <quinq AT sourcemage.org>
Commit: Quentin Rameau <quinq AT sourcemage.org>
data/kernel_archs added new data file
This file contains variables to substitute ISO architecture with kernel
architecture build, in order to find the right kernel image path.
commit fce4db731785605a03481b90edc53b12b394c74a
Author: Justin Boffemmyer <flux AT sourcemage.org>
Commit: Justin Boffemmyer <flux AT sourcemage.org>
scripts/spellcaster.sh: don't use scribe, not auto
Scribe presents the ChangeLog in less, which then requires user input.
Automate the process by doing it manually instead of with scribe.
commit e567fd5d9cdf0a283222902fc8598a0a9874340b
Author: Justin Boffemmyer <flux AT sourcemage.org>
Commit: Justin Boffemmyer <flux AT sourcemage.org>
scripts/spellcaster.sh: perform scribe update
Run scribe update in the build chroot before doing anything else so that
we can ensure we have the latest stable grimoire.
commit 54cf581d1e1b3cea894c13d14887e7819d22686f
Author: Justin Boffemmyer <flux AT sourcemage.org>
Commit: Justin Boffemmyer <flux AT sourcemage.org>
doc/release.recipe: small fixups
Removed references to steps 11 and 12, which are no more. Also fixed the
usage description of cleaniso.sh, which requires an argument.
diff --git a/data/kernel_archs b/data/kernel_archs
new file mode 100644
index 0000000..6fae015
--- /dev/null
+++ b/data/kernel_archs
@@ -0,0 +1,2 @@
+# Architectures directories
+karch_x86="i386"
diff --git a/doc/release.recipe b/doc/release.recipe
index 8dc1223..3a085a3 100644
--- a/doc/release.recipe
+++ b/doc/release.recipe
@@ -1,11 +1,11 @@
10 (Easy) Steps to Generate an ISO
-The following are the general steps that need to be taken in order to create
an
-ISO from scratch. These are not necessarily the steps that have to be
followed,
-but this is how I generate ISOs. Steps 11 and 12 are more necessary if you
are
-building an official ISO, but at least step 11 is recommended even for home
-use. Before doing anything in the recipe, you will need a working kitchen.
Get
-yourself a cauldron to brew in (and check out the test branch):
+The following are the general steps that need to be taken in order to create
+an ISO from scratch. These are not necessarily the steps that have to be
+followed, but this is how I generate ISOs. Step 10 is more necessary if you
+are building an official ISO, but is recommended even for home use. Before
+doing anything in the recipe, you will need a working kitchen. Get yourself a
+cauldron to brew in (and check out the test branch):
git clone git://scm.sourcemage.org/smgl/cauldron.git
@@ -45,9 +45,9 @@ access. Remember that all paths just mentioned are relative
to the sys dir
(except for the first argument to ln, which is not a typo).
5. Prune the iso tree (/tmp/cauldron/iso). This can be done by running
-cauldron/scripts/cleaniso.sh. This uses /tmp/cauldron/iso by default. This
will
-remove unnecessary things like sorcery tablet files and logs, and unnecessary
-documentation in usr/share/doc for example.
+cauldron/scripts/cleaniso.sh /tmp/cauldron/iso. This will remove unnecessary
+things like sorcery tablet files and logs, and unnecessary documentation in
+usr/share/doc for example.
6. Make adjustments to the iso tree (/tmp/cauldron/iso) by running
cauldron/scripts/add-sauce.sh -o -i /tmp/cauldron/iso.
diff --git a/scripts/mkrelease.sh b/scripts/mkrelease.sh
index b7f9b75..9305b6a 100755
--- a/scripts/mkrelease.sh
+++ b/scripts/mkrelease.sh
@@ -79,6 +79,6 @@ if [[ -n $ISOCHOWN ]]
then
"$MYDIR"/mkiso.sh "$ISOCHOWN $CHOWNSTR" -kz "$TARGET" "smgl-$VERSION"
else
- "$MYDIR"/mkiso.sh -kz "$TARGET" "smgl-$VERSION"
+ "$MYDIR"/mkiso.sh -kz -i "$TARGET" "smgl-$VERSION"
fi
+ # make sure the TARGET has a clean /tmp
+ rm -fr "$TARGET"/tmp/*
+
# Copy resolv.conf so spell sources can be downloaded inside the
TARGET
cp -f "$TARGET"/etc/resolv.conf "$TARGET"/tmp/resolv.conf &&
cp -f /etc/resolv.conf "$TARGET"/etc/resolv.conf
@@ -187,6 +190,22 @@ function prepare_target() {
if [[ -n $CAULDRON_CHROOT && $# -eq 0 ]]
then
+ SPOOL=/tmp
+ stable="stable.tar.bz2"
+ codex="$SYSDIR/var/lib/sorcery/codex"
+ grimoire='GRIMOIRE_DIR[0]=/var/lib/sorcery/codex/stable'
+ index="$SYSDIR/etc/sorcery/local/grimoire"
+
+ # update to latest stable grimoire
+ (
+ cd "$SPOOL"
+ wget http://download.sourcemage.org/codex/$stable
+ )
+ msg "Updating build grimoire"
+ [[ -d "$codex" ]] || mkdir -p $codex &&
+ tar jxf "$SPOOL"/$stable -C "$codex"/ &&
+ echo "$grimoire" > "$index"
+
# If console-tools is found in TARGET, get rid of it to make
# way for kbd
[[ $(gaze -q installed console-tools) != "not installed" ]] &&
@@ -297,9 +316,15 @@ function install_kernel() {
if [[ -e "$SRC"/boot/vmlinuz ]]
then
kernel="$SRC/boot/vmlinuz"
- elif [[ -e "$SRC"/usr/src/linux/arch/i386/boot/bzImage ]]
- then
- kernel="$SRC/usr/src/linux/arch/i386/boot/bzImage"
+ else
+ # Getting kernel architecture from ISO architecture
+ . $CAULDRONDIR/kernel_archs
+ kernel_arch=karch_$TYPE
+
+ if [[ -e
"$SRC"/usr/src/linux/arch/"${!kernel_arch:-${TYPE}}"/boot/bzImage ]]
+ then
+
kernel="$SRC/usr/src/linux/arch/${!kernel_arch:-${TYPE}}/boot/bzImage"
+ fi
fi
fi
if [[ -z $kernel ]]
@@ -353,11 +378,17 @@ function setup_sys() {
wget http://download.sourcemage.org/sorcery/$SORCERY
)
- # unpack and install sorcery into SYSDIR
+ # unpack sorcery into TARGET
msg "Installing sorcery in SYSDIR"
tar jxf "$SPOOL"/$SORCERY -C "$TARGET/usr/src"
+
+ # ensure absolute path for install diR
+ local installdir="$SYSDIR"
+ [[ $installdir != /* ]] && installdir="$PWD/$SYSDIR"
+
+ # install sorcery into SYSDIR
pushd "$SORCERYDIR" &> /dev/null
- ./install "$SYSDIR"
+ ./install "$installdir"
popd &> /dev/null
# install the stable grimoire used for build into SYSDIR
@@ -400,7 +431,7 @@ function setup_sys() {