1#!/bin/sh
2#
3# $NetBSD: listpkgs,v 1.12 2006/01/04 13:35:55 apb Exp $
4#
5# List all packages in the given pkgset by parsing the list files.
6#
7
8rundir="$(dirname "$0")" # ${0%/*} isn't good enough when there's no "/"
9. "${rundir}/sets.subr"
10
11prefix=/
12
13usage()
14{
15	cat 1>&2 <<USAGE
16Usage: ${0##*/} [-a arch] [-m machine] [-s setsdir] [-p prefix] setname
17	-a arch		set arch (e.g, m68k, mips, powerpc)	[${MACHINE_ARCH}]
18	-m machine	set machine (e.g, amiga, i386, macppc)	[${MACHINE}]
19	-s setsdir	directory to find sets			[${setsdir}]
20	setname set to list packages for
21USAGE
22	exit 1
23}
24
25# handle args
26while getopts a:m:s: ch; do
27	case ${ch} in
28	a)
29		MACHINE_ARCH="${OPTARG}"
30		MACHINE_CPU="$(arch_to_cpu "${OPTARG}")"
31		;;
32	m)
33		MACHINE="${OPTARG}"
34		;;
35	s)
36		setsdir="${OPTARG}"
37		;;
38	*)
39		usage
40		;;
41	esac
42done
43shift $((${OPTIND} - 1))
44if [ $# -ne 1 ]; then
45	usage
46fi
47setname="$1"
48
49list_set_files "${setname}" | ${AWK} '{print $2}' | ${SORT} -u
50