#!/bin/sh # # $NetBSD: listpkgs,v 1.4 2002/07/23 09:02:45 lukem Exp $ # # List all packages in the given pkgset by parsing the list files. # # set defaults MAKE="${MAKE:-make} -j 1" machine=${MACHINE:-`printf 'xxx:\n\techo ${MACHINE}' | ${MAKE} -s -f-`} arch=${MACHINE_ARCH:-`printf 'xxx:\n\techo ${MACHINE_ARCH}' | ${MAKE} -s -f-`} setd=`dirname $0` prefix=/ usage() { exec 1>&2 echo "Usage: $0 [-a arch] [-m machine] [-s setsdir] [-p prefix] setname" echo " -a arch set arch (e.g, m68k, mips, powerpc) [$arch]" echo " -m machine set machine (e.g, amiga, i386, macppc) [$machine]" echo " -s setsdir directory to find sets [$setd]" echo " setname set to list packages for" exit 1 } # handle args while : ; do case $1 in -a*) arch=$2; shift ;; -m*) machine=$2; shift ;; -s*) setd=$2; shift ;; -*) usage exit 1 ;; *) break ;; esac shift done if [ -n "$1" ]; then setname="$1" else usage exit 1 fi # Convert mipse[lb] to mips after processing command line arguments. arch=`echo $arch | sed s,^mipse.,mips, | sed s,^sh3e.,sh3,` # Compute toolchain used on target cpu. 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 shlib=elf else if [ "$arch" = "sh3" ]; then shlib= else shlib=aout fi fi ( cat $setd/lists/$setname/mi if [ "$machine" != "$cpu" -a -f $setd/lists/$setname/ad.${arch} ]; then cat $setd/lists/$setname/ad.${arch} fi if [ -f $setd/lists/$setname/md.${machine} ]; then cat $setd/lists/$setname/md.${machine} fi if [ "$shlib" != "" ]; then if [ -f $setd/lists/$setname/shl.mi ]; then cat $setd/lists/$setname/shl.mi fi if [ -f $setd/lists/$setname/shl.${shlib} ]; then cat $setd/lists/$setname/shl.${shlib} fi fi )| awk -- '/^[^#]/ {print $2}' | sort -u