listpkgs revision 1.5
1#!/bin/sh
2#
3# $NetBSD: listpkgs,v 1.5 2003/06/23 09:20:55 dyoung Exp $
4#
5# List all packages in the given pkgset by parsing the list files.
6#
7
8# set defaults
9MAKE="${MAKE:-make} -j 1"
10machine=${MACHINE:-`printf 'xxx:\n\techo ${MACHINE}' | ${MAKE} -s -f-`}
11arch=${MACHINE_ARCH:-`printf 'xxx:\n\techo ${MACHINE_ARCH}' | ${MAKE} -s -f-`}
12setd=`dirname $0`
13prefix=/
14
15. ./sets.subr
16
17usage() {
18exec 1>&2
19
20echo "Usage: $0 [-a arch] [-m machine] [-s setsdir] [-p prefix] setname"
21echo "	-a arch		set arch (e.g, m68k, mips, powerpc)	[$arch]"
22echo "	-m machine	set machine (e.g, amiga, i386, macppc)	[$machine]"
23echo "	-s setsdir	directory to find sets			[$setd]"
24echo "	setname set to list packages for"
25
26exit 1
27}
28
29# handle args
30while : ; do
31	case $1 in
32	-a*)
33		arch=$2; shift
34		;;
35	-m*)
36		machine=$2; shift
37		;;
38	-s*)
39		setd=$2; shift
40		;;
41	-*)
42		usage
43		exit 1
44		;;
45	*)
46		break
47		;;
48	esac
49	shift
50done
51if [ -n "$1" ]; then
52	setname="$1"
53else
54	usage
55	exit 1
56fi
57
58# Convert mipse[lb] to mips after processing command line arguments.
59arch=`echo $arch | sed s,^mipse.,mips, | sed s,^sh3e.,sh3,`
60
61# Compute toolchain  used on target cpu.
62if [ "$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
63	shlib=elf
64else
65	if [ "$arch" = "sh3" ]; then
66		shlib=
67	else
68		shlib=aout
69	fi
70fi
71
72list_set_files $setname | awk -- '/^[^#]/ {print $2}' | sort -u
73