haiku/build/scripts/build_tgz_archive
Matt Madia b745c2a919 Explicitly tell tar to use the ustar format when creating the tgz archive. This
resolves the issue of FreeBSD 8.0 of creating ISOs that will not boot. ISO
creation was also tested with FreeBSD 7.2 and Haiku r35767 gcc2hybrid.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35783 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-08 02:16:05 +00:00

54 lines
861 B
Bash
Executable File

#!/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
#
. $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
$rm -rf $outputDir
$mkdir $outputDir
# populate output dir
echo "Preparing contents of archive $archive ..."
while [ $# -gt 0 ]; do
. $1
shift
done
# build the archive
echo "Building archive $archive ..."
$rm -f $archive
contents=$(cd $outputDir; ls)
tar -C $outputDir --format ustar -czf $archive $contents || exit 1
# clean up
$rm -rf $outputDir