NetBSD/distrib/sets/listpkgs
lukem b852db83fb Significant overhaul of how the sets are used:
* Add an optional third field to the sets file which is a list of
  comma separated keywords that control if the line is printed.
  Currently supported keywords
	kerberos4	${MKKERBEROS4} != no
	kerberos	${MKKERBEROS} != no
	lint		${MKLINT} != no
	obsolete	${obsolete} != 0.
			In this case, non obsolete files are not printed.
  (This will allow future support for builds with variables such as
  MKHESIOD and MKYP set to "no".)

* Use sh(1)'s getopts where appropriate, and otherwise cleanup the
  various scripts.

* Move defaults for sets.subr from sets.defaults into sets.subr.
  Move replicated code for determining stuff such as shlibs type
  from various scripts into sets.subr.

* Merge the obsolete.*, krb.*, krb4.* and lint.* into the appropriate
  main lists with the relevant third field keyword(s).
2003-12-29 03:13:25 +00:00

49 lines
830 B
Bash
Executable File

#!/bin/sh
#
# $NetBSD: listpkgs,v 1.7 2003/12/29 03:13:25 lukem Exp $
#
# List all packages in the given pkgset by parsing the list files.
#
. ./sets.subr
prefix=/
usage()
{
cat 1>&2 <<USAGE
Usage: ${0##*/} [-a arch] [-m machine] [-s setsdir] [-p prefix] setname
-a arch set arch (e.g, m68k, mips, powerpc) [$machine_arch]
-m machine set machine (e.g, amiga, i386, macppc) [$machine]
-s setsdir directory to find sets [$setsdir]
setname set to list packages for
USAGE
exit 1
}
# handle args
while getopts a:m:s: ch; do
case ${ch} in
a)
machine_arch=${OPTARG}
machine_cpu=$(arch_to_cpu ${OPTARG})
;;
m)
machine=${OPTARG}
;;
s)
setsdir=${OPTARG}
;;
*)
usage
;;
esac
done
shift $((${OPTIND} - 1))
if [ $# -ne 1 ]; then
usage
fi
setname="$1"
list_set_files $setname | awk '{print $2}' | sort -u