f2cc32c633
after the first in each line of a set list are ignored. This introduces no change in current set list behavior, but will need to be revisited if we wish to distribute files with spaces in their names -- in this case we can move to tab separated fields or some other behavior. Current set lists work exactly as before, but in the future set lists may have additional fields for use in a system packaging script. I will post a detailed work plan for the system package system which uses this to tech-pkg and tech-install in the next day or so.
104 lines
2.4 KiB
Bash
Executable File
104 lines
2.4 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# $NetBSD: makeflist,v 1.20 2000/01/23 20:31:17 jwise Exp $
|
|
#
|
|
# Print out the files in some or all lists.
|
|
# Usage: makeflist [-b] [-x] [-a arch] [-m machine] [-s setsdir] [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"
|
|
lists=$nlists
|
|
|
|
# handle args
|
|
while : ; do
|
|
case $1 in
|
|
-d*)
|
|
nlists="$nlists secr"
|
|
lists=$nlists
|
|
;;
|
|
-i*)
|
|
nlists="$nlists cryptint"
|
|
lists=$nlists
|
|
;;
|
|
-b*)
|
|
lists="$xlists $nlists"
|
|
;;
|
|
-x*)
|
|
lists=$xlists
|
|
;;
|
|
-a*)
|
|
arch=$2; shift
|
|
;;
|
|
-m*)
|
|
machine=$2; shift
|
|
;;
|
|
-s*)
|
|
setd=$2; shift
|
|
;;
|
|
-*)
|
|
cat 1>&2 <<USAGE
|
|
Usage: $0 [-b] [-x] [-a arch] [-m machine] [-s setsdir] [setname ...]
|
|
-b make netbsd + x11 lists
|
|
-d do domestic ("secr") sets
|
|
-i do international crypto ("cryptint") sets
|
|
-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]
|
|
[setname ...] sets to build [$lists]
|
|
USAGE
|
|
exit 1
|
|
;;
|
|
*)
|
|
break
|
|
;;
|
|
esac
|
|
shift
|
|
done
|
|
if [ -n "$1" ]; then
|
|
lists="$@"
|
|
fi
|
|
|
|
# Convert mipse[lb] to mips after processing command line arguments.
|
|
arch=`echo $arch | sed s,^mipse.,mips,`
|
|
|
|
# Compute toolchain used on target cpu.
|
|
if [ "$arch" = "mips" -o "$machine" = "alpha" -o "$arch" = "powerpc" -o "$arch" = "sparc" -o "$arch" = "i386" ]; then
|
|
shlib=elf
|
|
else
|
|
shlib=aout
|
|
fi
|
|
|
|
for setname in $lists; do
|
|
awk -- '{print $1}' $setd/lists/$setname/mi
|
|
if [ "$machine" != "$cpu" -a -f $setd/lists/$setname/ad.${arch} ]; then
|
|
awk -- '{print $1}' $setd/lists/$setname/ad.${arch}
|
|
fi
|
|
if [ -f $setd/lists/$setname/md.${machine} ]; then
|
|
awk -- '{print $1}' $setd/lists/$setname/md.${machine}
|
|
fi
|
|
if [ "$shlib" != "" ]; then
|
|
if [ -f $setd/lists/$setname/shl.mi ]; then
|
|
awk -- '{print $1}' $setd/lists/$setname/shl.mi
|
|
fi
|
|
if [ -f $setd/lists/$setname/shl.${shlib} ]; then
|
|
awk -- '{print $1}' $setd/lists/$setname/shl.${shlib}
|
|
fi
|
|
fi
|
|
|
|
# Split man/md_share into: this machine, other machine
|
|
if [ $setname = man ]; then
|
|
grep ${machine} $setd/lists/man/md_share
|
|
fi
|
|
if [ $setname = misc ]; then
|
|
grep -v ${machine} $setd/lists/man/md_share
|
|
fi
|
|
|
|
done | egrep -v '^#' | sort -u
|