37a2db8a6c
can be detected. This way sets stop building at the exact file that doesn't exist rather than continuing.
88 lines
1.7 KiB
Bash
Executable File
88 lines
1.7 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# $NetBSD: maketars,v 1.15 2001/01/22 07:03:44 jmc Exp $
|
|
#
|
|
# Make release tar files for some or all lists. Usage:
|
|
# maketars [-b] [-x] [-a arch] [-m machine] [-s setsdir] [-d destdir] \
|
|
# [-t tardir] [setname ...]
|
|
#
|
|
|
|
# set defaults
|
|
: ${MAKE=make}
|
|
machine=${MACHINE:-`printf 'xxx:\n\techo ${MACHINE}' | $MAKE -s -f-`}
|
|
arch=${MACHINE_ARCH:-`printf 'xxx:\n\techo ${MACHINE_ARCH}' | $MAKE -s -f-`}
|
|
setd=`pwd`
|
|
nlists="base comp etc games man misc text"
|
|
xlists="xbase xcomp xcontrib xfont xserver xmisc"
|
|
lists=$nlists
|
|
tars=$RELEASEDIR
|
|
dest=$DESTDIR
|
|
|
|
# handle args
|
|
while : ; do
|
|
case $1 in
|
|
-b*)
|
|
lists="$xlists $nlists"
|
|
;;
|
|
-x*)
|
|
lists=$xlists
|
|
;;
|
|
-a*)
|
|
arch=$2; shift
|
|
;;
|
|
-m*)
|
|
machine=$2; shift
|
|
;;
|
|
-s*)
|
|
setd=$2; shift
|
|
;;
|
|
-d*)
|
|
dest=$2; shift
|
|
;;
|
|
-t*)
|
|
tars=$2; shift
|
|
;;
|
|
-*)
|
|
cat 1>&2 <<USAGE
|
|
Usage: $0 [-b] [-x] [-a arch] [-m machine] [-s setsdir]
|
|
[-d dest] [-t tars] [setname ...]
|
|
-b make netbsd + x11 lists
|
|
-x only make x11 lists
|
|
-a arch set arch (e.g, m68k, mips, powerpc) [$arch]
|
|
-m machine set machine (e.g, amiga, i386, macppc) [$machine]
|
|
-s setsdir directory to find sets [$setd]
|
|
-d dest \$DESTDIR [$dest]
|
|
-t tars \$RELEASEDIR [$tars]
|
|
[setname ...] sets to build [$lists]
|
|
USAGE
|
|
exit 1
|
|
;;
|
|
*)
|
|
break
|
|
;;
|
|
esac
|
|
shift
|
|
done
|
|
if [ -n "$*" ]; then
|
|
lists="$*"
|
|
fi
|
|
|
|
if [ -z "$tars" ]; then
|
|
echo \$RELEASEDIR must be set
|
|
exit 1
|
|
fi
|
|
|
|
if [ -z "$dest" ]; then
|
|
echo \$DESTDIR must be set
|
|
exit 1
|
|
fi
|
|
|
|
trap 'rm -f ${dest}/tmp/flist' 0
|
|
set -e
|
|
for setname in $lists; do
|
|
out=$setname.tgz
|
|
echo "making $out"
|
|
sh $setd/makeflist -a $arch -m $machine -s $setd $setname > ${dest}/tmp/flist
|
|
(cd $dest ; pax -w -d -z < ${dest}/tmp/flist) > ${tars}/$out
|
|
done
|