#!/bin/sh if [ $# -lt 2 ]; then echo "Usage: $0 ..." 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