[prev in list] [next in list] [prev in thread] [next in thread]
List: gobolinux-commits
Subject: [gobolinux-commits] tools/ChrootCompile/bin ChrootCompile
From: detsch () gobolinux ! org (=?UTF-8?Q?Andr=C3=A9_Detsch?=)
Date: 2006-10-22 22:17:01
Message-ID: E1Gblcr-0004Ew-89 () savannah ! gnu ! org
[Download RAW message or body]
CVSROOT: /sources/goboscripts
Module name: tools
Changes by: Andr?? Detsch <detsch> 06/10/22 22:17:01
Modified files:
ChrootCompile/bin: ChrootCompile
Log message:
Added experimental '--local-programs' option.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/tools/ChrootCompile/bin/ChrootCompile?cvsroot=goboscripts&r1=1.7&r2=1.8
Patches:
Index: ChrootCompile
===================================================================
RCS file: /sources/goboscripts/tools/ChrootCompile/bin/ChrootCompile,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- ChrootCompile 22 Oct 2006 21:28:27 -0000 1.7
+++ ChrootCompile 22 Oct 2006 22:17:01 -0000 1.8
@@ -7,17 +7,6 @@
}
#############################################################################
-# Verify our whereabouts
-#############################################################################
-if [ ! -d BaseDependencies ]
-then
- if [ ! -z "`ls`" ]
- then die "This doesn't look like a ChrootCompile environment directory. Rerun \
this script on an empty directory to build an environment."
- fi
- SetupChrootEnv
-fi
-
-#############################################################################
# Setting options
#############################################################################
export goboPrograms="/Programs"
@@ -84,6 +73,13 @@
targetarch=$recipesubdir
+unset local_programs
+if [ "$1" == "--local-programs" -o "$1" == "-p" ]
+then
+ local_programs="$1"
+ shift
+fi
+
unset verbose
if [ "$1" == "--verbose" -o "$1" == "-v" ]
then
@@ -98,11 +94,23 @@
echo "Available options are:"
echo " -l, --local-repository: use the repository at /Files/Compile \
(GoboLinux only)"
echo " -X, --cross-compile <arch>: cross-compile to 'arch' (GoboLinux only)"
+ echo " -p, --local-programs: get packages from /Programs (EXPERIMENTAL)"
echo " -v, --verbose: verbose output"
exit 0
fi
#############################################################################
+# Verify our whereabouts
+#############################################################################
+if [ ! -d BaseDependencies -a ! "$local_programs" ]
+then
+ if [ ! -z "`ls`" ]
+ then die "This doesn't look like a ChrootCompile environment directory. Rerun \
this script on an empty directory to build an environment." + fi
+ SetupChrootEnv
+fi
+
+#############################################################################
# Which packages are required to run Compile
#############################################################################
base_dependencies=(
@@ -184,6 +192,7 @@
do
unmount_dir $mp
done
+ rmdir Archives 2> /dev/null
}
trap cleanup TERM STOP HUP EXIT
@@ -292,19 +301,23 @@
#############################################################################
# Getting packages for BaseDependencies - Temporary only
#############################################################################
-
-for arch in $hostarch $targetarch
-do
+if [ ! "$local_programs" ]
+then
+ for arch in $hostarch $targetarch
+ do
[ -d Unpacked/$arch ] || mkdir -p Unpacked/$arch
[ -d Unpacked/$arch/_Checksums ] || mkdir -p Unpacked/$arch/_Checksums
-done
+ done
+ [ -d BaseDependencies ] || mkdir BaseDependencies
+
+fi
-[ -d BaseDependencies ] || mkdir BaseDependencies
[ -d $hostgetclean ] || mkdir -p $hostgetclean
for dep in "${base_dependencies[@]}"
do
if ! ls BaseDependencies/$dep--* &> /dev/null && ! ls $hostgetclean/$dep--* &> \
/dev/null \
- && ! [ -d BaseDependencies/$dep -o -d $hostgetclean/$dep ]
+ && ! [ -d BaseDependencies/$dep -o -d $hostgetclean/$dep ] \
+ && [ "$local_packages" -a ! -d "/Programs/$dep/Current/" ]
then
die "Package $dep, needed for bootstrap, was not found."
fi
@@ -369,10 +382,15 @@
local dep="$1"
local repositories="$2"
local arch="$3"
+ if [ "$local_programs" ]
+ then
+ unpacked="/Programs/$dep/Current/"
+ [ -d $unpacked ] || die "Dependency $dep could not be found."
+ else
local pkg=`get_package_for "$dep" "$repositories"`
[ ! "$pkg" ] && die "Dependency $dep could not be found."
unpacked=`unpack_package "$pkg" "$dep" "$arch"`
-
+ fi
if [ $dep = $name ]
then realcopy="--real-copy"
else realcopy=""
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic