haiku/build/scripts/build_haiku_package

70 lines
1.1 KiB
Plaintext
Raw Normal View History

#!/bin/sh
set -o errexit
# The first argument is the shell script that initializes the variables:
# sourceDir
# outputDir
# tmpDir
# addBuildCompatibilityLibDir
# updateOnly
#
# addattr
# copyattr
# package
# rc
# rmAttrs
# unzip
#
if [ $# -le 1 ]; then
echo "$0: Missing parameters!" >&2
exit 1
fi
packagePath="$1"
packageInfoPath="$2"
shift 2
if [ $# -gt 0 ]; then
. $1
shift
fi
# this adds the build library dir to LD_LIBRARY_PATH
eval "$addBuildCompatibilityLibDir"
# make a clean contents dir
contentsDir="$tmpDir/contents"
$rmAttrs -rf "$contentsDir"
mkdir -p "$contentsDir"
# map the shell commands
sPrefix=
tPrefix="$contentsDir/"
cd=cd
scd=:
cp="$copyattr -d"
copyAttrs="$copyattr"
ln=ln
mkdir=mkdir
rm=$rmAttrs
mkindex=mkindex
# execute the scripts preparing the package contents
while [ $# -gt 0 ]; do
. $1
shift
done
# create the package
if [ ! $updateOnly ]; then
rm -f "$packagePath"
$package create -q -i "$packageInfoPath" -C "$contentsDir" "$packagePath"
else
$package add -q -f -i "$packageInfoPath" -C "$contentsDir" "$packagePath" .
fi