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
9 MAKE="${MAKE:-make} -j 1"
10 machine=${MACHINE:-`printf 'xxx:\n\techo ${MACHINE}' | ${MAKE} -s -f-`}
11 arch=${MACHINE_ARCH:-`printf 'xxx:\n\techo ${MACHINE_ARCH}' | ${MAKE} -s -f-`}
12 setd=`dirname $0`
13 prefix=/
14
15 . ./sets.subr
16
17 usage() {
18 exec 1>&2
19
20 echo "Usage: $0 [-a arch] [-m machine] [-s setsdir] [-p prefix] setname"
21 echo " -a arch set arch (e.g, m68k, mips, powerpc) [$arch]"
22 echo " -m machine set machine (e.g, amiga, i386, macppc) [$machine]"
23 echo " -s setsdir directory to find sets [$setd]"
24 echo " setname set to list packages for"
25
26 exit 1
27 }
28
29 # handle args
30 while : ; 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
50 done
51 if [ -n "$1" ]; then
52 setname="$1"
53 else
54 usage
55 exit 1
56 fi
57
58 # Convert mipse[lb] to mips after processing command line arguments.
59 arch=`echo $arch | sed s,^mipse.,mips, | sed s,^sh3e.,sh3,`
60
61 # Compute toolchain used on target cpu.
62 if [ "$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
64 else
65 if [ "$arch" = "sh3" ]; then
66 shlib=
67 else
68 shlib=aout
69 fi
70 fi
71
72 list_set_files $setname | awk -- '/^[^#]/ {print $2}' | sort -u
73