[darwinbuild-changes] [265] trunk/darwinbuild/packageRoots.sh
source_changes at macosforge.org
source_changes at macosforge.org
Wed Oct 4 02:02:06 PDT 2006
Revision: 265
http://trac.macosforge.org/projects/darwinbuild/changeset/265
Author: ssen
Date: 2006-10-04 02:02:06 -0700 (Wed, 04 Oct 2006)
Log Message:
-----------
Redo a bit. Now supports -x to create xar packages. This
currently doesn't work because of a bug in xar 1.0. But
it should be more flexible for the future.
Modified Paths:
--------------
trunk/darwinbuild/packageRoots.sh
Modified: trunk/darwinbuild/packageRoots.sh
===================================================================
--- trunk/darwinbuild/packageRoots.sh 2005-09-17 21:06:33 UTC (rev 264)
+++ trunk/darwinbuild/packageRoots.sh 2006-10-04 09:02:06 UTC (rev 265)
@@ -32,6 +32,8 @@
#
# Kevin Van Vechten <kevin at opendarwin.org>
+set -e
+
PREFIX=/usr/local
XREFDB=.build/xref.db
DARWINXREF=$PREFIX/bin/darwinxref
@@ -39,28 +41,44 @@
COMMONFILE=$DATADIR/darwinbuild.common
NORUN=""
+VERBOSE="true"
+TOOL="tar"
###
### Interpret our arguments:
### -n Don't actually package anything, just say what we would do.
function PrintUsage() {
- echo "usage: $(basename $0) [-n]" 1>&2
+ echo "usage: $(basename $0) [-n] [-x]" 1>&2
exit
}
-for ARG in "$@"; do
- if [ "$NORUN" == "" ]; then
- if [ "$ARG" == "-n" ]; then
- NORUN="YES"
- else
- PrintUsage "$0"
- fi
- else
- PrintUsage "$0"
- fi
+args=`getopt nxv $*`
+if [ $? -ne 0 ]; then
+ PrintUsage
+fi
+
+set -- $args
+
+for i; do
+ case "$i" in
+ -n)
+ NORUN="true"
+ shift
+ ;;
+ -x)
+ TOOL="xar"
+ shift
+ ;;
+ -v)
+ VERBOSE="echo"
+ shift
+ ;;
+ --)
+ shift
+ ;;
+ esac
done
-
###
### Include some common subroutines
###
@@ -73,31 +91,51 @@
###
CheckDarwinBuildRoot
-
-if [ "$NORUN" == "YES" ]; then
- CMD="echo SKIPPING tar czf"
-else
- CMD="tar czf"
-fi
-
if [ ! -d "$DARWIN_BUILDROOT/Packages" ]; then
- mkdir "$DARWIN_BUILDROOT/Packages"
+ mkdir "$DARWIN_BUILDROOT/Packages"
fi
+$TOOL --version > /dev/null
+echo "Archive tool: $($TOOL --version | head -1)"
+
function PackageThem() {
- local DIR="$1"
- local SFX="$2"
- echo "*** Packaging $DIR"
- "$DARWINXREF" version '*' | while read X; do
- Y="${X/-*/}"
- build_version=$(GetBuildVersion $DARWIN_BUILDROOT/$DIR/$Y/$X*)
- if [ "$build_version" != "0" -a \
- "$DARWIN_BUILDROOT/$DIR/$Y/$X$SFX~$build_version" -nt \
- "$DARWIN_BUILDROOT/Packages/$X$SFX.tar.gz" ]; then
- echo "$X$SFX~$build_version"
- cd "$DARWIN_BUILDROOT/$DIR/$Y/$X$SFX~$build_version"
- eval $CMD "$DARWIN_BUILDROOT/Packages/$Y$SFX.tar.gz" .
- fi
+ local DIR="$1"
+ local SFX="$2"
+ echo "*** Packaging $DIR"
+ "$DARWINXREF" version '*' | while read PROJVERS; do
+ local PROJ="${PROJVERS/-*/}"
+ local FILE=""
+ local ARGS=""
+ local SRCARG=""
+ local build_version=$(GetBuildVersion $DARWIN_BUILDROOT/$DIR/$PROJ/$PROJVERS*)
+ local SOURCEDIR="$DARWIN_BUILDROOT/$DIR/$PROJ/$PROJVERS$SFX~$build_version"
+
+ case "$TOOL" in
+ tar)
+ FILE="$DARWIN_BUILDROOT/Packages/$PROJ$SFX.tar.gz"
+ ARGS="zcf"
+ SRCARG="."
+ ;;
+ xar)
+ FILE="$DARWIN_BUILDROOT/Packages/$PROJ$SFX.xar"
+ ARGS="-c -f"
+ SRCARG="$SOURCEDIR"
+ ;;
+ *)
+ FILE="$DARWIN_BUILDROOT/Packages/$PROJ$SFX.$TOOL"
+ ARGS=""
+ SRCARG="."
+ ;;
+ esac
+
+ if [ -n "$build_version" -a \
+ "$SOURCEDIR" -nt "$FILE" ]; then
+ echo "$PROJVERS~$build_version"
+ $VERBOSE cd "$SOURCEDIR"
+ cd "$SOURCEDIR"
+ $VERBOSE $TOOL $ARGS "$FILE" "$SRCARG"
+ $NORUN $TOOL $ARGS "$FILE" "$SRCARG"
+ fi
done
}
PackageThem Headers .hdrs
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/darwinbuild-changes/attachments/20061004/996b7cd6/attachment-0001.html
More information about the darwinbuild-changes
mailing list