listpkgs revision 1.5
11.1Sjwise#!/bin/sh
21.1Sjwise#
31.5Sdyoung# $NetBSD: listpkgs,v 1.5 2003/06/23 09:20:55 dyoung Exp $
41.2Slukem#
51.2Slukem# List all packages in the given pkgset by parsing the list files.
61.1Sjwise#
71.1Sjwise
81.1Sjwise# set defaults
91.4SlukemMAKE="${MAKE:-make} -j 1"
101.4Slukemmachine=${MACHINE:-`printf 'xxx:\n\techo ${MACHINE}' | ${MAKE} -s -f-`}
111.4Slukemarch=${MACHINE_ARCH:-`printf 'xxx:\n\techo ${MACHINE_ARCH}' | ${MAKE} -s -f-`}
121.1Sjwisesetd=`dirname $0`
131.1Sjwiseprefix=/
141.1Sjwise
151.5Sdyoung. ./sets.subr
161.5Sdyoung
171.1Sjwiseusage() {
181.1Sjwiseexec 1>&2
191.1Sjwise
201.1Sjwiseecho "Usage: $0 [-a arch] [-m machine] [-s setsdir] [-p prefix] setname"
211.1Sjwiseecho "	-a arch		set arch (e.g, m68k, mips, powerpc)	[$arch]"
221.1Sjwiseecho "	-m machine	set machine (e.g, amiga, i386, macppc)	[$machine]"
231.1Sjwiseecho "	-s setsdir	directory to find sets			[$setd]"
241.1Sjwiseecho "	setname set to list packages for"
251.1Sjwise
261.1Sjwiseexit 1
271.1Sjwise}
281.1Sjwise
291.1Sjwise# handle args
301.1Sjwisewhile : ; do
311.1Sjwise	case $1 in
321.1Sjwise	-a*)
331.1Sjwise		arch=$2; shift
341.1Sjwise		;;
351.1Sjwise	-m*)
361.1Sjwise		machine=$2; shift
371.1Sjwise		;;
381.1Sjwise	-s*)
391.1Sjwise		setd=$2; shift
401.1Sjwise		;;
411.1Sjwise	-*)
421.1Sjwise		usage
431.1Sjwise		exit 1
441.1Sjwise		;;
451.1Sjwise	*)
461.1Sjwise		break
471.1Sjwise		;;
481.1Sjwise	esac
491.1Sjwise	shift
501.1Sjwisedone
511.1Sjwiseif [ -n "$1" ]; then
521.1Sjwise	setname="$1"
531.1Sjwiseelse
541.1Sjwise	usage
551.1Sjwise	exit 1
561.1Sjwisefi
571.1Sjwise
581.1Sjwise# Convert mipse[lb] to mips after processing command line arguments.
591.1Sjwisearch=`echo $arch | sed s,^mipse.,mips, | sed s,^sh3e.,sh3,`
601.1Sjwise
611.1Sjwise# Compute toolchain  used on target cpu.
621.3Sbjh21if [ "$arch" = "mips" -o "$machine" = "alpha" -o "$arch" = "powerpc" -o "$arch" = "sparc" -o "$arch" = "sparc64" -o "$arch" = "i386" -o "$arch" = "arm" -o "$machine" = "mvme68k" -o "$machine" = "hp300" ]; then
631.1Sjwise	shlib=elf
641.1Sjwiseelse
651.1Sjwise	if [ "$arch" = "sh3" ]; then
661.1Sjwise		shlib=
671.1Sjwise	else
681.1Sjwise		shlib=aout
691.1Sjwise	fi
701.1Sjwisefi
711.1Sjwise
721.5Sdyounglist_set_files $setname | awk -- '/^[^#]/ {print $2}' | sort -u
73