public inbox for gnap-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: Philipp Riegger <lists@anderedomain.de>
To: gnap-dev@lists.gentoo.org
Subject: Re: [gnap-dev] [PATCH 0/4] GNAP improvements, probably for 2.1
Date: Fri, 03 Aug 2007 17:02:12 +0300	[thread overview]
Message-ID: <1186149732.10651.61.camel@b136a> (raw)
In-Reply-To: <1186146995.10651.18.camel@b136a>

[-- Attachment #1: Type: text/plain, Size: 284 bytes --]

On Fri, 2007-08-03 at 16:16 +0300, Philipp Riegger wrote:
> The patches are:
> 
> 01-gnap-cleanup.patch
> 02-gnap-split.patch
> 03-gnap-namespace.patch
> 04-gnap-environment.patch

I also attached theese, since come newline dmaage got done. Sorry for
sending all this twice.

Philipp

[-- Attachment #2: 01-gnap-cleanup.patch --]
[-- Type: text/x-patch, Size: 23264 bytes --]

diff -ur --exclude .svn --exclude upload.sh --exclude diff.sh gnap-2.0/src/gnap_make gnap-2.0+cleanup/src/gnap_make
--- gnap-2.0/src/gnap_make	2007-07-23 14:14:40.000000000 +0300
+++ gnap-2.0+cleanup/src/gnap_make	2007-08-02 15:55:38.000000000 +0300
@@ -21,6 +21,15 @@
 	echo -e " ${W}*${N} ${*}"
 }
 
+ginfo() {
+	echo -e " ${G}*${N} ${*}"
+}
+
+gmkdir() {
+	mkdir -p "$1"
+	gtest continued $? "Failed to create directory \"$1\"."
+}
+
 gconfirm() {
 	if [[ "${FORCEYES}" -eq 1 ]]; then
 		gwarn "${*} forced to yes"
@@ -30,7 +39,7 @@
 			if [[ -n "${TEMPDIR}" ]]; then
 				cleanup
 			fi
-			echo Build aborted !
+			echo Build aborted!
 			exit 2
 		fi
 	fi
@@ -77,7 +86,7 @@
 	echo '    -c catalyst.conf     Use specific catalyst.conf file'
 	echo '    -e specs             Specs directory or tar.bz2 file'
 	echo
-	echo "Please man ${GNAPNAME} for more details."
+	echo "Please use man ${GNAPNAME} for more details."
 }
 
 cleanup() {
@@ -92,19 +101,24 @@
 	fi
 }
 
-if [[ "$#" -eq 0 || "${1}" == '-h' ]]; then
+if [[ "$#" -eq 0 ]]; then
 	usage
 	exit 0
 fi
 
 gbegin 'Checking parameters'
 
+# Catalyst executable and config file
+CATALYST_BIN="/usr/bin/catayst"
+CATALYST_CONF="/etc/catalyst/catalyst.conf"
+
 # Read options
 NOTARGET=1
 STAMP=$(date +%Y%m%d)
-while getopts ':hs:p:m:o:v:t:fl:c:e:' options; do
-	case ${options} in
-		h ) usage
+while getopts ':hs:p:m:o:v:t:fl:c:e:' option; do
+	case ${option} in
+		h )
+			usage
 			exit 0;;
 		s ) STAGE3FILE="${OPTARG}";;
 		p ) SNAPSHOTFILE="${OPTARG}";;
@@ -112,7 +126,13 @@
 		v ) STAMP="${OPTARG}";;
 		t )
 			case "${OPTARG}" in
-				all ) ALLTARGET=1;;
+				all )
+					STAGE3=1
+					LIVECD1=1
+					LIVECD2=1
+					TARBALL=1
+					MODULES=1
+					NEEDS_SNAPSHOT=1;;
 				stage3 )
 					STAGE3=1
 					NEEDS_SNAPSHOT=1;;
@@ -122,17 +142,19 @@
 				livecd-stage2 )
 					LIVECD2=1
 					NEEDS_SNAPSHOT=1;;
-				tarball ) TARBALL=1;;
+				tarball )
+					TARBALL=1;;
 				extensions )
 					MODULES=1
 					NEEDS_SNAPSHOT=1;;
+				* ) gtest 1 'Specified stage is unknown!';;
 			esac
 			NOTARGET=0;;
 		f ) FORCEYES=1;;
 		l ) GNAPLOGPREFIX="${OPTARG}";;
 		c ) CATALYST_CONF="${OPTARG}";;
 		e ) SPECS="${OPTARG}";;
-		* ) gtest 1 'Specified options are incomplete or unknown !';;
+		* ) gtest 1 'Specified options are incomplete or unknown!';;
 	esac
 done
 
@@ -147,8 +169,7 @@
 # Prepare specs dir and check common.conf file
 SPECDIR="${TEMPDIR}/specs"
 if [[ -f "${SPECS}" ]]; then
-	mkdir "${SPECDIR}"
-	gtest continued $? 'Failed to create specs temporary subdirectory'
+	gmkdir "${SPECDIR}"
 	tar jx -f "${SPECS}" -C "${SPECDIR}"
 	gtest continued $? 'Failed to unpack specs'
 elif [[ -d "${SPECS}" ]]; then
@@ -158,7 +179,7 @@
 	gtest continued 1 "${SPECS} not found, provide a valid -e option"
 fi
 test -f "${SPECDIR}/common.conf"
-gtest continued $? "Incorrect specdir: ${SPECDIR}/common.conf not found !"
+gtest continued $? "Incorrect specdir: ${SPECDIR}/common.conf not found!"
 source "${SPECDIR}/common.conf"
 export CHOST
 export CFLAGS
@@ -169,30 +190,16 @@
 
 # catalyst.conf file
 test -f "${CATALYST_CONF}"
-gtest continued $? "${CATALYST_CONF} file not found !"
+gtest continued $? "${CATALYST_CONF} file not found!"
 source "${CATALYST_CONF}"
 
-# Default targets is complete core build
-if [[ "${ALLTARGET}" -eq 1 ]]; then
-	STAGE3=1
-	LIVECD1=1
-	LIVECD2=1
-	TARBALL=1
-	MODULES=1
-	NEEDS_SNAPSHOT=1
-fi
-
 # At least one target is needed
 test "${NOTARGET}" -eq 0
 gtest continued $? \
 	'No target specified. You should provide at least one -t option.'
 
-# CATALYST_DIR must exist
-if [[ ! -d "${CATALYST_DIR}" ]]; then
-  mkdir "${CATALYST_DIR}"
-  gtest continued $? \
-	"Error: failed to create ${CATALYST_DIR} directory."
-fi
+# storedir must exist
+gmkdir "${storedir}"
 
 # Stage3 needs a seed stage
 if [[ "${STAGE3}" -eq 1 ]]; then
@@ -211,17 +218,14 @@
 	test -f "${STAGE3FILE}"
 	gtest continued $? "${STAGE3FILE} is not a valid stage3 tarball"
 fi
-gtest 0
 
 # If extensions and no stage3, warn that we'll use seedstage as stage3
-STAGE3LOC="${CATALYST_DIR}/builds/${RELTYPE}/stage3-${SUBARCH}-${STAMP}.tar.bz2"
+STAGE3LOC="${storedir}/builds/${RELTYPE}/stage3-${SUBARCH}-${STAMP}.tar.bz2"
 if [[ "${MODULES}" -eq 1 || "${LIVECD1}" -eq 1 ]]; then
 	if [[ "${STAGE3}" -ne 1 && ! -f "${STAGE3LOC}" ]]; then
 		gwarn '"livecd-stage1" or "extensions" was selected without "stage3".'
-		gconfirm 'Should I use the seed stage as stage3 result ?'
-		if [[ ! -d "${CATALYST_DIR}/builds/${RELTYPE}" ]]; then
-			mkdir -p "${CATALYST_DIR}/builds/${RELTYPE}"
-		fi
+		gconfirm 'Should I use the seed stage as stage3 result?'
+		gmkdir "${storedir}/builds/${RELTYPE}"
 		cp "${STAGE3FILE}" "${STAGE3LOC}"
 	fi
 fi
@@ -242,14 +246,12 @@
 if [[ "${MODULES}" -eq 1 ]]; then
 	TARGETLIST="${TARGETLIST}[extensions]"
 fi
-gwarn 'The following targets will be called:'
-gwarn "${TARGETLIST}"
+ginfo 'The following targets will be called:'
+ginfo "${TARGETLIST}"
 
 # Confirm tarball overwrite if TARBALL stage selected
-if [[ "${TARBALL}" -eq 1 ]]; then
-	if [[ -e "gnap-${GNAPVERSION}-${STAMP}.tar" ]]; then
-		gconfirm "gnap-${GNAPVERSION}-${STAMP}.tar already exists, overwrite"
-	fi
+if [[ "${TARBALL}" -eq 1 -a -e "gnap-${GNAPVERSION}-${STAMP}.tar" ]]; then
+	gconfirm "gnap-${GNAPVERSION}-${STAMP}.tar already exists, overwrite"
 fi
 
 # Logfile setup and confirmation
@@ -275,17 +277,14 @@
 if [[ "${NEEDS_SNAPSHOT}" -eq 1 ]]; then
 	gbegin 'Preparing portage snapshot'
 
-	if [[ ! -d "${CATALYST_DIR}/snapshots" ]]; then
-		mkdir -p "${CATALYST_DIR}/snapshots"
-	fi
+	gmkdir "${storedir}/snapshots"
 
 	if [[ -z "${PORTAGE_OVERLAYS}" ]]; then
-		cp "${SNAPSHOTFILE}" "${CATALYST_DIR}/snapshots/portage-${STAMP}.tar.bz2"
+		cp "${SNAPSHOTFILE}" "${storedir}/snapshots/portage-${STAMP}.tar.bz2"
 		gtest $? "Snapshot preparation failed, ${SEELOGFILES}"
 	else
 		TEMPPRTDIR="${TEMPDIR}/portage"
-		mkdir "${TEMPPRTDIR}"
-		gtest continued $? 'Failed to create portage temporary subdirectory'
+		gmkdir "${TEMPPRTDIR}"
 
 		tar jxf "${SNAPSHOTFILE}" -C "${TEMPPRTDIR}" \
 			>> "${GNAPLOGPREFIX}.out" 2>> "${GNAPLOGPREFIX}.err"
@@ -295,7 +294,7 @@
 			gtest continued $? "Failed to copy ${overlay}"
 		done
 
-		tar jcf "${CATALYST_DIR}/snapshots/portage-${STAMP}.tar.bz2" \
+		tar jcf "${storedir}/snapshots/portage-${STAMP}.tar.bz2" \
 			-C "${TEMPPRTDIR}" . \
 			>> "${GNAPLOGPREFIX}.out" 2>> "${GNAPLOGPREFIX}.err"
 		gtest $? "Snapshot preparation failed, ${SEELOGFILES}"
@@ -306,10 +305,8 @@
 if [[ "${STAGE3}" -eq 1 ]]; then
 	gbegin "${G}[stage3]${N} stage (base system build)"
 
-	if [[ ! -d "${CATALYST_DIR}/builds/${RELTYPE}" ]]; then
-		mkdir -p "${CATALYST_DIR}/builds/${RELTYPE}"
-	fi
-	cp "${STAGE3FILE}" "${CATALYST_DIR}/builds/${RELTYPE}/seedstage.tar.bz2"
+	gmkdir "${storedir}/builds/${RELTYPE}"
+	cp "${STAGE3FILE}" "${storedir}/builds/${RELTYPE}/seedstage.tar.bz2"
 
 	TEMPCONF="${TEMPDIR}/stage3.conf"
 	touch "${TEMPCONF}"
@@ -328,7 +325,7 @@
 	$CATALYST_BIN -c "${CATALYST_CONF}" -f "${TEMPCONF}" \
 		>> "${GNAPLOGPREFIX}.out" 2>> "${GNAPLOGPREFIX}.err"
 	gtest $? "[stage3] failed, ${SEELOGFILES}"
-	rm "${CATALYST_DIR}/builds/${RELTYPE}/seedstage.tar.bz2"
+	rm "${storedir}/builds/${RELTYPE}/seedstage.tar.bz2"
 fi
 
 # LIVECD-STAGE1 phase
@@ -389,16 +386,14 @@
 	gbegin "${G}[tarball]${N} phase (Creation of core and basefs components)"
 	test -e "gnap-${GNAPVERSION}-${STAMP}.iso"
 	gtest continued $? "No gnap-${GNAPVERSION}-${STAMP}.iso file to convert !"
-	test -d "${CATALYST_DIR}/tmp/gnap/livecd-stage1-${SUBARCH}-${STAMP}"
+	test -d "${storedir}/tmp/gnap/livecd-stage1-${SUBARCH}-${STAMP}"
 	gtest $? 'Missing livecd-stage2 results'
 
 	gbegin '  Creating core component'
 	TEMPMNTDIR="${TEMPDIR}/mount"
-	mkdir "${TEMPMNTDIR}"
-	gtest continued $? 'Failed to create mount temporary subdirectory'
+	gmkdir "${TEMPMNTDIR}"
 	TEMPISODIR="${TEMPDIR}/iso"
-	mkdir "${TEMPISODIR}"
-	gtest continued $? 'Failed to create iso temporary subdirectory'
+	gmkdir "${TEMPISODIR}"
 
 	mount -o loop "gnap-${GNAPVERSION}-${STAMP}.iso" ${TEMPMNTDIR} && \
 		cp -r ${TEMPMNTDIR}/* ${TEMPISODIR}
@@ -419,14 +414,14 @@
 
 	gbegin '  Creating basefs component'
 	tar jcf "gnap-basefs-${GNAPVERSION}-${STAMP}.tar.bz2" \
-		-C "${CATALYST_DIR}/tmp/gnap/livecd-stage2-${SUBARCH}-${STAMP}" .
+		-C "${storedir}/tmp/gnap/livecd-stage2-${SUBARCH}-${STAMP}" .
 	gtest $? 'Unable to create basefs tarball'
 fi
 
 # EXTENSIONS phase
 if [[ "${MODULES}" -eq 1 ]]; then
 	gbegin "${G}[extensions]${N} stage start"
-	GRP_PREFIX="${CATALYST_DIR}/builds/${RELTYPE}/grp-${SUBARCH}-${STAMP}"
+	GRP_PREFIX="${storedir}/builds/${RELTYPE}/grp-${SUBARCH}-${STAMP}"
 	SPECMODULE="${SPECDIR}/extensions.conf"
 	mod_list=$(grep '^extensions:' "${SPECMODULE}" 2>/dev/null);
 	mod_list="${mod_list/extensions:/}"
@@ -460,12 +455,10 @@
 
 		$CATALYST_BIN -c "${CATALYST_CONF}" -f "${TEMPCONF}" \
 			>> "${GNAPLOGPREFIX}.out" 2>> "${GNAPLOGPREFIX}.err"
-		gtest continued $? \
-			"Extension build failed, ${SEELOGFILES}"
+		gtest continued $? "Extension build failed, ${SEELOGFILES}"
 
 		TEMPMODULEDIR="${TEMPDIR}/module_${mod_name}"
-		mkdir "${TEMPMODULEDIR}"
-		gtest continued $? 'Failed to create module temporary subdirectory'
+		gmkdir "${TEMPMODULEDIR}"
 		for pkg in $( ls ${GRP_PREFIX}/${mod_name}/All/*.tbz2 ); do
 			tar jxf $pkg -C "${TEMPMODULEDIR}" -p \
 				>> "${GNAPLOGPREFIX}.out" 2>> "${GNAPLOGPREFIX}.err"
@@ -488,5 +481,5 @@
 fi
 
 cleanup
-echo 'Build successful !'
+echo 'Build successful!'
 exit 0
diff -ur --exclude .svn --exclude upload.sh --exclude diff.sh gnap-2.0/src/specs/common.conf gnap-2.0+cleanup/src/specs/common.conf
--- gnap-2.0/src/specs/common.conf	2007-07-23 14:14:39.000000000 +0300
+++ gnap-2.0+cleanup/src/specs/common.conf	2007-07-17 15:40:34.000000000 +0300
@@ -1,9 +1,3 @@
-# Catalyst executable and support files
-CATALYST_NAME='catalyst'
-CATALYST_BIN="/usr/bin/${CATALYST_NAME}"
-CATALYST_CONF="/etc/${CATALYST_NAME}/${CATALYST_NAME}.conf"
-CATALYST_DIR="/var/tmp/${CATALYST_NAME}"
-
 # Profile and build flags to use
 SUBARCH="x86"
 PROFILE="uclibc/x86/hardened"
diff -ur --exclude .svn --exclude upload.sh --exclude diff.sh gnap-2.0/tools/gnap_overlay gnap-2.0+cleanup/tools/gnap_overlay
--- gnap-2.0/tools/gnap_overlay	2007-07-23 14:14:39.000000000 +0300
+++ gnap-2.0+cleanup/tools/gnap_overlay	2007-08-02 15:56:18.000000000 +0300
@@ -3,8 +3,9 @@
 
 GNAPNAME=$(basename "$0")
 echo "GNAP overlay tool ${GNAPNAME} ${VERSION}"
-GNAPCORE='/usr/lib/gnap/gnap-core.tar'
-GNAPMBR='/usr/lib/gnap/mbr/mbr.bin'
+GNAPLIBDIR='/usr/lib/gnap'
+GNAPCORE="${GNAPLIBDIR}/gnap-core.tar"
+GNAPMBR="${GNAPLIBDIR}/mbr/mbr.bin"
 TEMPDIR=''
 IMG_SIZE=15
 
@@ -24,6 +25,11 @@
 	echo -e " ${G}*${N} ${*}"
 }
 
+gmkdir() {
+	mkdir -p "$1"
+	gtest continued $? "Failed to create directory \"$1\"."
+}
+
 gconfirm() {
 	if [[ "${FORCEYES}" -eq 1 ]]; then
 		gwarn "${*} forced to yes"
@@ -33,7 +39,7 @@
 			if [[ -n "${TEMPDIR}" || -n "${LOOP}" ]]; then
 				cleanup
 			fi
-			echo 'Overlay aborted !'
+			echo 'Overlay aborted!'
 			exit 2
 		fi
 	fi
@@ -98,7 +104,7 @@
     echo '  -S size       Size of image file in megabyte'
     echo '  The disk target options also apply, except -d.'
     echo
-    echo "Please man ${GNAPNAME} for more details."
+    echo "Please use man ${GNAPNAME} for more details."
 }
 
 cleanup() {
@@ -126,8 +132,17 @@
 gbegin 'Checking parameters'
 
 # Read options
-while getopts ':hg:o:c:nfi:d:l:r:ms:S:L:' options; do
-	case ${options} in
+NOLOGO=0
+FORCEYES=0
+OUTPUT=''
+TYPE=''
+CREATE='n'
+TARGETROOT=''
+CACHE=''
+SERIAL=''
+BAUDRATE=''
+while getopts ':hg:o:c:nfi:d:l:r:ms:S:L:' option; do
+	case ${option} in
 		h ) usage
 			exit 0;;
 		g ) GNAPCORE="${OPTARG}";;
@@ -150,7 +165,7 @@
 		m ) CACHE='docache ';;
 		s ) SERIAL="console=ttyS0,${OPTARG}n81"
 			BAUDRATE="${OPTARG}";;
-		* ) gtest 1 'Specified options are incomplete or unknown !';;
+		* ) gtest 1 'Specified options are incomplete or unknown!';;
 	esac
 done
 
@@ -192,7 +207,7 @@
 	gwarn "${W}dd if=${GNAPMBR} of=${PARENTDEV} bs=512 count=1${N} if needed"
 	gwarn "${OUTPUT} must contain an active partition:"
 	gwarn " use ${W}fdisk ${PARENTDEV}${N} if needed"
-	gwarn "Current data on ${OUTPUT} will be ${B}destroyed${N} !"
+	gwarn "Current data on ${OUTPUT} will be ${B}destroyed${N}!"
 	gconfirm 'Are you sure you want to continue ?'
 fi
 
@@ -201,20 +216,18 @@
 TEMPDIR=$(mktemp -d -t gnap_overlay.XXXXXX)
 gtest continued $? 'Failed to create temporary directory'
 TEMPCOREDIR="${TEMPDIR}/core"
-mkdir "${TEMPCOREDIR}"
-gtest continued $? 'Failed to create core temporary subdirectory'
+gmkdir "${TEMPCOREDIR}"
 tar x -C "${TEMPCOREDIR}" -f "${GNAPCORE}"
 gtest $? 'Failed to extract core'
 
 gbegin 'Preparing overlay'
 TEMPOVERDIR="${TEMPDIR}/overlay"
-mkdir "${TEMPOVERDIR}"
-gtest $? 'Failed to create overlay temporary subdirectory'
+gmkdir "${TEMPOVERDIR}"
 
 if [[ -n "${BAUDRATE}" ]]; then
 	gbegin 'Adding baudrate for serial console'
-	mkdir -p "${TEMPOVERDIR}/etc/gnap" && \
-		echo -n "${BAUDRATE}" > "${TEMPOVERDIR}/etc/gnap/baudrate"
+	gmkdir "${TEMPOVERDIR}/etc/gnap"
+	echo -n "${BAUDRATE}" > "${TEMPOVERDIR}/etc/gnap/baudrate"
 	gtest $? 'Failed to create /etc/gnap/baudrate'
 fi
 for overlay in ${OVERLAYS} ; do
@@ -231,8 +244,7 @@
 if [[ -n "${OVERLAYCONF}" ]]; then
 	gbegin "Adding ${OVERLAYCONF} (overlay.conf file)"
 	if [[ ! -d "${TEMPOVERDIR}/etc" ]]; then
-		mkdir "${TEMPOVERDIR}/etc"
-		gtest continued $? 'Failed to create /etc overlay directory'
+		gmkdir "${TEMPOVERDIR}/etc"
 	fi
 	cp "${OVERLAYCONF}" "${TEMPOVERDIR}/etc/overlay.conf"
 	gtest $? "Failed to copy ${OVERLAYCONF}"
@@ -256,7 +268,7 @@
 # Target specific actions
 if [[ "${TYPE}" == 'iso' ]]; then
 	if [[ -f "${OUTPUT}" ]]; then
-		gconfirm "File ${OUTPUT} already exists, overwrite ?"
+		gconfirm "File ${OUTPUT} already exists, overwrite?"
 	fi
 	rm "${TEMPCOREDIR}/syslinux.cfg"
 	gbegin "Building ${OUTPUT} ISO file"
@@ -285,7 +297,7 @@
 
 		if [[ "${CREATE}"  == y ]]; then
 			if [[ -f "${OUTPUT}" ]]; then
-				gconfirm "File ${OUTPUT} already exists, overwrite ?"
+				gconfirm "File ${OUTPUT} already exists, overwrite?"
 			fi
 
 			gbegin 'Creating image file'
@@ -328,8 +340,7 @@
 
 	gbegin "Mounting ${OUTPUT}"
 	TEMPMOUNTDIR="${TEMPDIR}/mount"
-	mkdir "${TEMPMOUNTDIR}"
-	gtest continued $? 'Failed to create mount temporary subdirectory'
+	gmkdir "${TEMPMOUNTDIR}"
 	mount -t msdos "${OUTPUT}" "${TEMPMOUNTDIR}"
 	gtest $?
 
@@ -375,5 +386,5 @@
 
 # Successful finish
 cleanup
-echo 'Overlay successful !'
+echo 'Overlay successful!'
 exit 0
diff -ur --exclude .svn --exclude upload.sh --exclude diff.sh gnap-2.0/tools/gnap_remaster gnap-2.0+cleanup/tools/gnap_remaster
--- gnap-2.0/tools/gnap_remaster	2007-07-23 14:14:39.000000000 +0300
+++ gnap-2.0+cleanup/tools/gnap_remaster	2007-08-02 15:56:39.000000000 +0300
@@ -3,11 +3,12 @@
 
 GNAPNAME=$(basename "$0")
 echo "GNAP remastering tool ${GNAPNAME} ${VERSION}"
-GNAPCORE='/usr/lib/gnap/gnap-core.tar'
-GNAPBASEFS='/usr/lib/gnap/gnap-basefs.tar.bz2'
-GNAPEXTDIR='/usr/lib/gnap/extensions'
-OUTPUT='mygnap-core.tar'
+GNAPLIBDIR='/usr/lib/gnap'
+GNAPEXTDIR="${GNAPLIBDIR}/extensions"
 TEMPDIR=''
+GNAPCORE="${GNAPLIBDIR}/gnap-core.tar"
+GNAPBASEFS="${GNAPLIBDIR}/gnap-basefs.tar.bz2"
+OUTPUT='mygnap-core.tar'
 
 G=$'\e[32;01m'
 B=$'\e[31;01m'
@@ -21,6 +22,11 @@
 	echo -e " ${W}*${N} ${*}"
 }
 
+gmkdir() {
+	mkdir -p "$1"
+	gtest continued $? "Failed to create directory \"$1\"."
+}
+
 gconfirm() {
 	if [[ "${FORCEYES}" -eq 1 ]]; then
 		gwarn "${*} forced to yes"
@@ -30,7 +36,7 @@
 			if [[ -n "${TEMPDIR}" ]]; then
 				cleanup
 			fi
-			echo 'Remaster aborted !'
+			echo 'Remaster aborted!'
 			exit 2
 		fi
 	fi
@@ -79,9 +85,9 @@
 	echo '  -g gnap_core    Original GNAP core file'
 	echo '  -b basefs       basefs.tar.bz2 file to use as base'
 	echo '  -d extdir       Directory where to find extensions'
-	echo '  -f              Force all answers to yes (dangerous !)'
+	echo '  -f              Force all answers to yes (dangerous!)'
 	echo
-	echo "Please man ${GNAPNAME} for more details."
+	echo "Please use man ${GNAPNAME} for more details."
 }
 
 cleanup() {
@@ -104,8 +110,14 @@
 gbegin 'Checking parameters'
 
 # Read options
-while getopts ':he:k:m:o:g:b:d:f' options; do
-	case ${options} in
+EXTENSIONS=''
+KERNEXT=''
+MODEXT=''
+GNAPBASEFS=''
+GNAPEXTDIR=''
+FORCEYES=0
+while getopts ':he:k:m:o:g:b:d:f' option; do
+	case ${option} in
 		h ) usage
 			exit 0;;
 		e ) EXTENSIONS="${EXTENSIONS} ${OPTARG}";;
@@ -116,7 +128,7 @@
 		b ) GNAPBASEFS="${OPTARG}";;
 		d ) GNAPEXTDIR="${OPTARG}";;
 		f ) FORCEYES=1;;
-		* ) gtest 1 'Specified options are incomplete or unknown !';;
+		* ) gtest 1 'Specified options are incomplete or unknown!';;
 	esac
 done
 
@@ -146,8 +158,7 @@
 TEMPDIR=$(mktemp -d -t gnap_remaster.XXXXXX)
 gtest continued $? 'Failed to create temporary directory'
 TEMPOVERDIR="${TEMPDIR}/basefs"
-mkdir "${TEMPOVERDIR}"
-gtest continued $? 'Failed to create basefs temporary subdirectory'
+gmkdir "${TEMPOVERDIR}"
 
 tar jx -C "${TEMPOVERDIR}" -f "${GNAPBASEFS}"
 gtest $? 'Failed to unpack basefs'
@@ -163,8 +174,7 @@
 # Preparing new core
 gbegin 'Extracting core tarball'
 TEMPCOREDIR="${TEMPDIR}/core"
-mkdir "${TEMPCOREDIR}"
-gtest continued $? 'Failed to create core temporary subdirectory'
+gmkdir "${TEMPCOREDIR}"
 
 tar x -C "${TEMPCOREDIR}" -f "${GNAPCORE}" --exclude image.squashfs
 gtest $? 'Failed to extract core'
@@ -172,8 +182,7 @@
 if [[ -f "${KERNEXT}" ]]; then
 	gbegin "Replacing kernel and initrd using ${KERNEXT}"
 	TEMPKERNDIR="${TEMPDIR}/kernel"
-	mkdir "${TEMPKERNDIR}"
-	gtest continued $? 'Failed to create kernel temporary subdirectory'
+	gmkdir "${TEMPKERNDIR}"
 
 	tar jx -C "${TEMPKERNDIR}" -f "${KERNEXT}"
 	gtest continued $? 'Failed to extract kernpackage'
@@ -205,6 +214,6 @@
 
 # Successful finish
 cleanup
-echo 'Remaster successful !'
+echo 'Remaster successful!'
 exit 0
 
Only in gnap-2.0+cleanup/tools: gnap_shared.sh
diff -ur --exclude .svn --exclude upload.sh --exclude diff.sh gnap-2.0/tools/packlister.pl gnap-2.0+cleanup/tools/packlister.pl
--- gnap-2.0/tools/packlister.pl	2007-07-23 14:14:39.000000000 +0300
+++ gnap-2.0+cleanup/tools/packlister.pl	2007-07-09 21:10:18.000000000 +0300
@@ -1,49 +1,77 @@
-sub dump
+#! /usr/bin/perl
+#
+# packlister.pl prints out the given version number and a list of
+# packages found in the corresponding catalyst package cache and
+# grp cache.
+#
+# Usage: packlister.pl <version>
+#        packlister.pl <version> | reducedsnapshot.pl
+#        packlister.pl <version> > packlisterfile
+
+sub find_and_dump
 {
-  while (<FIND>)
-  {
-    if (/^(\d+)\s+(.+)\/(.+)\/(.+)$/)
-    {
-    	$size = $1;
-	$cstage = $2;
-	$cat = $3;
-	$name = $4;
-	if ($cstage =~ /.*\/(.+)-x86-.+/)
+	if (scalar @_ == 0)
 	{
-		$stage=$1;
+		return;
 	}
-	else
+	
+	open (FIND, "find $_ -name '*.tbz2' -exec ls -Ls {} \\; | "
+		. "grep -v '/All/' |");
+	
+	while (<FIND>)
 	{
-		print STDERR "ERROR ($cstage)\n";
+		if (/^(\d+)\s+(.+)\/([A-Za-z0-9+_]+[A-Za-z0-9+_.-]*)\/(.+)$/)
+		{
+			$size = $1;
+			$cstage = $2;
+			$cat = $3;
+			$name = $4;
+			
+			# There might be more than x86 supported in future versions.
+			if ($cstage =~ /.*\/(.+)-x86-.+/)
+			{
+				$stage=$1;
+			}
+			else
+			{
+				print STDERR "ERROR ($cstage)\n";
+			}
+			
+			# FIXME: The second regex (elsif) seems to match the stuff
+			# the first one also matches. Is this needed?
+			if ($name =~ /^(.+)-(.+-r\d+)\.tbz2/)
+			{
+				$packages{"$cat/$1"} = "$2 - $size Kb - $stage";
+			} 
+			elsif ($name =~ /^(.+)-(.+)\.tbz2/)
+			{
+				$packages{"$cat/$1"} = "$2 - $size Kb - $stage";
+			} 
+			else
+			{
+				print STDERR "ERROR ($name)\n"
+			}	
+		}
+		else
+		{
+			print STDERR "ERROR : $_";
+		}
 	}
-	if ($name =~ /^(.+)-(.+-r\d+)\.tbz2/)
-	{
-		$packages{"$cat/$1"} = "$2 - $size Kb - $stage";
-	} 
-	elsif ($name =~ /^(.+)-(.+)\.tbz2/)
-	{
-		$packages{"$cat/$1"} = "$2 - $size Kb - $stage";
-	} 
-	else
-	{
-		print STDERR "ERROR ($name)\n"
-	}	
-    }
-    else
-    {
-    	print STDERR "ERROR : $_";
-    }
-  }
+	
+	close (FIND);
+}
+
+# Check script parameters
+if (scalar @ARGV == 0)
+{
+	die "Usage: $ENV{_} <version>\n";
 }
+
+# Print version and file list based on catalyst
 print "$ARGV[0]\n";
-$loc = "/var/tmp/catalyst/packages/gnap/*$ARGV[0]";
-open (FIND,"find $loc -name '*.tbz2' -exec ls -Ls {} \\; | grep -v '/All/' |");
-&dump();
-close FIND;
-$loc = "/var/tmp/catalyst/builds/gnap/grp*$ARGV[0]/*";
-open (FIND,"find $loc -name '*.tbz2' -exec ls -Ls {} \\; | grep -v '/All/' |");
-&dump();
-close FIND;
+&find_and_dump("/var/tmp/catalyst/packages/gnap/*$ARGV[0]");
+&find_and_dump("/var/tmp/catalyst/packages/gnap/grp*$ARGV[0]/*");
+
 #No need to grab for kernel sources as they are found in the /ALL/ directory
 #$kernel=`grep sys-kernel gnap_make-$ARGV[0].out | grep merged | grep sources`;
 #if ($kernel =~ /(sys-kernel\/.*-sources)-(.*) merged/)
@@ -54,11 +82,13 @@
 #{
 #  print STDERR "Kernel not found: $kernel\n";
 #}
+
 foreach $key (sort(keys(%packages)))
 {
-  print STDOUT "$key $packages{$key}\n";
+	print STDOUT "$key $packages{$key}\n";
 }
-  #Groff is part of the stage3 tarball but not remerged so we have to add it manually
-  print STDOUT "sys-apps/groff 1.19.2-r1 - 116 Kb - stage3\n";
-  #htbinit is merged with kernel sources and somehow missed by the script
-  print STDOUT "net-misc/htbinit 0.8.5-r1 - 116 Kb - livecd-stage2\n";
+
+#Groff is part of the stage3 tarball but not remerged so we have to add it manually
+print STDOUT "sys-apps/groff 1.19.2-r1 - 116 Kb - stage3\n";
+#htbinit is merged with kernel sources and somehow missed by the script
+print STDOUT "net-misc/htbinit 0.8.5-r1 - 116 Kb - livecd-stage2\n";
diff -ur --exclude .svn --exclude upload.sh --exclude diff.sh gnap-2.0/tools/reducedsnapshot.pl gnap-2.0+cleanup/tools/reducedsnapshot.pl
--- gnap-2.0/tools/reducedsnapshot.pl	2007-07-23 14:14:39.000000000 +0300
+++ gnap-2.0+cleanup/tools/reducedsnapshot.pl	2007-07-23 14:16:49.000000000 +0300
@@ -1,3 +1,13 @@
+#! /usr/bin/perl
+#
+# resucedsnapshot.pl creates a reduced portage snapshot based on a
+# dfault set (eclasses, profiles) and a packagelist created by
+# packlister.pl.
+#
+# Usage: packlister.pl <version> | reducedsnapshot.pl
+#        reducedsnapshot.pl packlisterfile
+#        reducedsnapshot.pl < packlisterfile
+
 @minportage = ( 
 	"portage/eclass",
 	"portage/profiles/arch.list",
@@ -14,19 +24,21 @@
 	"portage/profiles/uclibc",
 	"portage/profiles/updates",
 	"portage/profiles/use.desc",
-	"portage/profiles/use.local.desc");
+	"portage/profiles/use.local.desc"
+);
+
 print "Building package list...\n";
 $version = <>;
 chop $version;
 while (<>)
 {
-  ($pack,$ver,,,,)=split;
-  push (@minportage,"portage/$pack");
-  push (@minportage,"portage/metadata/cache/$pack-$ver");
+	($pack,$ver,,,,) = split;
+	push (@minportage, "portage/$pack");
+	push (@minportage, "portage/metadata/cache/$pack-$ver");
 }
+
 print "Extracting portage...\n";
 system "mkdir tmp_port";
-
 system "tar jx -C tmp_port -f /var/tmp/catalyst/snapshots/portage-$version.tar.bz2";
 print "Creating reduced portage snapshot...\n";
 system "tar jc -C tmp_port -f redportage-$version.tar.bz2 @minportage";

[-- Attachment #3: 02-gnap-split.patch --]
[-- Type: text/x-patch, Size: 10490 bytes --]

diff -ur --exclude .svn --exclude upload.sh --exclude diff.sh gnap-2.0+cleanup/src/gnap_make gnap-2.0+cleanup+split/src/gnap_make
--- gnap-2.0+cleanup/src/gnap_make	2007-08-02 15:55:38.000000000 +0300
+++ gnap-2.0+cleanup+split/src/gnap_make	2007-08-02 15:54:29.000000000 +0300
@@ -1,78 +1,9 @@
 #!/bin/bash
 GNAPVERSION='2.0'
 
-GNAPNAME=$(basename "$0")
-echo "GNAP Core Building tool ${GNAPNAME} version ${GNAPVERSION}"
 GNAPLIBDIR='/usr/lib/gnap'
-STAGE3FILE="${GNAPLIBDIR}/gnap-stage3seed.tar.bz2"
-SNAPSHOTFILE="${GNAPLIBDIR}/gnap-portagesnapshot.tar.bz2"
-SPECS="${GNAPLIBDIR}/gnap-specs.tar.bz2"
-TEMPDIR=''
-
-G=$'\e[32;01m'
-B=$'\e[31;01m'
-N=$'\e[0m'
-W=$'\e[33;01m'
-K=$'\e[34;01m'
-C="$[$(set -- $(stty size 2>/dev/null); echo ${2}) - 7]"
-E=$'\e['${C}'G'
-
-gwarn() {
-	echo -e " ${W}*${N} ${*}"
-}
-
-ginfo() {
-	echo -e " ${G}*${N} ${*}"
-}
-
-gmkdir() {
-	mkdir -p "$1"
-	gtest continued $? "Failed to create directory \"$1\"."
-}
-
-gconfirm() {
-	if [[ "${FORCEYES}" -eq 1 ]]; then
-		gwarn "${*} forced to yes"
-	else
-		read -ep " ${W}*${N} ${*} [N]: " answer
-		if [[ "${answer}" != 'y' && "${answer}" != 'Y' ]]; then
-			if [[ -n "${TEMPDIR}" ]]; then
-				cleanup
-			fi
-			echo Build aborted!
-			exit 2
-		fi
-	fi
-}
-
-gbegin() {
-	echo -ne " ${G}*${N} ${*}..."
-}
-
-gtest() {
-	continued=0
-	if [[ "$#" -gt 0 && "${1}" == 'continued' ]]; then
-		shift
-		continued=1
-	fi
-	if [[ "$#" -eq 0 || "${1}" -eq 0 ]]; then
-		if [[ "${continued}" -eq 0 ]]; then
-			echo -e "${E}  ${K}[ ${G}ok${K} ]${N}"
-		fi
-	else
-		echo -e "${E}  ${K}[ ${B}!!${K} ]${N}"
-		if [[ "$#" -ge 2 ]]; then
-			shift
-			echo -en " ${B}*${N} ${*}"
-			echo -e "${E}  ${K}[ ${B}!!${K} ]${N}"
-		fi
-		if [[ -n "${TEMPDIR}" ]]; then
-			cleanup
-		fi
-		echo "Build failed, try man ${GNAPNAME} for more help"
-		exit 1
-	fi
-}
+source ${GNAPLIBDIR}/gnap_shared.sh
+echo "GNAP Core Building tool ${GNAPNAME} version ${GNAPVERSION}"
 
 usage() {
 	echo 'Options:'
@@ -89,18 +20,6 @@
 	echo "Please use man ${GNAPNAME} for more details."
 }
 
-cleanup() {
-	gbegin 'Cleaning temporary directories'
-	if [[ -d "${TEMPDIR}" ]]; then
-		DIRTOREMOVE="${TEMPDIR}"
-		TEMPDIR=''
-		rm -rf "${DIRTOREMOVE}"
-		gtest $? "Failed to remove ${DIRTOREMOVE}"
-	else
-		gtest 0
-	fi
-}
-
 if [[ "$#" -eq 0 ]]; then
 	usage
 	exit 0
@@ -109,7 +28,7 @@
 gbegin 'Checking parameters'
 
 # Catalyst executable and config file
-CATALYST_BIN="/usr/bin/catayst"
+CATALYST_BIN="/usr/bin/catalyst"
 CATALYST_CONF="/etc/catalyst/catalyst.conf"
 
 # Read options
@@ -250,7 +169,7 @@
 ginfo "${TARGETLIST}"
 
 # Confirm tarball overwrite if TARBALL stage selected
-if [[ "${TARBALL}" -eq 1 -a -e "gnap-${GNAPVERSION}-${STAMP}.tar" ]]; then
+if [[ "${TARBALL}" -eq 1 && -e "gnap-${GNAPVERSION}-${STAMP}.tar" ]]; then
 	gconfirm "gnap-${GNAPVERSION}-${STAMP}.tar already exists, overwrite"
 fi
 
diff -ur --exclude .svn --exclude upload.sh --exclude diff.sh gnap-2.0+cleanup/tools/gnap_overlay gnap-2.0+cleanup+split/tools/gnap_overlay
--- gnap-2.0+cleanup/tools/gnap_overlay	2007-08-02 15:56:18.000000000 +0300
+++ gnap-2.0+cleanup+split/tools/gnap_overlay	2007-07-27 16:00:56.000000000 +0300
@@ -1,79 +1,11 @@
 #!/bin/bash
 VERSION='2.0'
 
-GNAPNAME=$(basename "$0")
-echo "GNAP overlay tool ${GNAPNAME} ${VERSION}"
 GNAPLIBDIR='/usr/lib/gnap'
-GNAPCORE="${GNAPLIBDIR}/gnap-core.tar"
-GNAPMBR="${GNAPLIBDIR}/mbr/mbr.bin"
-TEMPDIR=''
-IMG_SIZE=15
-
-G=$'\e[32;01m'
-B=$'\e[31;01m'
-N=$'\e[0m'
-W=$'\e[33;01m'
-K=$'\e[34;01m'
-C="$[$(set -- $(stty size 2>/dev/null); echo ${2}) - 7]"
-E=$'\e['${C}'G'
-
-gwarn() {
-	echo -e " ${W}*${N} ${*}"
-}
-
-ginfo() {
-	echo -e " ${G}*${N} ${*}"
-}
-
-gmkdir() {
-	mkdir -p "$1"
-	gtest continued $? "Failed to create directory \"$1\"."
-}
-
-gconfirm() {
-	if [[ "${FORCEYES}" -eq 1 ]]; then
-		gwarn "${*} forced to yes"
-	else
-		read -ep " ${W}*${N} ${*} [N]: " answer
-		if [[ "${answer}" != 'y' && "${answer}" != 'Y' ]]; then
-			if [[ -n "${TEMPDIR}" || -n "${LOOP}" ]]; then
-				cleanup
-			fi
-			echo 'Overlay aborted!'
-			exit 2
-		fi
-	fi
-}
-
-gbegin() {
-	echo -ne " ${G}*${N} ${*}..."
-}
-
-gtest() {
-	continued=0
-	if [[ "$#" -gt 0 && "${1}" == 'continued' ]]; then
-		shift
-		continued=1
-	fi
+source ${GNAPLIBDIR}/gnap_shared.sh
+echo "GNAP overlay tool ${GNAPNAME} ${VERSION}"
 
-	if [[ "${#}" -eq 0 || "${1}" -eq 0 ]]; then
-		if [[ "${continued}" -eq 0 ]]; then
-			echo -e "${E}  ${K}[ ${G}ok${K} ]${N}"
-		fi
-	else
-		echo -e "${E}  ${K}[ ${B}!!${K} ]${N}"
-		if [[ "$#" -ge 2 ]]; then
-			shift
-			echo -en " ${B}*${N} ${*}"
-			echo -e "${E}  ${K}[ ${B}!!${K} ]${N}"
-		fi
-		if [[ -n "${TEMPDIR}" || -n "${LOOP}" ]]; then
-			cleanup
-		fi
-		echo "Overlay failed, try ${GNAPNAME} -h for more help"
-		exit 1
-	fi
-}
+IMG_SIZE=15
 
 usage() {
 	echo
@@ -107,23 +39,6 @@
     echo "Please use man ${GNAPNAME} for more details."
 }
 
-cleanup() {
-	if [[ -n "${LOOP}" ]]; then
-		gbegin 'Unmounting loop filesystem'
-		umount "${LOOP}" && losetup -d "${LOOP}"
-		gtest $? "Failed to unmount ${LOOP}"
-	fi
-	gbegin 'Cleaning temporary directories'
-	if [[ -d "${TEMPDIR}" ]]; then
-		DIRTOREMOVE="${TEMPDIR}"
-		TEMPDIR=''
-		rm -rf "${DIRTOREMOVE}"
-		gtest $? "Failed to remove ${DIRTOREMOVE}"
-	else
-		gtest 0
-	fi
-}
-
 if [[ "$#" -eq 0 || "${1}" == '-h' ]]; then
 	usage
 	exit 0
@@ -226,7 +141,7 @@
 
 if [[ -n "${BAUDRATE}" ]]; then
 	gbegin 'Adding baudrate for serial console'
-	gmkdir "${TEMPOVERDIR}/etc/gnap"
+	gmkdir -p "${TEMPOVERDIR}/etc/gnap"
 	echo -n "${BAUDRATE}" > "${TEMPOVERDIR}/etc/gnap/baudrate"
 	gtest $? 'Failed to create /etc/gnap/baudrate'
 fi
diff -ur --exclude .svn --exclude upload.sh --exclude diff.sh gnap-2.0+cleanup/tools/gnap_remaster gnap-2.0+cleanup+split/tools/gnap_remaster
--- gnap-2.0+cleanup/tools/gnap_remaster	2007-08-02 15:56:39.000000000 +0300
+++ gnap-2.0+cleanup+split/tools/gnap_remaster	2007-07-27 16:10:54.000000000 +0300
@@ -1,76 +1,11 @@
 #!/bin/bash
 VERSION='2.0'
 
-GNAPNAME=$(basename "$0")
-echo "GNAP remastering tool ${GNAPNAME} ${VERSION}"
 GNAPLIBDIR='/usr/lib/gnap'
-GNAPEXTDIR="${GNAPLIBDIR}/extensions"
-TEMPDIR=''
-GNAPCORE="${GNAPLIBDIR}/gnap-core.tar"
-GNAPBASEFS="${GNAPLIBDIR}/gnap-basefs.tar.bz2"
-OUTPUT='mygnap-core.tar'
-
-G=$'\e[32;01m'
-B=$'\e[31;01m'
-N=$'\e[0m'
-W=$'\e[33;01m'
-K=$'\e[34;01m'
-C="$[$(set -- $(stty size 2>/dev/null); echo ${2}) - 7]"
-E=$'\e['${C}'G'
-
-gwarn() {
-	echo -e " ${W}*${N} ${*}"
-}
-
-gmkdir() {
-	mkdir -p "$1"
-	gtest continued $? "Failed to create directory \"$1\"."
-}
-
-gconfirm() {
-	if [[ "${FORCEYES}" -eq 1 ]]; then
-		gwarn "${*} forced to yes"
-	else
-		read -ep " ${W}*${N} ${*} [N]: " answer
-		if [[ "${answer}" != 'y' && "${answer}" != 'Y' ]]; then
-			if [[ -n "${TEMPDIR}" ]]; then
-				cleanup
-			fi
-			echo 'Remaster aborted!'
-			exit 2
-		fi
-	fi
-}
-
-gbegin() {
-	echo -ne " ${G}*${N} ${*}..."
-}
+source ${GNAPLIBDIR}/gnap_shared.sh
+echo "GNAP remastering tool ${GNAPNAME} ${VERSION}"
 
-gtest() {
-	continued=0
-	if [[ "$#" -gt 0 && "${1}" == 'continued' ]]; then
-		shift
-		continued=1
-	fi
-
-	if [[ "${#}" -eq 0 || "${1}" -eq 0 ]]; then
-		if [[ "${continued}" -eq 0 ]]; then
-			echo -e "${E}  ${K}[ ${G}ok${K} ]${N}"
-		fi
-	else
-		echo -e "${E}  ${K}[ ${B}!!${K} ]${N}"
-		if [[ "$#" -ge 2 ]]; then
-			shift
-			echo -en " ${B}*${N} ${*}"
-			echo -e "${E}  ${K}[ ${B}!!${K} ]${N}"
-		fi
-		if [[ -n "${TEMPDIR}" ]]; then
-			cleanup
-		fi
-		echo "Remaster failed, try ${GNAPNAME} -h for more help"
-		exit 1
-	fi
-}
+OUTPUT='mygnap-core.tar'
 
 usage() {
 	echo
@@ -90,18 +25,6 @@
 	echo "Please use man ${GNAPNAME} for more details."
 }
 
-cleanup() {
-	gbegin 'Cleaning temporary directories'
-	if [[ -d "${TEMPDIR}" ]]; then
-		DIRTOREMOVE="${TEMPDIR}"
-		TEMPDIR=''
-	 	rm -rf "${DIRTOREMOVE}"
-		gtest $? "Failed to remove ${DIRTOREMOVE}"
-	else
-		gtest 0
-	fi
-}
-
 if [[ "$#" -eq 0 || "${1}" == '-h' ]]; then
 	usage
 	exit 0
diff -ur --exclude .svn --exclude upload.sh --exclude diff.sh gnap-2.0+cleanup/tools/gnap_shared.sh gnap-2.0+cleanup+split/tools/gnap_shared.sh
--- gnap-2.0+cleanup/tools/gnap_shared.sh	2007-08-03 16:28:37.000000000 +0300
+++ gnap-2.0+cleanup+split/tools/gnap_shared.sh	2007-08-02 15:54:46.000000000 +0300
@@ -0,0 +1,102 @@
+GNAPNAME=$(basename "$0")
+
+case ${GNAPNAME} in
+	gnap_make )     GNAP_PRODUCT="Build";;
+ 	gnap_overlay )  GNAP_PRODUCT="Overlay";;
+ 	gnap_remaster ) GNAP_PRODUCT="Remaster";;
+ 	* )             GNAP_PRODUCT="Something";;
+esac
+STAGE3FILE="${GNAPLIBDIR}/gnap-stage3seed.tar.bz2"
+SNAPSHOTFILE="${GNAPLIBDIR}/gnap-portagesnapshot.tar.bz2"
+SPECS="${GNAPLIBDIR}/gnap-specs.tar.bz2"
+GNAPCORE="${GNAPLIBDIR}/gnap-core.tar"
+GNAPMBR="${GNAPLIBDIR}/mbr/mbr.bin"
+GNAPEXTDIR="${GNAPLIBDIR}/extensions"
+GNAPBASEFS="${GNAPLIBDIR}/gnap-basefs.tar.bz2"
+
+TEMPDIR=''
+LOOP=''
+FORCEYES=0
+
+G=$'\e[32;01m'
+B=$'\e[31;01m'
+N=$'\e[0m'
+W=$'\e[33;01m'
+K=$'\e[34;01m'
+C="$[$(set -- $(stty size 2>/dev/null); echo ${2}) - 7]"
+E=$'\e['${C}'G'
+
+gwarn() {
+	echo -e " ${W}*${N} ${*}"
+}
+
+ginfo() {
+	echo -e " ${G}*${N} ${*}"
+}
+
+gmkdir() {
+	mkdir -p "$1"
+	gtest continued $? "Failed to create \"$1\"."
+}
+
+gconfirm() {
+	if [[ "${FORCEYES}" -eq 1 ]]; then
+		gwarn "${*} forced to yes"
+	else
+		read -ep " ${W}*${N} ${*} [N]: " answer
+		if [[ "${answer}" != 'y' && "${answer}" != 'Y' ]]; then
+			if [[ -n "${TEMPDIR}" || -n "${LOOP}" ]]; then
+				cleanup
+			fi
+			echo '${GNAP_PRODUCT} aborted!'
+			exit 2
+		fi
+	fi
+}
+
+gbegin() {
+	echo -ne " ${G}*${N} ${*}..."
+}
+
+gtest() {
+	continued=0
+	if [[ "${#}" -gt 0 && "${1}" == 'continued' ]]; then
+		shift
+		continued=1
+	fi
+
+	if [[ "${#}" -eq 0 || "${1}" -eq 0 ]]; then
+		if [[ "${continued}" -eq 0 ]]; then
+			echo -e "${E}  ${K}[ ${G}ok${K} ]${N}"
+		fi
+	else
+		echo -e "${E}  ${K}[ ${B}!!${K} ]${N}"
+		if [[ "${#}" -ge 2 ]]; then
+			shift
+			echo -en " ${B}*${N} ${*}"
+			echo -e "${E}  ${K}[ ${B}!!${K} ]${N}"
+		fi
+		if [[ -n "${TEMPDIR}" || -n "${LOOP}" ]]; then
+			cleanup
+		fi
+		echo " ${GNAP_PRODUCT} failed, try ${GNAPNAME} -h for more help"
+		exit 1
+	fi
+}
+
+cleanup() {
+	if [[ -n "${LOOP}" ]]; then
+		gbegin 'Unmounting loop filesystem'
+		umount "${LOOP}" && losetup -d "${LOOP}"
+		gtest $? "Failed to unmount ${LOOP}"
+	fi
+	gbegin 'Cleaning temporary directories'
+	if [[ -d "${TEMPDIR}" ]]; then
+		DIRTOREMOVE="${TEMPDIR}"
+		TEMPDIR=''
+		rm -rf "${DIRTOREMOVE}"
+		gtest $? "Failed to remove ${DIRTOREMOVE}"
+	else
+		gtest 0
+	fi
+}

[-- Attachment #4: 03-gnap-namespace.patch --]
[-- Type: text/x-patch, Size: 34886 bytes --]

diff -ur --exclude .svn --exclude upload.sh --exclude diff.sh gnap-2.0+cleanup+split/src/gnap_make gnap-2.0+cleanup+split+namespace/src/gnap_make
--- gnap-2.0+cleanup+split/src/gnap_make	2007-08-02 15:54:29.000000000 +0300
+++ gnap-2.0+cleanup+split+namespace/src/gnap_make	2007-08-02 15:50:45.000000000 +0300
@@ -1,9 +1,9 @@
 #!/bin/bash
-GNAPVERSION='2.0'
+VERSION='2.0'
 
-GNAPLIBDIR='/usr/lib/gnap'
-source ${GNAPLIBDIR}/gnap_shared.sh
-echo "GNAP Core Building tool ${GNAPNAME} version ${GNAPVERSION}"
+GNAP_LIBDIR='/usr/lib/gnap'
+source ${GNAP_LIBDIR}/gnap_shared.sh
+echo "GNAP Core Building tool ${NAME} version ${VERSION}"
 
 usage() {
 	echo 'Options:'
@@ -17,7 +17,7 @@
 	echo '    -c catalyst.conf     Use specific catalyst.conf file'
 	echo '    -e specs             Specs directory or tar.bz2 file'
 	echo
-	echo "Please use man ${GNAPNAME} for more details."
+	echo "Please use man ${NAME} for more details."
 }
 
 if [[ "$#" -eq 0 ]]; then
@@ -28,58 +28,64 @@
 gbegin 'Checking parameters'
 
 # Catalyst executable and config file
-CATALYST_BIN="/usr/bin/catalyst"
-CATALYST_CONF="/etc/catalyst/catalyst.conf"
+GNAP_CATALYST_BIN="/usr/bin/catalyst"
+GNAP_CATALYST_CONF="/etc/catalyst/catalyst.conf"
 
 # Read options
+GNAP_STAGE3=0
+GNAP_LIVECD1=0
+GNAP_LIVECD2=0
+GNAP_TARBALL=0
+GNAP_MODULES=0
+GNAP_STAMP=$(date +%Y%m%d)
 NOTARGET=1
-STAMP=$(date +%Y%m%d)
+NEEDS_SNAPSHOT=0
 while getopts ':hs:p:m:o:v:t:fl:c:e:' option; do
 	case ${option} in
 		h )
 			usage
 			exit 0;;
-		s ) STAGE3FILE="${OPTARG}";;
-		p ) SNAPSHOTFILE="${OPTARG}";;
-		o ) PORTAGE_OVERLAYS="${PORTAGE_OVERLAYS} ${OPTARG}";;
-		v ) STAMP="${OPTARG}";;
+		s ) GNAP_STAGE3FILE="${OPTARG}";;
+		p ) GNAP_SNAPSHOTFILE="${OPTARG}";;
+		o ) GNAP_PORTAGE_OVERLAYS="${GNAP_PORTAGE_OVERLAYS} ${OPTARG}";;
+		v ) GNAP_STAMP="${OPTARG}";;
 		t )
 			case "${OPTARG}" in
 				all )
-					STAGE3=1
-					LIVECD1=1
-					LIVECD2=1
-					TARBALL=1
-					MODULES=1
+					GNAP_STAGE3=1
+					GNAP_LIVECD1=1
+					GNAP_LIVECD2=1
+					GNAP_TARBALL=1
+					GNAP_MODULES=1
 					NEEDS_SNAPSHOT=1;;
 				stage3 )
-					STAGE3=1
+					GNAP_STAGE3=1
 					NEEDS_SNAPSHOT=1;;
 				livecd-stage1 )
-					LIVECD1=1
+					GNAP_LIVECD1=1
 					NEEDS_SNAPSHOT=1;;
 				livecd-stage2 )
-					LIVECD2=1
+					GNAP_LIVECD2=1
 					NEEDS_SNAPSHOT=1;;
 				tarball )
-					TARBALL=1;;
+					GNAP_TARBALL=1;;
 				extensions )
-					MODULES=1
+					GNAP_MODULES=1
 					NEEDS_SNAPSHOT=1;;
 				* ) gtest 1 'Specified stage is unknown!';;
 			esac
 			NOTARGET=0;;
-		f ) FORCEYES=1;;
-		l ) GNAPLOGPREFIX="${OPTARG}";;
-		c ) CATALYST_CONF="${OPTARG}";;
-		e ) SPECS="${OPTARG}";;
+		f ) GNAP_FORCEYES=1;;
+		l ) GNAP_LOGPREFIX="${OPTARG}";;
+		c ) GNAP_CATALYST_CONF="${OPTARG}";;
+		e ) GNAP_SPECS="${OPTARG}";;
 		* ) gtest 1 'Specified options are incomplete or unknown!';;
 	esac
 done
 
 # Root is needed
 test "${EUID}" -eq 0
-gtest continued $? "You need to be root to run ${GNAPNAME}"
+gtest continued $? "You need to be root to run ${NAME}"
 
 # Setting up temporary directory
 TEMPDIR=$(mktemp -d -t gnap_make.XXXXXX)
@@ -87,15 +93,15 @@
 
 # Prepare specs dir and check common.conf file
 SPECDIR="${TEMPDIR}/specs"
-if [[ -f "${SPECS}" ]]; then
+if [[ -f "${GNAP_SPECS}" ]]; then
 	gmkdir "${SPECDIR}"
-	tar jx -f "${SPECS}" -C "${SPECDIR}"
+	tar jx -f "${GNAP_SPECS}" -C "${SPECDIR}"
 	gtest continued $? 'Failed to unpack specs'
-elif [[ -d "${SPECS}" ]]; then
-	cp -rp "${SPECS}" "${SPECDIR}"
+elif [[ -d "${GNAP_SPECS}" ]]; then
+	cp -rp "${GNAP_SPECS}" "${SPECDIR}"
 	gtest continued $? 'Failed to copy specs directory contents'
 else
-	gtest continued 1 "${SPECS} not found, provide a valid -e option"
+	gtest continued 1 "${GNAP_SPECS} not found, provide a valid -e option"
 fi
 test -f "${SPECDIR}/common.conf"
 gtest continued $? "Incorrect specdir: ${SPECDIR}/common.conf not found!"
@@ -108,9 +114,9 @@
 fi
 
 # catalyst.conf file
-test -f "${CATALYST_CONF}"
-gtest continued $? "${CATALYST_CONF} file not found!"
-source "${CATALYST_CONF}"
+test -f "${GNAP_CATALYST_CONF}"
+gtest continued $? "${GNAP_CATALYST_CONF} file not found!"
+source "${GNAP_CATALYST_CONF}"
 
 # At least one target is needed
 test "${NOTARGET}" -eq 0
@@ -121,76 +127,76 @@
 gmkdir "${storedir}"
 
 # Stage3 needs a seed stage
-if [[ "${STAGE3}" -eq 1 ]]; then
-	test -f "${STAGE3FILE}"
+if [[ "${GNAP_STAGE3}" -eq 1 ]]; then
+	test -f "${GNAP_STAGE3FILE}"
 	gtest continued $? 'The "-s" option needs to designate a valid seed stage'
 fi
 
 # Snapshot must exist if a stage is selected
 if [[ "${NEEDS_SNAPSHOT}" -eq 1 ]]; then
-	test -f "${SNAPSHOTFILE}"
-	gtest continued $? "Can't find ${SNAPSHOTFILE}"
+	test -f "${GNAP_SNAPSHOTFILE}"
+	gtest continued $? "Can't find ${GNAP_SNAPSHOTFILE}"
 fi
 
 # Seed stage if needed must be an existing file
-if [[ "${STAGE3}" -eq 1 ]]; then
-	test -f "${STAGE3FILE}"
-	gtest continued $? "${STAGE3FILE} is not a valid stage3 tarball"
+if [[ "${GNAP_STAGE3}" -eq 1 ]]; then
+	test -f "${GNAP_STAGE3FILE}"
+	gtest continued $? "${GNAP_STAGE3FILE} is not a valid stage3 tarball"
 fi
 
 # If extensions and no stage3, warn that we'll use seedstage as stage3
-STAGE3LOC="${storedir}/builds/${RELTYPE}/stage3-${SUBARCH}-${STAMP}.tar.bz2"
-if [[ "${MODULES}" -eq 1 || "${LIVECD1}" -eq 1 ]]; then
-	if [[ "${STAGE3}" -ne 1 && ! -f "${STAGE3LOC}" ]]; then
+STAGE3LOC="${storedir}/builds/${RELTYPE}/stage3-${SUBARCH}-${GNAP_STAMP}.tar.bz2"
+if [[ "${GNAP_MODULES}" -eq 1 || "${GNAP_LIVECD1}" -eq 1 ]]; then
+	if [[ "${GNAP_STAGE3}" -ne 1 && ! -f "${STAGE3LOC}" ]]; then
 		gwarn '"livecd-stage1" or "extensions" was selected without "stage3".'
 		gconfirm 'Should I use the seed stage as stage3 result?'
 		gmkdir "${storedir}/builds/${RELTYPE}"
-		cp "${STAGE3FILE}" "${STAGE3LOC}"
+		cp "${GNAP_STAGE3FILE}" "${STAGE3LOC}"
 	fi
 fi
 
 # Explain what will get built
-if [[ "${STAGE3}" -eq 1 ]]; then
+if [[ "${GNAP_STAGE3}" -eq 1 ]]; then
 	TARGETLIST='[stage3] '
 fi
-if [[ "${LIVECD1}" -eq 1 ]]; then
+if [[ "${GNAP_LIVECD1}" -eq 1 ]]; then
 	TARGETLIST="${TARGETLIST}[livecd-stage1] "
 fi
-if [[ "${LIVECD2}" -eq 1 ]]; then
+if [[ "${GNAP_LIVECD2}" -eq 1 ]]; then
 	TARGETLIST="${TARGETLIST}[livecd-stage2] "
 fi
-if [[ "${TARBALL}" -eq 1 ]]; then
+if [[ "${GNAP_TARBALL}" -eq 1 ]]; then
 	TARGETLIST="${TARGETLIST}[tarball] "
 fi
-if [[ "${MODULES}" -eq 1 ]]; then
+if [[ "${GNAP_MODULES}" -eq 1 ]]; then
 	TARGETLIST="${TARGETLIST}[extensions]"
 fi
 ginfo 'The following targets will be called:'
 ginfo "${TARGETLIST}"
 
 # Confirm tarball overwrite if TARBALL stage selected
-if [[ "${TARBALL}" -eq 1 && -e "gnap-${GNAPVERSION}-${STAMP}.tar" ]]; then
-	gconfirm "gnap-${GNAPVERSION}-${STAMP}.tar already exists, overwrite"
+if [[ "${GNAP_TARBALL}" -eq 1 && -e "gnap-${VERSION}-${GNAP_STAMP}.tar" ]]; then
+	gconfirm "gnap-${VERSION}-${GNAP_STAMP}.tar already exists, overwrite"
 fi
 
 # Logfile setup and confirmation
-if [[ -z "$GNAPLOGPREFIX" ]]; then
-	GNAPLOGPREFIX="./${GNAPNAME}-${STAMP}"
+if [[ -z "$GNAP_LOGPREFIX" ]]; then
+	GNAP_LOGPREFIX="./${NAME}-${GNAP_STAMP}"
 fi
 
-if [[ -f "${GNAPLOGPREFIX}.out" || -f "${GNAPLOGPREFIX}.err" ]]; then
-	if [[ "${FORCEYES}" -ne 1 ]]; then
+if [[ -f "${GNAP_LOGPREFIX}.out" || -f "${GNAP_LOGPREFIX}.err" ]]; then
+	if [[ "${GNAP_FORCEYES}" -ne 1 ]]; then
 		read -ep \
 			" ${W}*${N} Logfile(s) already exists. Append/Overwrite [A]: " \
 			answer
 		if [[ "${answer}" == 'o' || "${answer}" == 'O' ]]; then
-			rm "${GNAPLOGPREFIX}.out" "${GNAPLOGPREFIX}.err"
+			rm "${GNAP_LOGPREFIX}.out" "${GNAP_LOGPREFIX}.err"
 		fi
 	fi
 fi
-touch "${GNAPLOGPREFIX}.out"
-touch "${GNAPLOGPREFIX}.err"
-SEELOGFILES="see ${GNAPLOGPREFIX}.err and .out for details"
+touch "${GNAP_LOGPREFIX}.out"
+touch "${GNAP_LOGPREFIX}.err"
+SEELOGFILES="see ${GNAP_LOGPREFIX}.err and .out for details"
 
 # Snapshot preparation
 if [[ "${NEEDS_SNAPSHOT}" -eq 1 ]]; then
@@ -198,34 +204,34 @@
 
 	gmkdir "${storedir}/snapshots"
 
-	if [[ -z "${PORTAGE_OVERLAYS}" ]]; then
-		cp "${SNAPSHOTFILE}" "${storedir}/snapshots/portage-${STAMP}.tar.bz2"
+	if [[ -z "${GNAP_PORTAGE_OVERLAYS}" ]]; then
+		cp "${GNAP_SNAPSHOTFILE}" "${storedir}/snapshots/portage-${GNAP_STAMP}.tar.bz2"
 		gtest $? "Snapshot preparation failed, ${SEELOGFILES}"
 	else
 		TEMPPRTDIR="${TEMPDIR}/portage"
 		gmkdir "${TEMPPRTDIR}"
 
-		tar jxf "${SNAPSHOTFILE}" -C "${TEMPPRTDIR}" \
-			>> "${GNAPLOGPREFIX}.out" 2>> "${GNAPLOGPREFIX}.err"
+		tar jxf "${GNAP_SNAPSHOTFILE}" -C "${TEMPPRTDIR}" \
+			>> "${GNAP_LOGPREFIX}.out" 2>> "${GNAP_LOGPREFIX}.err"
 
-		for overlay in ${PORTAGE_OVERLAYS} ; do
+		for overlay in ${GNAP_PORTAGE_OVERLAYS} ; do
 			cp -rp ${overlay}/* "${TEMPPRTDIR}/portage"
 			gtest continued $? "Failed to copy ${overlay}"
 		done
 
-		tar jcf "${storedir}/snapshots/portage-${STAMP}.tar.bz2" \
+		tar jcf "${storedir}/snapshots/portage-${GNAP_STAMP}.tar.bz2" \
 			-C "${TEMPPRTDIR}" . \
-			>> "${GNAPLOGPREFIX}.out" 2>> "${GNAPLOGPREFIX}.err"
+			>> "${GNAP_LOGPREFIX}.out" 2>> "${GNAP_LOGPREFIX}.err"
 		gtest $? "Snapshot preparation failed, ${SEELOGFILES}"
 	fi
 fi
 
 # Stage3 phase
-if [[ "${STAGE3}" -eq 1 ]]; then
+if [[ "${GNAP_STAGE3}" -eq 1 ]]; then
 	gbegin "${G}[stage3]${N} stage (base system build)"
 
 	gmkdir "${storedir}/builds/${RELTYPE}"
-	cp "${STAGE3FILE}" "${storedir}/builds/${RELTYPE}/seedstage.tar.bz2"
+	cp "${GNAP_STAGE3FILE}" "${storedir}/builds/${RELTYPE}/seedstage.tar.bz2"
 
 	TEMPCONF="${TEMPDIR}/stage3.conf"
 	touch "${TEMPCONF}"
@@ -235,20 +241,20 @@
 ${DISTCCSPEC}
 subarch: ${SUBARCH}
 rel_type: ${RELTYPE}
-snapshot: ${STAMP}
-version_stamp: ${STAMP}
+snapshot: ${GNAP_STAMP}
+version_stamp: ${GNAP_STAMP}
 profile: ${PROFILE}
 source_subpath: ${RELTYPE}/seedstage
 portage_confdir: ${SPECDIR}/portage_confdir
 EOF
-	$CATALYST_BIN -c "${CATALYST_CONF}" -f "${TEMPCONF}" \
-		>> "${GNAPLOGPREFIX}.out" 2>> "${GNAPLOGPREFIX}.err"
+	$GNAP_CATALYST_BIN -c "${GNAP_CATALYST_CONF}" -f "${TEMPCONF}" \
+		>> "${GNAP_LOGPREFIX}.out" 2>> "${GNAP_LOGPREFIX}.err"
 	gtest $? "[stage3] failed, ${SEELOGFILES}"
 	rm "${storedir}/builds/${RELTYPE}/seedstage.tar.bz2"
 fi
 
 # LIVECD-STAGE1 phase
-if [[ "${LIVECD1}" -eq 1 ]]; then
+if [[ "${GNAP_LIVECD1}" -eq 1 ]]; then
 	gbegin "${G}[livecd-stage1]${N} stage (GNAP-specific packages build)"
 	TEMPCONF="${TEMPDIR}/livecd-stage1.conf"
 	touch "${TEMPCONF}"
@@ -258,21 +264,21 @@
 ${DISTCCSPEC}
 subarch: ${SUBARCH}
 rel_type: ${RELTYPE}
-snapshot: ${STAMP}
-version_stamp: ${STAMP}
+snapshot: ${GNAP_STAMP}
+version_stamp: ${GNAP_STAMP}
 profile: ${PROFILE}
-source_subpath: ${RELTYPE}/stage3-${SUBARCH}-${STAMP}
+source_subpath: ${RELTYPE}/stage3-${SUBARCH}-${GNAP_STAMP}
 portage_confdir: ${SPECDIR}/portage_confdir
 EOF
 	cat "${SPECDIR}/packages.conf" >> "${TEMPCONF}"
 
-	$CATALYST_BIN -c "${CATALYST_CONF}" -f "${TEMPCONF}" \
-		>> "${GNAPLOGPREFIX}.out" 2>> "${GNAPLOGPREFIX}.err"
+	$GNAP_CATALYST_BIN -c "${GNAP_CATALYST_CONF}" -f "${TEMPCONF}" \
+		>> "${GNAP_LOGPREFIX}.out" 2>> "${GNAP_LOGPREFIX}.err"
 	gtest $? "[livecd-stage1] failed, ${SEELOGFILES}"
 fi
 
 # LIVECD-STAGE2 phase
-if [[ "${LIVECD2}" -eq 1 ]]; then
+if [[ "${GNAP_LIVECD2}" -eq 1 ]]; then
 	gbegin "${G}[livecd-stage2]${N} stage (kernel and LiveCD builds)"
 	TEMPCONF="${TEMPDIR}/livecd-stage2.conf"
 	touch "${TEMPCONF}"
@@ -282,30 +288,30 @@
 ${DISTCCSPEC}
 subarch: ${SUBARCH}
 rel_type: ${RELTYPE}
-snapshot: ${STAMP}
-version_stamp: ${STAMP}
+snapshot: ${GNAP_STAMP}
+version_stamp: ${GNAP_STAMP}
 profile: ${PROFILE}
-source_subpath: ${RELTYPE}/livecd-stage1-${SUBARCH}-${STAMP}
+source_subpath: ${RELTYPE}/livecd-stage1-${SUBARCH}-${GNAP_STAMP}
 boot/kernel/gentoo/sources: ${KERNEL_SOURCES}
 boot/kernel/gentoo/config: ${SPECDIR}/kernel.config
-boot/kernel/gentoo/extraversion: GNAP-${GNAPVERSION}
-livecd/iso: gnap-${GNAPVERSION}-${STAMP}.iso
+boot/kernel/gentoo/extraversion: GNAP-${VERSION}
+livecd/iso: gnap-${VERSION}-${GNAP_STAMP}.iso
 livecd/fsscript: ${SPECDIR}/fsscript
 livecd/root_overlay: ${SPECDIR}/root_overlay
 EOF
 	cat "${SPECDIR}/livecd.conf" >> "${TEMPCONF}"
 
-	$CATALYST_BIN -c "${CATALYST_CONF}" -f "${TEMPCONF}" \
-		>> "${GNAPLOGPREFIX}.out" 2>> "${GNAPLOGPREFIX}.err"
+	$GNAP_CATALYST_BIN -c "${GNAP_CATALYST_CONF}" -f "${TEMPCONF}" \
+		>> "${GNAP_LOGPREFIX}.out" 2>> "${GNAP_LOGPREFIX}.err"
 	gtest $? "[livecd-stage2] failed, ${SEELOGFILES}"
 fi
 
 # TARBALL phase
-if [[ "${TARBALL}" -eq 1 ]]; then
+if [[ "${GNAP_TARBALL}" -eq 1 ]]; then
 	gbegin "${G}[tarball]${N} phase (Creation of core and basefs components)"
-	test -e "gnap-${GNAPVERSION}-${STAMP}.iso"
-	gtest continued $? "No gnap-${GNAPVERSION}-${STAMP}.iso file to convert !"
-	test -d "${storedir}/tmp/gnap/livecd-stage1-${SUBARCH}-${STAMP}"
+	test -e "gnap-${VERSION}-${GNAP_STAMP}.iso"
+	gtest continued $? "No gnap-${VERSION}-${GNAP_STAMP}.iso file to convert !"
+	test -d "${storedir}/tmp/gnap/livecd-stage1-${SUBARCH}-${GNAP_STAMP}"
 	gtest $? 'Missing livecd-stage2 results'
 
 	gbegin '  Creating core component'
@@ -314,7 +320,7 @@
 	TEMPISODIR="${TEMPDIR}/iso"
 	gmkdir "${TEMPISODIR}"
 
-	mount -o loop "gnap-${GNAPVERSION}-${STAMP}.iso" ${TEMPMNTDIR} && \
+	mount -o loop "gnap-${VERSION}-${GNAP_STAMP}.iso" ${TEMPMNTDIR} && \
 		cp -r ${TEMPMNTDIR}/* ${TEMPISODIR}
 	gtest continued $? 'Failed to mount ISO and copy files'
 	umount "${TEMPMNTDIR}"
@@ -324,23 +330,23 @@
 	cp "${SPECDIR}/isolinux/syslinux.cfg" ${TEMPISODIR}/
 	cp "${SPECDIR}/isolinux/boot.msg" ${TEMPISODIR}/isolinux/
 	DATE=$(date --utc)
-	echo "GNAP-${GNAPVERSION}-${STAMP} built on ${DATE}" \
+	echo "GNAP-${VERSION}-${GNAP_STAMP} built on ${DATE}" \
 		>> "${TEMPISODIR}/isolinux/boot.msg"
 
-	tar cf "gnap-${GNAPVERSION}-${STAMP}.tar" -C "${TEMPISODIR}" .
+	tar cf "gnap-${VERSION}-${GNAP_STAMP}.tar" -C "${TEMPISODIR}" .
 	gtest $? 'Failed to create tarball'
-	rm "gnap-${GNAPVERSION}-${STAMP}.iso"
+	rm "gnap-${VERSION}-${GNAP_STAMP}.iso"
 
 	gbegin '  Creating basefs component'
-	tar jcf "gnap-basefs-${GNAPVERSION}-${STAMP}.tar.bz2" \
-		-C "${storedir}/tmp/gnap/livecd-stage2-${SUBARCH}-${STAMP}" .
+	tar jcf "gnap-basefs-${VERSION}-${GNAP_STAMP}.tar.bz2" \
+		-C "${storedir}/tmp/gnap/livecd-stage2-${SUBARCH}-${GNAP_STAMP}" .
 	gtest $? 'Unable to create basefs tarball'
 fi
 
 # EXTENSIONS phase
-if [[ "${MODULES}" -eq 1 ]]; then
+if [[ "${GNAP_MODULES}" -eq 1 ]]; then
 	gbegin "${G}[extensions]${N} stage start"
-	GRP_PREFIX="${storedir}/builds/${RELTYPE}/grp-${SUBARCH}-${STAMP}"
+	GRP_PREFIX="${storedir}/builds/${RELTYPE}/grp-${SUBARCH}-${GNAP_STAMP}"
 	SPECMODULE="${SPECDIR}/extensions.conf"
 	mod_list=$(grep '^extensions:' "${SPECMODULE}" 2>/dev/null);
 	mod_list="${mod_list/extensions:/}"
@@ -362,25 +368,25 @@
 ${DISTCCSPEC}
 subarch: ${SUBARCH}
 rel_type: ${RELTYPE}
-snapshot: ${STAMP}
-version_stamp: ${STAMP}
+snapshot: ${GNAP_STAMP}
+version_stamp: ${GNAP_STAMP}
 profile: ${PROFILE}
-source_subpath: ${RELTYPE}/stage3-${SUBARCH}-${STAMP}
+source_subpath: ${RELTYPE}/stage3-${SUBARCH}-${GNAP_STAMP}
 grp: ${mod_name}
 grp/use: ${mod_useflags}
 grp/${mod_name}/type: pkgset
 grp/${mod_name}/packages: ${mod_packlist}
 EOF
 
-		$CATALYST_BIN -c "${CATALYST_CONF}" -f "${TEMPCONF}" \
-			>> "${GNAPLOGPREFIX}.out" 2>> "${GNAPLOGPREFIX}.err"
+		$GNAP_CATALYST_BIN -c "${GNAP_CATALYST_CONF}" -f "${TEMPCONF}" \
+			>> "${GNAP_LOGPREFIX}.out" 2>> "${GNAP_LOGPREFIX}.err"
 		gtest continued $? "Extension build failed, ${SEELOGFILES}"
 
 		TEMPMODULEDIR="${TEMPDIR}/module_${mod_name}"
 		gmkdir "${TEMPMODULEDIR}"
 		for pkg in $( ls ${GRP_PREFIX}/${mod_name}/All/*.tbz2 ); do
 			tar jxf $pkg -C "${TEMPMODULEDIR}" -p \
-				>> "${GNAPLOGPREFIX}.out" 2>> "${GNAPLOGPREFIX}.err"
+				>> "${GNAP_LOGPREFIX}.out" 2>> "${GNAP_LOGPREFIX}.err"
 		done
 		gtest continued $? 'Failed to unpack extension packages'
 
@@ -392,9 +398,9 @@
 		rm -rf ${mod_rmlist}
 		gtest continued $? 'Failed to apply extension cleanup instructions'
 
-		tar jcf "gnapext_${mod_name}-${STAMP}.tbz2" \
+		tar jcf "gnapext_${mod_name}-${GNAP_STAMP}.tbz2" \
 			-C "${TEMPMODULEDIR}" . \
-			>> "${GNAPLOGPREFIX}.out" 2>> "${GNAPLOGPREFIX}.err"
+			>> "${GNAP_LOGPREFIX}.out" 2>> "${GNAP_LOGPREFIX}.err"
 		gtest $? 'Failed to build extension file'
 	done
 fi
diff -ur --exclude .svn --exclude upload.sh --exclude diff.sh gnap-2.0+cleanup+split/tools/gnap_overlay gnap-2.0+cleanup+split+namespace/tools/gnap_overlay
--- gnap-2.0+cleanup+split/tools/gnap_overlay	2007-07-27 16:00:56.000000000 +0300
+++ gnap-2.0+cleanup+split+namespace/tools/gnap_overlay	2007-07-27 16:00:02.000000000 +0300
@@ -1,17 +1,15 @@
 #!/bin/bash
 VERSION='2.0'
 
-GNAPLIBDIR='/usr/lib/gnap'
-source ${GNAPLIBDIR}/gnap_shared.sh
-echo "GNAP overlay tool ${GNAPNAME} ${VERSION}"
-
-IMG_SIZE=15
+GNAP_LIBDIR='/usr/lib/gnap'
+source ${GNAP_LIBDIR}/gnap_shared.sh
+echo "GNAP overlay tool ${NAME} ${VERSION}"
 
 usage() {
 	echo
     echo 'Usage:'
-    echo "  ${GNAPNAME} -i isoname -o overlay [ options ]"
-    echo "  ${GNAPNAME} -d hostdisk -r rootdev -o overlay [ options ]"
+    echo "  ${NAME} -i isoname -o overlay [ options ]"
+    echo "  ${NAME} -d hostdisk -r rootdev -o overlay [ options ]"
     echo
     echo 'Common options:'
     echo '  -o overlay    Overlay directory or tbz2 file'
@@ -36,7 +34,7 @@
     echo '  -S size       Size of image file in megabyte'
     echo '  The disk target options also apply, except -d.'
     echo
-    echo "Please use man ${GNAPNAME} for more details."
+    echo "Please use man ${NAME} for more details."
 }
 
 if [[ "$#" -eq 0 || "${1}" == '-h' ]]; then
@@ -47,105 +45,106 @@
 gbegin 'Checking parameters'
 
 # Read options
-NOLOGO=0
-FORCEYES=0
-OUTPUT=''
-TYPE=''
-CREATE='n'
-TARGETROOT=''
-CACHE=''
-SERIAL=''
-BAUDRATE=''
+GNAP_NOLOGO=0
+GNAP_FORCEYES=0
+GNAP_OUTPUT=''
+GNAP_TYPE=''
+GNAP_CREATE='n'
+GNAP_IMG_SIZE=15
+GNAP_TARGETROOT=''
+GNAP_CACHE=''
+GNAP_SERIAL=''
+GNAP_BAUDRATE=''
 while getopts ':hg:o:c:nfi:d:l:r:ms:S:L:' option; do
 	case ${option} in
 		h ) usage
 			exit 0;;
-		g ) GNAPCORE="${OPTARG}";;
-		o ) OVERLAYS="${OVERLAYS} ${OPTARG}";;
-		c ) OVERLAYCONF="${OPTARG}";;
-		n ) NOLOGO=1;;
-		f ) FORCEYES=1;;
-		i ) OUTPUT="${OPTARG}"
-			TYPE='iso';;
-		d ) OUTPUT="${OPTARG}"
-			TYPE='disk';;
-		l ) OUTPUT="${OPTARG}"
-			TYPE='image'
-			CREATE='n';;
-		L ) OUTPUT="${OPTARG}"
-			TYPE='image'
-			CREATE='y';;
-		S ) IMG_SIZE="${OPTARG}";;
-		r ) TARGETROOT="${OPTARG}";;
-		m ) CACHE='docache ';;
-		s ) SERIAL="console=ttyS0,${OPTARG}n81"
-			BAUDRATE="${OPTARG}";;
+		g ) GNAP_CORE="${OPTARG}";;
+		o ) GNAP_OVERLAYS="${GNAP_OVERLAYS} ${OPTARG}";;
+		c ) GNAP_OVERLAY_CONF="${OPTARG}";;
+		n ) GNAP_NOLOGO=1;;
+		f ) GNAP_FORCEYES=1;;
+		i ) GNAP_OUTPUT="${OPTARG}"
+			GNAP_TYPE='iso';;
+		d ) GNAP_OUTPUT="${OPTARG}"
+			GNAP_TYPE='disk';;
+		l ) GNAP_OUTPUT="${OPTARG}"
+			GNAP_TYPE='image'
+			GNAP_CREATE='n';;
+		L ) GNAP_OUTPUT="${OPTARG}"
+			GNAP_TYPE='image'
+			GNAP_CREATE='y';;
+		S ) GNAP_IMG_SIZE="${OPTARG}";;
+		r ) GNAP_TARGETROOT="${OPTARG}";;
+		m ) GNAP_CACHE='docache ';;
+		s ) GNAP_SERIAL="console=ttyS0,${OPTARG}n81"
+			GNAP_BAUDRATE="${OPTARG}";;
 		* ) gtest 1 'Specified options are incomplete or unknown!';;
 	esac
 done
 
 # Target type (-i or -d) is needed
-test -n "${TYPE}"
+test -n "${GNAP_TYPE}"
 gtest continued $? 'Please specify a target (-i or -d option)'
 
 # Core file is required
-test -f "${GNAPCORE}"
+test -f "${GNAP_CORE}"
 gtest continued $? 'Please specify a valid GNAP core file (-g option)'
 
-case "${TYPE}" in
+case "${GNAP_TYPE}" in
 	disk)
 		# if disk type, doublecheck everything is ok
-		PARENTDEV="${OUTPUT:0:$((${#OUTPUT}-1))}"
+		PARENTDEV="${GNAP_OUTPUT:0:$((${#GNAP_OUTPUT}-1))}"
 		test -b "${PARENTDEV}"
 		gtest continued $? "${PARENTDEV} device does not exist on this system"
-		test -b "${OUTPUT}"
-		gtest continued $? "${OUTPUT} partition does not exist on this system"
+		test -b "${GNAP_OUTPUT}"
+		gtest continued $? "${GNAP_OUTPUT} partition does not exist on this system"
 	;;
 	image)
-		if [[ "${CREATE}" != 'y' ]]; then
+		if [[ "${GNAP_CREATE}" != 'y' ]]; then
 			# Check whether image file exists
-			test -f "${OUTPUT}"
-			gtest continued $? "Image file ${OUTPUT} does not exist."
+			test -f "${GNAP_OUTPUT}"
+			gtest continued $? "Image file ${GNAP_OUTPUT} does not exist."
 		fi
 	;;
 esac
 
 # At least one overlay is required
-test -n "${OVERLAYS}${OVERLAYCONF}"
+test -n "${GNAP_OVERLAYS}${GNAP_OVERLAY_CONF}"
 gtest $? 'Please specify at least an overlay (-o) or config file (-c)'
 
 # Warning for disk type targets
-if [[ "${TYPE}" == 'disk' ]]; then
+if [[ "${GNAP_TYPE}" == 'disk' ]]; then
 	gwarn 'Warning : you have selected disk install'
-	gwarn "Make sure you are root or have full access to ${OUTPUT}"
+	gwarn "Make sure you are root or have full access to ${GNAP_OUTPUT}"
 	gwarn "${PARENTDEV} must have an MBR installed, run:"
-	gwarn "${W}dd if=${GNAPMBR} of=${PARENTDEV} bs=512 count=1${N} if needed"
-	gwarn "${OUTPUT} must contain an active partition:"
+	gwarn "${W}dd if=${GNAP_MBR} of=${PARENTDEV} bs=512 count=1${N} if needed"
+	gwarn "${GNAP_OUTPUT} must contain an active partition:"
 	gwarn " use ${W}fdisk ${PARENTDEV}${N} if needed"
-	gwarn "Current data on ${OUTPUT} will be ${B}destroyed${N}!"
+	gwarn "Current data on ${GNAP_OUTPUT} will be ${B}destroyed${N}!"
 	gconfirm 'Are you sure you want to continue ?'
 fi
 
 # Common actions
-gbegin "Expanding ${GNAPCORE} core"
+gbegin "Expanding ${GNAP_CORE} core"
 TEMPDIR=$(mktemp -d -t gnap_overlay.XXXXXX)
 gtest continued $? 'Failed to create temporary directory'
 TEMPCOREDIR="${TEMPDIR}/core"
 gmkdir "${TEMPCOREDIR}"
-tar x -C "${TEMPCOREDIR}" -f "${GNAPCORE}"
+tar x -C "${TEMPCOREDIR}" -f "${GNAP_CORE}"
 gtest $? 'Failed to extract core'
 
 gbegin 'Preparing overlay'
 TEMPOVERDIR="${TEMPDIR}/overlay"
 gmkdir "${TEMPOVERDIR}"
 
-if [[ -n "${BAUDRATE}" ]]; then
+if [[ -n "${GNAP_BAUDRATE}" ]]; then
 	gbegin 'Adding baudrate for serial console'
 	gmkdir -p "${TEMPOVERDIR}/etc/gnap"
-	echo -n "${BAUDRATE}" > "${TEMPOVERDIR}/etc/gnap/baudrate"
+	echo -n "${GNAP_BAUDRATE}" > "${TEMPOVERDIR}/etc/gnap/baudrate"
 	gtest $? 'Failed to create /etc/gnap/baudrate'
 fi
-for overlay in ${OVERLAYS} ; do
+for overlay in ${GNAP_OVERLAYS} ; do
 	if [[ -d "${overlay}" ]]; then
 		gbegin "Adding ${overlay} (directory overlay)"
 		cp -rp "${overlay}"/* "${TEMPOVERDIR}"
@@ -156,13 +155,13 @@
 		gtest $? "${overlay} is not a valid conflet file (tbz2 format)"
 	fi
 done
-if [[ -n "${OVERLAYCONF}" ]]; then
-	gbegin "Adding ${OVERLAYCONF} (overlay.conf file)"
+if [[ -n "${GNAP_OVERLAY_CONF}" ]]; then
+	gbegin "Adding ${GNAP_OVERLAY_CONF} (overlay.conf file)"
 	if [[ ! -d "${TEMPOVERDIR}/etc" ]]; then
 		gmkdir "${TEMPOVERDIR}/etc"
 	fi
-	cp "${OVERLAYCONF}" "${TEMPOVERDIR}/etc/overlay.conf"
-	gtest $? "Failed to copy ${OVERLAYCONF}"
+	cp "${GNAP_OVERLAY_CONF}" "${TEMPOVERDIR}/etc/overlay.conf"
+	gtest $? "Failed to copy ${GNAP_OVERLAY_CONF}"
 fi
 gbegin 'Creating overlay tarball'
 test -f "${TEMPOVERDIR}/etc/overlay.conf"
@@ -172,28 +171,28 @@
 gtest $? 'Failed to create overlay tarball'
 
 DATE=$(date --utc)
-if [[ "${NOLOGO}" -eq 1 ]]; then
+if [[ "${GNAP_NOLOGO}" -eq 1 ]]; then
 	echo "GNAP ${VERSION}" > "${TEMPCOREDIR}/isolinux/boot.msg"
 fi
-if [[ -n "${OVERLAYS}" ]]; then
-	echo "Overlaid with ${OVERLAYS} on ${DATE}" \
+if [[ -n "${GNAP_OVERLAYS}" ]]; then
+	echo "Overlaid with ${GNAP_OVERLAYS} on ${DATE}" \
 		>> "${TEMPCOREDIR}/isolinux/boot.msg"
 fi
 
 # Target specific actions
-if [[ "${TYPE}" == 'iso' ]]; then
-	if [[ -f "${OUTPUT}" ]]; then
-		gconfirm "File ${OUTPUT} already exists, overwrite?"
+if [[ "${GNAP_TYPE}" == 'iso' ]]; then
+	if [[ -f "${GNAP_OUTPUT}" ]]; then
+		gconfirm "File ${GNAP_OUTPUT} already exists, overwrite?"
 	fi
 	rm "${TEMPCOREDIR}/syslinux.cfg"
-	gbegin "Building ${OUTPUT} ISO file"
-	mkisofs -quiet -J -r -l -x "${TEMPCOREDIR}/.." -o "${OUTPUT}" \
+	gbegin "Building ${GNAP_OUTPUT} ISO file"
+	mkisofs -quiet -J -r -l -x "${TEMPCOREDIR}/.." -o "${GNAP_OUTPUT}" \
 		-b isolinux/isolinux.bin -c isolinux/boot.cat \
 		-no-emul-boot -boot-load-size 4 -boot-info-table "${TEMPCOREDIR}"
 	gtest $?
 
 else
-	if [[ "${TYPE}" == 'image' ]]; then
+	if [[ "${GNAP_TYPE}" == 'image' ]]; then
 		gbegin 'Looking for free loop device'
 		LOOP=''
 		for i in /dev/loop/?* /dev/loop?*; do
@@ -210,25 +209,25 @@
 
 		ginfo "Using loop device ${LOOP}"
 
-		if [[ "${CREATE}"  == y ]]; then
-			if [[ -f "${OUTPUT}" ]]; then
-				gconfirm "File ${OUTPUT} already exists, overwrite?"
+		if [[ "${GNAP_CREATE}"  == y ]]; then
+			if [[ -f "${GNAP_OUTPUT}" ]]; then
+				gconfirm "File ${GNAP_OUTPUT} already exists, overwrite?"
 			fi
 
 			gbegin 'Creating image file'
 			# 1048576 = 1 MiB
-			dd if=/dev/zero of="${OUTPUT}" bs=1048576 count="${IMG_SIZE}" \
+			dd if=/dev/zero of="${GNAP_OUTPUT}" bs=1048576 count="${GNAP_IMG_SIZE}" \
 				>/dev/null 2>&1
 			gtest $?
 
 			gbegin 'Creating partition table'
 			# Create one partition of the full size
-			echo '0;;6;*' | sfdisk -D -H 64 -S 32 "${OUTPUT}" >/dev/null 2>&1
+			echo '0;;6;*' | sfdisk -D -H 64 -S 32 "${GNAP_OUTPUT}" >/dev/null 2>&1
 			gtest $?
 		fi
 
 		gbegin 'Reading Cylinder/Heads/Sectors'
-		CHS=$(sfdisk -G "${OUTPUT}" 2>/dev/null)
+		CHS=$(sfdisk -G "${GNAP_OUTPUT}" 2>/dev/null)
 		gtest $?
 
 		set -- ${CHS/*:/}
@@ -241,22 +240,22 @@
 
 		ginfo "Offset is ${offset}"
 
-		gbegin "Mounting ${OUTPUT} to ${LOOP}"
-		losetup -o "${offset}" "${LOOP}" "${OUTPUT}"
+		gbegin "Mounting ${GNAP_OUTPUT} to ${LOOP}"
+		losetup -o "${offset}" "${LOOP}" "${GNAP_OUTPUT}"
 		gtest $?
 
-		ORIG_OUTPUT="${OUTPUT}"
-		OUTPUT="${LOOP}"
+		ORIG_OUTPUT="${GNAP_OUTPUT}"
+		GNAP_OUTPUT="${LOOP}"
 	fi
 
-	gbegin "Formatting ${OUTPUT}"
-	mkfs.msdos "${OUTPUT}" > /dev/null 2>&1
+	gbegin "Formatting ${GNAP_OUTPUT}"
+	mkfs.msdos "${GNAP_OUTPUT}" > /dev/null 2>&1
 	gtest $?
 
-	gbegin "Mounting ${OUTPUT}"
+	gbegin "Mounting ${GNAP_OUTPUT}"
 	TEMPMOUNTDIR="${TEMPDIR}/mount"
 	gmkdir "${TEMPMOUNTDIR}"
-	mount -t msdos "${OUTPUT}" "${TEMPMOUNTDIR}"
+	mount -t msdos "${GNAP_OUTPUT}" "${TEMPMOUNTDIR}"
 	gtest $?
 
 	gbegin 'Copying files'
@@ -268,31 +267,31 @@
 	cp ${TEMPCOREDIR}/overlay.tgz			${TEMPMOUNTDIR}/			&&\
 	cp ${TEMPCOREDIR}/image.squashfs		${TEMPMOUNTDIR}/image.sfs	&&\
 	sed -i \
-		"s:cdroot:cdroot=/dev/${TARGETROOT} ${CACHE}${SERIAL}:" \
+		"s:cdroot:cdroot=/dev/${GNAP_TARGETROOT} ${GNAP_CACHE}${GNAP_SERIAL}:" \
 		"${TEMPMOUNTDIR}/syslinux.cfg"
 	gtest $?
 
-	gbegin "Unmounting ${OUTPUT}"
+	gbegin "Unmounting ${GNAP_OUTPUT}"
 	umount "${TEMPMOUNTDIR}"
 	gtest $?
 
 	# Is autocleaned so maybe not useful
-	if [[ "${TYPE}" == 'image' ]]; then
+	if [[ "${GNAP_TYPE}" == 'image' ]]; then
 		losetup -d "${LOOP}"
 		LOOP=
 	fi
 
 	export MTOOLS_SKIP_CHECK=1
-	case "${TYPE}" in
+	case "${GNAP_TYPE}" in
 		disk)
 			gbegin 'Syslinuxing'
-			syslinux "${OUTPUT}"
+			syslinux "${GNAP_OUTPUT}"
 			gtest $?
 		;;
 		image)
 			gbegin 'Preparing disk for boot'
 			syslinux -o "${offset}" "${ORIG_OUTPUT}" && \
-			dd if="${GNAPMBR}" of="${ORIG_OUTPUT}" bs=512 count=1 \
+			dd if="${GNAP_MBR}" of="${ORIG_OUTPUT}" bs=512 count=1 \
 				conv=notrunc >/dev/null 2>&1
 			gtest $?
 		;;
diff -ur --exclude .svn --exclude upload.sh --exclude diff.sh gnap-2.0+cleanup+split/tools/gnap_remaster gnap-2.0+cleanup+split+namespace/tools/gnap_remaster
--- gnap-2.0+cleanup+split/tools/gnap_remaster	2007-07-27 16:10:54.000000000 +0300
+++ gnap-2.0+cleanup+split+namespace/tools/gnap_remaster	2007-07-27 16:17:48.000000000 +0300
@@ -1,16 +1,16 @@
 #!/bin/bash
 VERSION='2.0'
 
-GNAPLIBDIR='/usr/lib/gnap'
-source ${GNAPLIBDIR}/gnap_shared.sh
-echo "GNAP remastering tool ${GNAPNAME} ${VERSION}"
+GNAP_LIBDIR='/usr/lib/gnap'
+source ${GNAP_LIBDIR}/gnap_shared.sh
+echo "GNAP remastering tool ${NAME} ${VERSION}"
 
-OUTPUT='mygnap-core.tar'
+GNAP_OUTPUT='mygnap-core.tar'
 
 usage() {
 	echo
 	echo 'Usage:'
-	echo "  ${GNAPNAME} [ options ]"
+	echo "  ${NAME} [ options ]"
 	echo
 	echo 'Options:'
 	echo '  -e extension    Extension to include in core file'
@@ -22,7 +22,7 @@
 	echo '  -d extdir       Directory where to find extensions'
 	echo '  -f              Force all answers to yes (dangerous!)'
 	echo
-	echo "Please use man ${GNAPNAME} for more details."
+	echo "Please use man ${NAME} for more details."
 }
 
 if [[ "$#" -eq 0 || "${1}" == '-h' ]]; then
@@ -33,64 +33,64 @@
 gbegin 'Checking parameters'
 
 # Read options
-EXTENSIONS=''
-KERNEXT=''
-MODEXT=''
-GNAPBASEFS=''
-GNAPEXTDIR=''
-FORCEYES=0
+GNAP_EXTENSIONS=''
+GNAP_KERNEXT=''
+GNAP_MODEXT=''
+GNAP_BASEFS=''
+GNAP_EXTDIR=''
+GNAP_FORCEYES=0
 while getopts ':he:k:m:o:g:b:d:f' option; do
 	case ${option} in
 		h ) usage
 			exit 0;;
-		e ) EXTENSIONS="${EXTENSIONS} ${OPTARG}";;
-		k ) KERNEXT="${OPTARG}";;
-		m ) MODEXT="${OPTARG}";;
-		o ) OUTPUT="${OPTARG}";;
-		g ) GNAPCORE="${OPTARG}";;
-		b ) GNAPBASEFS="${OPTARG}";;
-		d ) GNAPEXTDIR="${OPTARG}";;
-		f ) FORCEYES=1;;
+		e ) GNAP_EXTENSIONS="${GNAP_EXTENSIONS} ${OPTARG}";;
+		k ) GNAP_KERNEXT="${OPTARG}";;
+		m ) GNAP_MODEXT="${OPTARG}";;
+		o ) GNAP_OUTPUT="${OPTARG}";;
+		g ) GNAP_CORE="${OPTARG}";;
+		b ) GNAP_BASEFS="${OPTARG}";;
+		d ) GNAP_EXTDIR="${OPTARG}";;
+		f ) GNAP_FORCEYES=1;;
 		* ) gtest 1 'Specified options are incomplete or unknown!';;
 	esac
 done
 
 # Root is needed
 test "${EUID}" -eq 0
-gtest continued $? "You need to be root to run ${GNAPNAME}"
+gtest continued $? "You need to be root to run ${NAME}"
 
 # basefs file is required
-test -f "${GNAPBASEFS}"
+test -f "${GNAP_BASEFS}"
 gtest continued $? 'Please specify a valid GNAP basefs file (-b option)'
 
 # core file is required
-test -f "${GNAPCORE}"
+test -f "${GNAP_CORE}"
 gtest continued $? 'Please specify a valid GNAP core file (-g option)'
 
 # At least one operation is required
-test -n "${EXTENSIONS}" -o -n "${KERNEXT}" -o -n "${MODEXT}"
+test -n "${GNAP_EXTENSIONS}" -o -n "${GNAP_KERNEXT}" -o -n "${GNAP_MODEXT}"
 gtest $? 'Please specify at least one operation (-e, -k, -m) to perform'
 
 # Confirm tarball overwrite
-if [[ -e "${OUTPUT}" ]]; then
-	gconfirm "${OUTPUT} already exists, overwrite"
+if [[ -e "${GNAP_OUTPUT}" ]]; then
+	gconfirm "${GNAP_OUTPUT} already exists, overwrite"
 fi
 
 # Preparing new FS
-gbegin "Unpacking ${GNAPBASEFS} basefs"
+gbegin "Unpacking ${GNAP_BASEFS} basefs"
 TEMPDIR=$(mktemp -d -t gnap_remaster.XXXXXX)
 gtest continued $? 'Failed to create temporary directory'
 TEMPOVERDIR="${TEMPDIR}/basefs"
 gmkdir "${TEMPOVERDIR}"
 
-tar jx -C "${TEMPOVERDIR}" -f "${GNAPBASEFS}"
+tar jx -C "${TEMPOVERDIR}" -f "${GNAP_BASEFS}"
 gtest $? 'Failed to unpack basefs'
 
-for overlay in ${EXTENSIONS} ; do
+for overlay in ${GNAP_EXTENSIONS} ; do
 	gbegin "Adding ${overlay} extension"
-	test -f "${GNAPEXTDIR}/gnapext_${overlay}.tbz2"
-	gtest continued $? "${GNAPEXTDIR}/gnapext_${overlay}.tbz2 does not exist"
-	tar jxf "${GNAPEXTDIR}/gnapext_${overlay}.tbz2" -C "${TEMPOVERDIR}"
+	test -f "${GNAP_EXTDIR}/gnapext_${overlay}.tbz2"
+	gtest continued $? "${GNAP_EXTDIR}/gnapext_${overlay}.tbz2 does not exist"
+	tar jxf "${GNAP_EXTDIR}/gnapext_${overlay}.tbz2" -C "${TEMPOVERDIR}"
 	gtest $? "${overlay} is not a valid extension (tbz2 format)"
 done
 
@@ -99,31 +99,31 @@
 TEMPCOREDIR="${TEMPDIR}/core"
 gmkdir "${TEMPCOREDIR}"
 
-tar x -C "${TEMPCOREDIR}" -f "${GNAPCORE}" --exclude image.squashfs
+tar x -C "${TEMPCOREDIR}" -f "${GNAP_CORE}" --exclude image.squashfs
 gtest $? 'Failed to extract core'
 
-if [[ -f "${KERNEXT}" ]]; then
-	gbegin "Replacing kernel and initrd using ${KERNEXT}"
+if [[ -f "${GNAP_KERNEXT}" ]]; then
+	gbegin "Replacing kernel and initrd using ${GNAP_KERNEXT}"
 	TEMPKERNDIR="${TEMPDIR}/kernel"
 	gmkdir "${TEMPKERNDIR}"
 
-	tar jx -C "${TEMPKERNDIR}" -f "${KERNEXT}"
+	tar jx -C "${TEMPKERNDIR}" -f "${GNAP_KERNEXT}"
 	gtest continued $? 'Failed to extract kernpackage'
 	cp ${TEMPKERNDIR}/kernel* "${TEMPCOREDIR}/isolinux/gentoo" && \
 		cp ${TEMPKERNDIR}/initr* "${TEMPCOREDIR}/isolinux/gentoo.igz"
 	gtest $? 'Failed to copy kernel and initrd'
 
-elif [[ -n "${KERNEXT}" ]]; then
-	gwarn "${KERNEXT} does not exist, ignoring..."
+elif [[ -n "${GNAP_KERNEXT}" ]]; then
+	gwarn "${GNAP_KERNEXT} does not exist, ignoring..."
 fi
 
-if [[ -f "${MODEXT}" ]]; then
-	gbegin "Replacing modules using ${MODEXT}"
+if [[ -f "${GNAP_MODEXT}" ]]; then
+	gbegin "Replacing modules using ${GNAP_MODEXT}"
 	rm -rf "${TEMPOVERDIR}/lib/modules" &&
-		tar jx -C "${TEMPOVERDIR}" -f "${MODEXT}"
+		tar jx -C "${TEMPOVERDIR}" -f "${GNAP_MODEXT}"
 	gtest $? 'Failed to replace modules'
-elif [[ -n "${MODEXT}" ]]; then
-	gwarn "${MODEXT} does not exist, ignoring..."
+elif [[ -n "${GNAP_MODEXT}" ]]; then
+	gwarn "${GNAP_MODEXT} does not exist, ignoring..."
 fi
 
 gbegin 'Creating new squashfs filesystem'
@@ -131,8 +131,8 @@
 	> /dev/null 2>/dev/null
 gtest $? 'Failed to create squashfs'
 
-gbegin "Creating ${OUTPUT} core file"
-tar cf "${OUTPUT}" -C "${TEMPCOREDIR}" .
+gbegin "Creating ${GNAP_OUTPUT} core file"
+tar cf "${GNAP_OUTPUT}" -C "${TEMPCOREDIR}" .
 gtest $? 'Failed to create new core tarball'
 
 # Successful finish
diff -ur --exclude .svn --exclude upload.sh --exclude diff.sh gnap-2.0+cleanup+split/tools/gnap_shared.sh gnap-2.0+cleanup+split+namespace/tools/gnap_shared.sh
--- gnap-2.0+cleanup+split/tools/gnap_shared.sh	2007-08-02 15:54:46.000000000 +0300
+++ gnap-2.0+cleanup+split+namespace/tools/gnap_shared.sh	2007-08-02 15:51:30.000000000 +0300
@@ -1,22 +1,22 @@
-GNAPNAME=$(basename "$0")
+NAME=$(basename "$0")
 
-case ${GNAPNAME} in
+case ${NAME} in
 	gnap_make )     GNAP_PRODUCT="Build";;
  	gnap_overlay )  GNAP_PRODUCT="Overlay";;
  	gnap_remaster ) GNAP_PRODUCT="Remaster";;
  	* )             GNAP_PRODUCT="Something";;
 esac
-STAGE3FILE="${GNAPLIBDIR}/gnap-stage3seed.tar.bz2"
-SNAPSHOTFILE="${GNAPLIBDIR}/gnap-portagesnapshot.tar.bz2"
-SPECS="${GNAPLIBDIR}/gnap-specs.tar.bz2"
-GNAPCORE="${GNAPLIBDIR}/gnap-core.tar"
-GNAPMBR="${GNAPLIBDIR}/mbr/mbr.bin"
-GNAPEXTDIR="${GNAPLIBDIR}/extensions"
-GNAPBASEFS="${GNAPLIBDIR}/gnap-basefs.tar.bz2"
+GNAP_STAGE3FILE="${GNAP_LIBDIR}/gnap-stage3seed.tar.bz2"
+GNAP_SNAPSHOTFILE="${GNAP_LIBDIR}/gnap-portagesnapshot.tar.bz2"
+GNAP_SPECS="${GNAP_LIBDIR}/gnap-specs.tar.bz2"
+GNAP_CORE="${GNAP_LIBDIR}/gnap-core.tar"
+GNAP_MBR="${GNAP_LIBDIR}/mbr/mbr.bin"
+GNAP_EXTDIR="${GNAP_LIBDIR}/extensions"
+GNAP_BASEFS="${GNAP_LIBDIR}/gnap-basefs.tar.bz2"
 
+GNAP_FORCEYES=0
 TEMPDIR=''
 LOOP=''
-FORCEYES=0
 
 G=$'\e[32;01m'
 B=$'\e[31;01m'
@@ -40,7 +40,7 @@
 }
 
 gconfirm() {
-	if [[ "${FORCEYES}" -eq 1 ]]; then
+	if [[ "${GNAP_FORCEYES}" -eq 1 ]]; then
 		gwarn "${*} forced to yes"
 	else
 		read -ep " ${W}*${N} ${*} [N]: " answer
@@ -79,7 +79,7 @@
 		if [[ -n "${TEMPDIR}" || -n "${LOOP}" ]]; then
 			cleanup
 		fi
-		echo " ${GNAP_PRODUCT} failed, try ${GNAPNAME} -h for more help"
+		echo " ${GNAP_PRODUCT} failed, try ${NAME} -h for more help"
 		exit 1
 	fi
 }

[-- Attachment #5: 04-gnap-environment.patch --]
[-- Type: text/x-patch, Size: 10051 bytes --]

diff -ur --exclude .svn --exclude upload.sh --exclude diff.sh gnap-2.0+cleanup+split+namespace/src/gnap_make gnap-2.0+cleanup+split+namespace+environment/src/gnap_make
--- gnap-2.0+cleanup+split+namespace/src/gnap_make	2007-08-02 15:50:45.000000000 +0300
+++ gnap-2.0+cleanup+split+namespace+environment/src/gnap_make	2007-08-02 15:46:54.000000000 +0300
@@ -1,7 +1,7 @@
 #!/bin/bash
 VERSION='2.0'
 
-GNAP_LIBDIR='/usr/lib/gnap'
+GNAP_LIBDIR=${GNAP_LIBDIR:-'/usr/lib/gnap'}
 source ${GNAP_LIBDIR}/gnap_shared.sh
 echo "GNAP Core Building tool ${NAME} version ${VERSION}"
 
@@ -25,65 +25,31 @@
 	exit 0
 fi
 
-gbegin 'Checking parameters'
-
 # Catalyst executable and config file
-GNAP_CATALYST_BIN="/usr/bin/catalyst"
-GNAP_CATALYST_CONF="/etc/catalyst/catalyst.conf"
+GNAP_CATALYST_BIN=${GNAP_CATALYST_BIN:-"/usr/bin/catalyst"}
+GNAP_CATALYST_CONF=${GNAP_CATALYST_CONF:-"/etc/catalyst/catalyst.conf"}
 
-# Read options
-GNAP_STAGE3=0
-GNAP_LIVECD1=0
-GNAP_LIVECD2=0
-GNAP_TARBALL=0
-GNAP_MODULES=0
-GNAP_STAMP=$(date +%Y%m%d)
-NOTARGET=1
-NEEDS_SNAPSHOT=0
+# Default options
+GNAP_STAMP=${GNAP_STAMP:-$(date +%Y%m%d)}
+
+# Read options (phase 1)
+gbegin 'Checking parameters'
+
+OPTIND=0
 while getopts ':hs:p:m:o:v:t:fl:c:e:' option; do
 	case ${option} in
-		h )
+		h ) 
+			gtest
 			usage
 			exit 0;;
-		s ) GNAP_STAGE3FILE="${OPTARG}";;
-		p ) GNAP_SNAPSHOTFILE="${OPTARG}";;
-		o ) GNAP_PORTAGE_OVERLAYS="${GNAP_PORTAGE_OVERLAYS} ${OPTARG}";;
-		v ) GNAP_STAMP="${OPTARG}";;
-		t )
-			case "${OPTARG}" in
-				all )
-					GNAP_STAGE3=1
-					GNAP_LIVECD1=1
-					GNAP_LIVECD2=1
-					GNAP_TARBALL=1
-					GNAP_MODULES=1
-					NEEDS_SNAPSHOT=1;;
-				stage3 )
-					GNAP_STAGE3=1
-					NEEDS_SNAPSHOT=1;;
-				livecd-stage1 )
-					GNAP_LIVECD1=1
-					NEEDS_SNAPSHOT=1;;
-				livecd-stage2 )
-					GNAP_LIVECD2=1
-					NEEDS_SNAPSHOT=1;;
-				tarball )
-					GNAP_TARBALL=1;;
-				extensions )
-					GNAP_MODULES=1
-					NEEDS_SNAPSHOT=1;;
-				* ) gtest 1 'Specified stage is unknown!';;
-			esac
-			NOTARGET=0;;
-		f ) GNAP_FORCEYES=1;;
-		l ) GNAP_LOGPREFIX="${OPTARG}";;
-		c ) GNAP_CATALYST_CONF="${OPTARG}";;
 		e ) GNAP_SPECS="${OPTARG}";;
+		s|p|o|v|t|f|l|c ) :;;
 		* ) gtest 1 'Specified options are incomplete or unknown!';;
 	esac
 done
 
 # Root is needed
+# * non-root can only use "gnap_make -h"
 test "${EUID}" -eq 0
 gtest continued $? "You need to be root to run ${NAME}"
 
@@ -113,15 +79,71 @@
 	DISTCCSPEC="distcc_hosts: ${DISTCC_HOSTS}"
 fi
 
+
+# Read options (phase 2)
+OPTIND=0
+while getopts ':hs:p:m:o:v:t:fl:c:e:' option; do
+	case ${option} in
+		c ) GNAP_CATALYST_CONF="${OPTARG}";;
+		s|p|o|v|t|f|l|e|h ) :;;
+		* ) gtest 1 'Specified options are incomplete or unknown!';;
+	esac
+done
+
 # catalyst.conf file
 test -f "${GNAP_CATALYST_CONF}"
 gtest continued $? "${GNAP_CATALYST_CONF} file not found!"
 source "${GNAP_CATALYST_CONF}"
 
+# Read options (phase 3)
+OPTIND=0
+while getopts ':hs:p:m:o:v:t:fl:c:e:' option; do
+	case ${option} in
+		s ) GNAP_STAGE3FILE="${OPTARG}";;
+		p ) GNAP_SNAPSHOTFILE="${OPTARG}";;
+		o ) GNAP_PORTAGE_OVERLAYS="${GNAP_PORTAGE_OVERLAYS} ${OPTARG}";;
+		v ) GNAP_STAMP="${OPTARG}";;
+		t )
+			case "${OPTARG}" in
+				all )
+					GNAP_STAGE3=1
+					GNAP_LIVECD1=1
+					GNAP_LIVECD2=1
+					GNAP_TARBALL=1
+					GNAP_MODULES=1;;
+				stage3 ) GNAP_STAGE3=1;;
+				livecd-stage1 ) GNAP_LIVECD1=1;;
+				livecd-stage2 ) GNAP_LIVECD2=1;;
+				tarball ) GNAP_TARBALL=1;;
+				extensions ) GNAP_MODULES=1;;
+				* ) gtest 1 'Specified stage is unknown!';;
+			esac;;
+		f ) GNAP_FORCEYES=1;;
+		l ) GNAP_LOGPREFIX="${OPTARG}";;
+		c|e|h ) :;;
+		* ) gtest 1 'Specified options are incomplete or unknown!';;
+	esac
+done
+
 # At least one target is needed
-test "${NOTARGET}" -eq 0
-gtest continued $? \
+test "${GNAP_STAGE3}" -eq 0 &&
+test "${GNAP_LIVECD1}" -eq 0 &&
+test "${GNAP_LIVECD2}" -eq 0 &&
+test "${GNAP_TARBALL}" -eq 0 &&
+test "${GNAP_MODULES}" -eq 0
+if [[ $? -eq 0 ]]; then
+	gtest continued 1 \
 	'No target specified. You should provide at least one -t option.'
+fi
+
+NEEDS_SNAPSHOT=0
+test "${GNAP_STAGE3}" -eq 1 ||
+test "${GNAP_LIVECD1}" -eq 1 ||
+test "${GNAP_LIVECD2}" -eq 1 ||
+test "${GNAP_MODULES}" -eq 1
+if [[ $? -eq 0 ]]; then
+	NEEDS_SNAPSHOT=1
+fi
 
 # storedir must exist
 gmkdir "${storedir}"
diff -ur --exclude .svn --exclude upload.sh --exclude diff.sh gnap-2.0+cleanup+split+namespace/tools/gnap_overlay gnap-2.0+cleanup+split+namespace+environment/tools/gnap_overlay
--- gnap-2.0+cleanup+split+namespace/tools/gnap_overlay	2007-07-27 16:00:02.000000000 +0300
+++ gnap-2.0+cleanup+split+namespace+environment/tools/gnap_overlay	2007-07-31 23:22:33.000000000 +0300
@@ -1,7 +1,7 @@
 #!/bin/bash
 VERSION='2.0'
 
-GNAP_LIBDIR='/usr/lib/gnap'
+GNAP_LIBDIR=${GNAP_LIBDIR:-'/usr/lib/gnap'}
 source ${GNAP_LIBDIR}/gnap_shared.sh
 echo "GNAP overlay tool ${NAME} ${VERSION}"
 
@@ -42,19 +42,14 @@
 	exit 0
 fi
 
-gbegin 'Checking parameters'
+# Default settings
+GNAP_NOLOGO=${GNAP_NOLOGO:-0}
+GNAP_CREATE=${GNAP_CREATE:-'n'}
+GNAP_IMG_SIZE=${GNAP_IMG_SIZE:-15}
 
 # Read options
-GNAP_NOLOGO=0
-GNAP_FORCEYES=0
-GNAP_OUTPUT=''
-GNAP_TYPE=''
-GNAP_CREATE='n'
-GNAP_IMG_SIZE=15
-GNAP_TARGETROOT=''
-GNAP_CACHE=''
-GNAP_SERIAL=''
-GNAP_BAUDRATE=''
+gbegin 'Checking parameters'
+
 while getopts ':hg:o:c:nfi:d:l:r:ms:S:L:' option; do
 	case ${option} in
 		h ) usage
diff -ur --exclude .svn --exclude upload.sh --exclude diff.sh gnap-2.0+cleanup+split+namespace/tools/gnap_remaster gnap-2.0+cleanup+split+namespace+environment/tools/gnap_remaster
--- gnap-2.0+cleanup+split+namespace/tools/gnap_remaster	2007-07-27 16:17:48.000000000 +0300
+++ gnap-2.0+cleanup+split+namespace+environment/tools/gnap_remaster	2007-07-31 23:29:03.000000000 +0300
@@ -1,12 +1,10 @@
 #!/bin/bash
 VERSION='2.0'
 
-GNAP_LIBDIR='/usr/lib/gnap'
+GNAP_LIBDIR=${GNAP_LIBDIR:-'/usr/lib/gnap'}
 source ${GNAP_LIBDIR}/gnap_shared.sh
 echo "GNAP remastering tool ${NAME} ${VERSION}"
 
-GNAP_OUTPUT='mygnap-core.tar'
-
 usage() {
 	echo
 	echo 'Usage:'
@@ -33,12 +31,8 @@
 gbegin 'Checking parameters'
 
 # Read options
-GNAP_EXTENSIONS=''
-GNAP_KERNEXT=''
-GNAP_MODEXT=''
-GNAP_BASEFS=''
-GNAP_EXTDIR=''
-GNAP_FORCEYES=0
+GNAP_OUTPUT=${GNAP_OUTPUT:-'mygnap-core.tar'}
+
 while getopts ':he:k:m:o:g:b:d:f' option; do
 	case ${option} in
 		h ) usage
diff -ur --exclude .svn --exclude upload.sh --exclude diff.sh gnap-2.0+cleanup+split+namespace/tools/gnap_shared.sh gnap-2.0+cleanup+split+namespace+environment/tools/gnap_shared.sh
--- gnap-2.0+cleanup+split+namespace/tools/gnap_shared.sh	2007-08-02 15:51:30.000000000 +0300
+++ gnap-2.0+cleanup+split+namespace+environment/tools/gnap_shared.sh	2007-08-02 15:46:44.000000000 +0300
@@ -6,34 +6,44 @@
  	gnap_remaster ) GNAP_PRODUCT="Remaster";;
  	* )             GNAP_PRODUCT="Something";;
 esac
-GNAP_STAGE3FILE="${GNAP_LIBDIR}/gnap-stage3seed.tar.bz2"
-GNAP_SNAPSHOTFILE="${GNAP_LIBDIR}/gnap-portagesnapshot.tar.bz2"
-GNAP_SPECS="${GNAP_LIBDIR}/gnap-specs.tar.bz2"
-GNAP_CORE="${GNAP_LIBDIR}/gnap-core.tar"
-GNAP_MBR="${GNAP_LIBDIR}/mbr/mbr.bin"
-GNAP_EXTDIR="${GNAP_LIBDIR}/extensions"
-GNAP_BASEFS="${GNAP_LIBDIR}/gnap-basefs.tar.bz2"
 
-GNAP_FORCEYES=0
+GNAP_STAGE3FILE=${GNAP_STAGE3FILE:-"${GNAP_LIBDIR}/gnap-stage3seed.tar.bz2"}
+GNAP_SNAPSHOTFILE=${GNAP_SNAPSHOTFILE:-"${GNAP_LIBDIR}/gnap-portagesnapshot.tar.bz2"}
+GNAP_SPECS=${GNAP_SPECS:-"${GNAP_LIBDIR}/gnap-specs.tar.bz2"}
+GNAP_CORE=${GNAP_CORE:-"${GNAP_LIBDIR}/gnap-core.tar"}
+GNAP_MBR=${GNAP_MBR:-"${GNAP_LIBDIR}/mbr/mbr.bin"}
+GNAP_EXTDIR=${GNAP_EXTDIR:-"${GNAP_LIBDIR}/extensions"}
+GNAP_BASEFS=${GNAP_BASEFS:-"${GNAP_LIBDIR}/gnap-basefs.tar.bz2"}
+
+GNAP_FORCEYES=${GNAP_FORCEYES:-0}
+
+#CONTINUED=0
 TEMPDIR=''
 LOOP=''
 
-G=$'\e[32;01m'
-B=$'\e[31;01m'
-N=$'\e[0m'
-W=$'\e[33;01m'
-K=$'\e[34;01m'
-C="$[$(set -- $(stty size 2>/dev/null); echo ${2}) - 7]"
-E=$'\e['${C}'G'
+G=$'\e[32;01m' # green
+B=$'\e[31;01m' # red
+N=$'\e[0m'     # neutral
+W=$'\e[33;01m' # yellow
+K=$'\e[34;01m' # blue
+C="$[$(set -- $(stty size 2>/dev/null); echo ${2}) - 7]" # end of line helper
+E=$'\e['${C}'G' # end of line
+
+ginfo() {
+	echo -e " ${G}*${N} ${*}"
+}
 
 gwarn() {
 	echo -e " ${W}*${N} ${*}"
 }
 
-ginfo() {
-	echo -e " ${G}*${N} ${*}"
+gdie() {
+	echo -e " ${B}*${N} ${*}"
+	cleanup
+	exit 1
 }
 
+
 gmkdir() {
 	mkdir -p "$1"
 	gtest continued $? "Failed to create \"$1\"."
@@ -44,29 +54,31 @@
 		gwarn "${*} forced to yes"
 	else
 		read -ep " ${W}*${N} ${*} [N]: " answer
-		if [[ "${answer}" != 'y' && "${answer}" != 'Y' ]]; then
-			if [[ -n "${TEMPDIR}" || -n "${LOOP}" ]]; then
-				cleanup
-			fi
-			echo '${GNAP_PRODUCT} aborted!'
-			exit 2
-		fi
+		[[ "${answer}" != 'y' && "${answer}" != 'Y' ]] && \
+			gdie "${GNAP_PRODUCT} aborted!"
 	fi
 }
 
 gbegin() {
+#	[[ "${CONTINUED}" -eq 1 ]] && gdie "BUG triggered by gbegin()"
+
 	echo -ne " ${G}*${N} ${*}..."
+#	CONTINUED=1
 }
 
 gtest() {
-	continued=0
+#	# TODO: Remove this after removing all "gtest continued"
+#	if [[ "${#}" -gt 0 && "${1}" == 'continued' ]]; then
+#		shift
+#	fi
+	CONTINUED=0
 	if [[ "${#}" -gt 0 && "${1}" == 'continued' ]]; then
+		CONTINUED=1
 		shift
-		continued=1
 	fi
 
 	if [[ "${#}" -eq 0 || "${1}" -eq 0 ]]; then
-		if [[ "${continued}" -eq 0 ]]; then
+		if [[ "${CONTINUED}" -eq 0 ]]; then
 			echo -e "${E}  ${K}[ ${G}ok${K} ]${N}"
 		fi
 	else
@@ -76,11 +88,7 @@
 			echo -en " ${B}*${N} ${*}"
 			echo -e "${E}  ${K}[ ${B}!!${K} ]${N}"
 		fi
-		if [[ -n "${TEMPDIR}" || -n "${LOOP}" ]]; then
-			cleanup
-		fi
-		echo " ${GNAP_PRODUCT} failed, try ${NAME} -h for more help"
-		exit 1
+		gdie "${GNAP_PRODUCT} failed, try man ${NAME} for more help"
 	fi
 }
 
@@ -90,13 +98,10 @@
 		umount "${LOOP}" && losetup -d "${LOOP}"
 		gtest $? "Failed to unmount ${LOOP}"
 	fi
-	gbegin 'Cleaning temporary directories'
 	if [[ -d "${TEMPDIR}" ]]; then
-		DIRTOREMOVE="${TEMPDIR}"
-		TEMPDIR=''
-		rm -rf "${DIRTOREMOVE}"
+		gbegin 'Cleaning temporary directories'
+		rm -rf "${TEMPDIR}"
 		gtest $? "Failed to remove ${DIRTOREMOVE}"
-	else
-		gtest 0
+		TEMPDIR=''
 	fi
 }

      parent reply	other threads:[~2007-08-03 14:09 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-03 13:16 [gnap-dev] [PATCH 0/4] GNAP improvements, probably for 2.1 Philipp Riegger
2007-08-03 13:26 ` [gnap-dev] [PATCH 1/4] GNAP cleanup Philipp Riegger
2007-08-03 13:32 ` [gnap-dev] [PATCH 2/4] GNAP split Philipp Riegger
2007-08-03 13:37 ` [gnap-dev] [PATCH 3/4] GNAP namespace Philipp Riegger
2007-08-03 13:53 ` [gnap-dev] [PATCH 4/4] GNAP environment Philipp Riegger
2007-08-03 13:57 ` [gnap-dev] [PATCH 0/4] GNAP improvements, probably for 2.1 Philipp Riegger
2007-08-03 14:01 ` Philipp Riegger
2007-08-03 14:02 ` Philipp Riegger [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1186149732.10651.61.camel@b136a \
    --to=lists@anderedomain.de \
    --cc=gnap-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox