1 1.3 mikel #! /bin/sh -- 2 1.3 mikel # 3 1.15 lukem # $NetBSD: checkflist,v 1.15 2002/07/09 16:08:38 lukem Exp $ 4 1.3 mikel # 5 1.3 mikel # Verify output of makeflist against contents of $DESTDIR. 6 1.1 cgd 7 1.15 lukem if [ -z "$DESTDIR" ]; then 8 1.15 lukem echo "DESTDIR must be set" 9 1.1 cgd exit 1 10 1.15 lukem fi 11 1.15 lukem 12 1.15 lukem prog=${0##*/} 13 1.1 cgd 14 1.9 ross origin=. 15 1.9 ross tmpname=/tmp/_CHECK.$$ 16 1.10 perry 17 1.10 perry xargs="" 18 1.10 perry dargs="" 19 1.12 abs diffargs="" 20 1.15 lukem findargs= 21 1.15 lukem metalog= 22 1.10 perry 23 1.10 perry # handle args 24 1.10 perry while : ; do 25 1.10 perry case $1 in 26 1.10 perry -x11) 27 1.10 perry xargs="-x" 28 1.10 perry origin=./usr/X11R6 29 1.10 perry ;; 30 1.10 perry -both) 31 1.10 perry xargs="-b" 32 1.10 perry ;; 33 1.12 abs -u) 34 1.12 abs diffargs="-u" 35 1.12 abs ;; 36 1.12 abs -c) 37 1.12 abs diffargs="-c" 38 1.12 abs ;; 39 1.15 lukem -M*) 40 1.15 lukem metalog=$2; shift 41 1.15 lukem ;; 42 1.10 perry -*) 43 1.10 perry cat 1>&2 <<USAGE 44 1.15 lukem Usage: ${prog} [-x11|-both] [-u|-c] [-M metalog] 45 1.10 perry -x11 check only x11 lists 46 1.10 perry -both check netbsd + x11 lists 47 1.12 abs -u output differences in "unified diff" style 48 1.12 abs -c output differences in "context diff" style 49 1.15 lukem -M metalog metalog file 50 1.10 perry USAGE 51 1.10 perry exit 1 52 1.10 perry ;; 53 1.10 perry *) 54 1.10 perry break 55 1.10 perry ;; 56 1.10 perry esac 57 1.10 perry shift 58 1.10 perry done 59 1.10 perry 60 1.15 lukem if [ -n "$metalog" ]; then 61 1.15 lukem case "$metalog" in 62 1.15 lukem ${DESTDIR}/*) 63 1.15 lukem findargs="! -path ./${metalog#${DESTDIR}/} -a" 64 1.15 lukem ;; 65 1.15 lukem esac 66 1.15 lukem fi 67 1.15 lukem 68 1.15 lukem 69 1.10 perry sh makeflist $xargs $dargs > $tmpname 70 1.10 perry 71 1.15 lukem ( 72 1.15 lukem cd $DESTDIR 73 1.15 lukem find $origin $findargs \( -type d -o -type f -o -type l \) 74 1.15 lukem ) | sort | diff $diffargs $tmpname - 75 1.15 lukem rv=$? 76 1.15 lukem 77 1.9 ross /bin/rm -f $tmpname 78 1.15 lukem 79 1.15 lukem if [ $rv -ne 0 ]; then 80 1.15 lukem echo "${prog}: flist inconsistencies found" 81 1.15 lukem if [ -z "$diffargs" ]; then 82 1.15 lukem echo "${prog}: key to output:" 83 1.15 lukem echo " < file in flist but missing from DESTDIR" 84 1.15 lukem echo " > file in DESTDIR but missing from flist" 85 1.15 lukem fi 86 1.15 lukem fi 87 1.15 lukem exit $rv 88