1 1.1 jwise #!/bin/sh 2 1.1 jwise # 3 1.1 jwise # Print out the files in some or all lists. 4 1.4 dyoung # Usage: makeplist [-a arch] [-m machine] [-s setsdir] [-p prefix] setname pkgname 5 1.1 jwise # 6 1.1 jwise 7 1.1 jwise # set defaults 8 1.11 dyoung . ./sets.defaults 9 1.8 dyoung 10 1.8 dyoung . ./sets.subr 11 1.1 jwise setd=`dirname $0` 12 1.1 jwise prefix=/ 13 1.1 jwise 14 1.1 jwise usage() { 15 1.1 jwise exec 1>&2 16 1.1 jwise 17 1.1 jwise echo "Usage: $0 [-a arch] [-m machine] [-s setsdir] [-p prefix] setname pkgname" 18 1.8 dyoung echo " -a arch set arch (e.g, m68k, mips, powerpc) [$machine_arch]" 19 1.1 jwise echo " -m machine set machine (e.g, amiga, i386, macppc) [$machine]" 20 1.1 jwise echo " -s setsdir directory to find sets [$setd]" 21 1.5 dyoung echo " -p prefix prefix for created plist [$prefix]" 22 1.1 jwise echo " setname pkgname set and package to build plist for" 23 1.1 jwise 24 1.1 jwise exit 1 25 1.1 jwise } 26 1.1 jwise 27 1.1 jwise # handle args 28 1.1 jwise while : ; do 29 1.1 jwise case $1 in 30 1.1 jwise -a*) 31 1.8 dyoung machine_arch=$2; shift 32 1.1 jwise ;; 33 1.1 jwise -m*) 34 1.1 jwise machine=$2; shift 35 1.1 jwise ;; 36 1.1 jwise -s*) 37 1.1 jwise setd=$2; shift 38 1.1 jwise ;; 39 1.1 jwise -p*) 40 1.1 jwise prefix=$2; shift 41 1.1 jwise ;; 42 1.1 jwise -*) 43 1.1 jwise usage 44 1.1 jwise ;; 45 1.1 jwise *) 46 1.1 jwise break 47 1.1 jwise ;; 48 1.1 jwise esac 49 1.1 jwise shift 50 1.1 jwise done 51 1.1 jwise if [ -n "$1" ]; then 52 1.1 jwise setname="$1" 53 1.1 jwise else 54 1.1 jwise usage 55 1.1 jwise fi 56 1.1 jwise if [ -n "$2" ]; then 57 1.1 jwise pkgname=$2 58 1.1 jwise else 59 1.1 jwise usage 60 1.1 jwise fi 61 1.1 jwise 62 1.8 dyoung # Determine lib type. 63 1.8 dyoung if [ "$object_fmt" = "ELF" ]; then 64 1.8 dyoung shlib=elf 65 1.8 dyoung else 66 1.8 dyoung shlib=aout 67 1.8 dyoung fi 68 1.8 dyoung stlib=$shlib 69 1.1 jwise 70 1.8 dyoung # Turn off shlibs for some ports. 71 1.8 dyoung if [ "$machine_cpu" = "sh3" -o "$machine_arch" = "m68000" ]; then 72 1.8 dyoung shlib=no 73 1.8 dyoung fi 74 1.8 dyoung lkm=yes 75 1.8 dyoung # Turn off LKMs for some ports. 76 1.8 dyoung if [ "$machine" = "evbppc" ]; then 77 1.8 dyoung lkm=no 78 1.8 dyoung fi 79 1.7 agc 80 1.7 agc filename=/tmp/makeplist.$$ 81 1.7 agc ffilename=/tmp/makeplist.files.$$ 82 1.7 agc dfilename=/tmp/makeplist.dirs.$$ 83 1.7 agc 84 1.8 dyoung list_set_files $setname | \ 85 1.10 dyoung env PLISTPKG=$pkgname awk -- '/^#/ { next } $2 == ENVIRON["PLISTPKG"] {sub("^\\./", "", $1); print $1}' | sort -u > $filename 86 1.8 dyoung 87 1.8 dyoung SELECTDIRS="-maxdepth 0 -type d" 88 1.8 dyoung SELECTNONDIRS="-maxdepth 0 ! -type d" 89 1.8 dyoung 90 1.8 dyoung cd $prefix 91 1.8 dyoung # 92 1.8 dyoung # match the directories 93 1.8 dyoung # 94 1.8 dyoung xargs echo $SELECTDIRS < $filename | \ 95 1.8 dyoung while read ignore ignore ignore ignore args; do 96 1.8 dyoung [ -z "$args" ] && break 97 1.8 dyoung find $args $SELECTDIRS 98 1.8 dyoung done | awk '{ print "@dirrm " $1; }' > $dfilename 99 1.8 dyoung 100 1.8 dyoung # 101 1.8 dyoung # match the non-directories 102 1.8 dyoung # 103 1.8 dyoung xargs echo $SELECTNONDIRS < $filename | \ 104 1.8 dyoung while read ignore ignore ignore ignore ignore args; do 105 1.8 dyoung [ -z "$args" ] && break 106 1.8 dyoung find $args $SELECTNONDIRS 107 1.8 dyoung done > $ffilename 108 1.8 dyoung 109 1.8 dyoung cd - 110 1.7 agc 111 1.7 agc echo "@cwd $prefix" 112 1.7 agc if [ -s $ffilename ]; then 113 1.7 agc cat $ffilename 114 1.1 jwise fi 115 1.7 agc if [ -s $dfilename ]; then 116 1.7 agc sort -r $dfilename 117 1.7 agc fi 118 1.7 agc 119 1.7 agc rm -f $filename $ffilename $dfilename 120 1.7 agc 121 1.7 agc exit 0 122 1.1 jwise 123