[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[or-cvs] r11666: Improve building by not requiring the checkout to be in /usr (incognito/trunk)



Author: double
Date: 2007-09-27 12:09:30 -0400 (Thu, 27 Sep 2007)
New Revision: 11666

Added:
   incognito/trunk/build-stage.sh
Modified:
   incognito/trunk/building.html
   incognito/trunk/livecd-stage2.sh
Log:
Improve building by not requiring the checkout to be in /usr/src/incognito


Added: incognito/trunk/build-stage.sh
===================================================================
--- incognito/trunk/build-stage.sh	                        (rev 0)
+++ incognito/trunk/build-stage.sh	2007-09-27 16:09:30 UTC (rev 11666)
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+source /etc/catalyst/catalyst.conf
+
+# Build any stage modifying the checkout root to the pwd.
+
+# Verify arguments
+SPEC="$1"
+if [[ -z "${SPEC}" ]] || [[ ! -r "${SPEC}" ]]; then
+	echo "Usage: $0 <spec_file>"
+	exit 1
+fi
+
+# Verify correct type
+if grep "target:.*livecd-stage2" "${SPEC}" >/dev/null; then
+	echo "Target must NOT be livecd-stage2: ${SPEC}"
+	grep "target:" "${SPEC}"
+	echo "Use livecd-stage2.sh"
+	exit 1
+fi
+
+# Create temporary
+DIR="$(mktemp -t -d incognitoXXXXXXXX)"
+if [[ $? -ne 0 ]]; then
+	echo "Could not create temporary directory, $? from mktemp" >2
+	exit 1
+fi
+
+cp "${SPEC}" "${DIR}/stage.spec"
+
+# Fix checkout root
+sed -i "s:/usr/src/incognito:$(pwd):g" "${DIR}/stage.spec"
+
+# Build it
+NICECMD=""
+[[ -x "/usr/bin/ionice" ]] && NICECMD="/usr/bin/ionice -c 3"
+[[ -x "/usr/bin/schedtool" ]] && NICECMD="/usr/bin/schedtool -B -n 8 -e ${NICECMD}"
+${NICECMD} catalyst -f "${DIR}/stage.spec"
+
+# Clean up
+rm -rf "${DIR}"
+


Property changes on: incognito/trunk/build-stage.sh
___________________________________________________________________
Name: svn:executable
   + *

Modified: incognito/trunk/building.html
===================================================================
--- incognito/trunk/building.html	2007-09-27 16:08:10 UTC (rev 11665)
+++ incognito/trunk/building.html	2007-09-27 16:09:30 UTC (rev 11666)
@@ -5,7 +5,7 @@
 <body>
 
 <p>
-Following are the steps to build the Incognito CD. Note that this process will take a long time as all software is compiled from scratch. You'll get a nice, compact, optimized system though.
+Following are the steps to build the Incognito CD. Note that this process will take a long time as all software is compiled from scratch. You'll get a nice, compact, optimized CD though.
 </p>
 
 <p>
@@ -17,10 +17,8 @@
 </p>
 
 <ol>
-<li>Ensure the source is in /usr/src/incognito. This is required due to absolute
-paths needed in current versions of catalyst (2.0.4).</li>
 
-<li>Download <code>stage3-i686-2006.1.tar.bz2</code> into <code>/var/tmp/catalyst/builds/default/</code>. You can find this tarball from a <a href="http://www.gentoo.org/main/en/mirrors.xml";>Gentoo Mirror</a>. Look for a directory structure like <code>releases/x86/2006.1/stages/</code>.</li>
+<li>Download <code>stage3-i686-2007.0.tar.bz2</code> into <code>/var/tmp/catalyst/builds/default/</code>. You can find this tarball from a <a href="http://www.gentoo.org/main/en/mirrors.xml";>Gentoo Mirror</a>. Look for a directory structure like <code>releases/x86/2007.0/stages/</code>.</li>
 
 <li>Pick version number from current date using YYYYMMDD format.</li>
 
@@ -40,22 +38,22 @@
 related to stage1, stage2 or stage3 may be removed. Only the stage3 tarball
 needs to be kept.
 	<pre>
-	catalyst -f arch/x86/stage1.spec
-	catalyst -f arch/x86/stage2.spec
-	catalyst -f arch/x86/stage3.spec
+	./build-stage.sh arch/x86/stage1.spec
+	./build-stage.sh arch/x86/stage2.spec
+	./build-stage.sh arch/x86/stage3.spec
 	</pre>
 </li>
 
 <li>Generate full version.
 	<pre>
-	catalyst -f arch/x86/livecd-stage1.spec
+	./build-stage.sh arch/x86/livecd-stage1.spec
 	./livecd-stage2.sh arch/x86/livecd-stage2.spec
 	</pre>
 </li>
 
 <li>Generate tiny version.
 	<pre>
-	catalyst -f arch/x86/livecd-stage1-tiny.spec
+	./build-stage.sh arch/x86/livecd-stage1-tiny.spec
 	./livecd-stage2.sh arch/x86/livecd-stage2-tiny.spec
 	</pre>
 </li>
@@ -72,14 +70,14 @@
 
 <li>Generate full version. (~2 hours)
 	<pre>
-	catalyst -f arch/x86/livecd-stage1.spec
+	./build-stage.sh arch/x86/livecd-stage1.spec
 	./livecd-stage2.sh arch/x86/livecd-stage2.spec
 	</pre>
 </li>
 
 <li>Generate tiny version. (~30 minutes)
 	<pre>
-	catalyst -f arch/x86/livecd-stage1-tiny.spec
+	./build-stage.sh arch/x86/livecd-stage1-tiny.spec
 	./livecd-stage2.sh arch/x86/livecd-stage2-tiny.spec
 	</pre>
 </li>

Modified: incognito/trunk/livecd-stage2.sh
===================================================================
--- incognito/trunk/livecd-stage2.sh	2007-09-27 16:08:10 UTC (rev 11665)
+++ incognito/trunk/livecd-stage2.sh	2007-09-27 16:09:30 UTC (rev 11666)
@@ -4,12 +4,20 @@
 
 # Build a livecd-stage2 ensuring the .svn directories don't make it on
 
+# Verify arguments
 SPEC="$1"
 if [[ -z "${SPEC}" ]] || [[ ! -r "${SPEC}" ]]; then
 	echo "Usage: $0 <spec_file>"
 	exit 1
 fi
 
+# Verify correct type
+if ! grep "target:.*livecd-stage2" "${SPEC}" >/dev/null; then
+	echo "Target must be livecd-stage2: ${SPEC}"
+	grep "target:" "${SPEC}"
+	exit 1
+fi
+
 # Find overlay
 OVERLAY="$(grep 'livecd/overlay:' ${SPEC} | cut -d ':' -f 2 | tr -d [:space:])"
 if [[ -n "${OVERLAY}" ]] && [[ ! -d "${OVERLAY}" ]]; then