63 lines
960 B
Plaintext
63 lines
960 B
Plaintext
|
#!/bin/sh
|
||
|
|
||
|
if [ $# -lt 2 ]; then
|
||
|
echo "Usage: $0 <archive> <scripts> ..."
|
||
|
fi
|
||
|
|
||
|
# get the archive name
|
||
|
archive=$1
|
||
|
shift
|
||
|
|
||
|
# The second argument is the shell script that initializes the variables:
|
||
|
# tmpDir
|
||
|
# addBuildCompatibilityLibDir
|
||
|
#
|
||
|
# copyattr
|
||
|
# rmAttrs
|
||
|
# zip
|
||
|
#
|
||
|
. $1
|
||
|
shift
|
||
|
|
||
|
outputDir=$tmpDir/archive
|
||
|
|
||
|
# this adds the build library dir to LD_LIBRARY_PATH
|
||
|
eval "$addBuildCompatibilityLibDir"
|
||
|
|
||
|
# map the shell commands
|
||
|
sPrefix=
|
||
|
tPrefix="$outputDir/"
|
||
|
cd=cd
|
||
|
scd=:
|
||
|
cp="$copyattr -d"
|
||
|
ln=ln
|
||
|
mkdir=mkdir
|
||
|
rm=rm
|
||
|
|
||
|
# clear output dir
|
||
|
$rmAttrs -rf $outputDir
|
||
|
$mkdir $outputDir
|
||
|
|
||
|
# populate output dir
|
||
|
echo "Preparing contents of archive $archive ..."
|
||
|
while [ $# -gt 0 ]; do
|
||
|
. $1
|
||
|
shift
|
||
|
done
|
||
|
|
||
|
# get an absolute path for the archive
|
||
|
cwd=$(pwd)
|
||
|
cd $(dirname $archive)
|
||
|
archive=$(pwd)/$(basename $archive)
|
||
|
cd $cwd
|
||
|
|
||
|
# build the archive
|
||
|
echo "Building archive $archive ..."
|
||
|
$rm -f $archive
|
||
|
cd $outputDir
|
||
|
$zip -ryq $archive . || exit 1
|
||
|
cd $cwd
|
||
|
|
||
|
# clean up
|
||
|
$rmAttrs -rf $outputDir
|