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 8 rundir="$(dirname "$0")" # ${0%/*} isn't good enough when there's no "/" 9 . "${rundir}/sets.subr" 10 11 prefix=/ 12 13 usage() 14 { 15 cat 1>&2 <<USAGE 16 Usage: ${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 21 USAGE 22 exit 1 23 } 24 25 # handle args 26 while 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 42 done 43 shift $((${OPTIND} - 1)) 44 if [ $# -ne 1 ]; then 45 usage 46 fi 47 setname="$1" 48 49 list_set_files "${setname}" | ${AWK} '{print $2}' | ${SORT} -u 50