listpkgs revision 1.11
11.1Sjwise#!/bin/sh
21.1Sjwise#
31.11Sapb# $NetBSD: listpkgs,v 1.11 2006/01/03 18:31:09 apb Exp $
41.2Slukem#
51.2Slukem# List all packages in the given pkgset by parsing the list files.
61.1Sjwise#
71.1Sjwise
81.11Sapbrundir="$(dirname "$0")" # ${0%/*} isn't good enough when there's no "/"
91.9Serh. ${rundir}/sets.subr
101.6Sdyoung
111.1Sjwiseprefix=/
121.1Sjwise
131.7Slukemusage()
141.7Slukem{
151.7Slukem	cat 1>&2 <<USAGE
161.7SlukemUsage: ${0##*/} [-a arch] [-m machine] [-s setsdir] [-p prefix] setname
171.11Sapb	-a arch		set arch (e.g, m68k, mips, powerpc)	[${MACHINE_ARCH}]
181.11Sapb	-m machine	set machine (e.g, amiga, i386, macppc)	[${MACHINE}]
191.11Sapb	-s setsdir	directory to find sets			[${setsdir}]
201.7Slukem	setname set to list packages for
211.7SlukemUSAGE
221.7Slukem	exit 1
231.1Sjwise}
241.1Sjwise
251.1Sjwise# handle args
261.7Slukemwhile getopts a:m:s: ch; do
271.7Slukem	case ${ch} in
281.7Slukem	a)
291.11Sapb		MACHINE_ARCH="${OPTARG}"
301.11Sapb		MACHINE_CPU="$(arch_to_cpu "${OPTARG}")"
311.1Sjwise		;;
321.7Slukem	m)
331.11Sapb		MACHINE="${OPTARG}"
341.1Sjwise		;;
351.7Slukem	s)
361.11Sapb		setsdir="${OPTARG}"
371.1Sjwise		;;
381.7Slukem	*)
391.1Sjwise		usage
401.1Sjwise		;;
411.1Sjwise	esac
421.1Sjwisedone
431.7Slukemshift $((${OPTIND} - 1))
441.7Slukemif [ $# -ne 1 ]; then
451.1Sjwise	usage
461.1Sjwisefi
471.7Slukemsetname="$1"
481.1Sjwise
491.11Sapblist_set_files "${setname}" | ${AWK} '{print $2}' | ${SORT} -u
50