- Timestamp:
- 04/09/2006 07:04:00 PM (18 years ago)
- Branches:
- experimental
- Children:
- a101844
- Parents:
- 2faca44
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
extras/farce
r2faca44 r89a2b70 1 1 #!/bin/bash 2 3 # Acknowledgment: 4 # The following code is a no-modified version (except for this comment 5 # and the inline_doc fragment) of an original work written by 6 # Ken Moffat and is included here with his permission. 7 # 2 8 3 9 # FARCE: Farce Assists Rebuild Comparison Evaluation ;) … … 14 20 # list of files, build a full desktop environment, and only then 15 21 # build and boot the "can it build itself" test system and get 16 # _its_ filelist. 22 # _its_ filelist. 17 23 # 18 24 # What this script aims to do: … … 35 41 # which are shared objects, are copied and subjected to 36 42 # --strip-debug. If files match at this stage, count them as 37 # 'accepted'. 43 # 'accepted'. 38 44 # 39 45 # As a last step for any file that doesn't match, copy it … … 71 77 # 72 78 # farce-identical - the names of the files which are identical 73 # 79 # 74 80 # farce-substitutions - whenever using tokenizeanddiff results in a 75 81 # difference being accepted, for both versions diff the before and … … 78 84 # version strings pass one of the regexps looking for a kernel version 79 85 # - since I expect you to use the same version of glibc for each 80 # build, this is not a problem. 86 # build, this is not a problem. 81 87 # 82 88 # farce-differ - the names of the files which could not be treated 83 89 # as matching (whether or not I regard the failure as predictable) 84 90 # for possible input to ICA processing. 85 # 91 # 86 92 # Copyright (C) 2005, 2006 Ken Moffat <ken@linuxfromscratch.org> 87 93 # … … 103 109 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 104 110 # 111 112 set -e 113 114 : <<inline_doc 115 desc: do farce analisys and report 116 usage: farce -directory $FARCELOGDIR/dir path1 list1 path2 list2 117 input vars: $1 farce log dir for this comparation 118 $2 full path to previous iteration 119 $2 full path to filelist for previos iteration 120 $3 full path to current iteration 121 $4 full path to filelist for current iteration 122 externals: -- 123 modifies: -- 124 returns: -- 125 on error: 126 on success: 127 inline_doc 128 105 129 106 130 VERSION="002" … … 204 228 true;; 205 229 /var/lib/locate/locatedb) 206 # if one system has had extra stuff built, this will likely be bigger 230 # if one system has had extra stuff built, this will likely be bigger 207 231 true;; 208 232 /var/lib/nfs/*) … … 250 274 emessage "internal error, expected difference for $1 of type $TYPE not allowed" 251 275 exit 2 252 ;; 276 ;; 253 277 esac 254 278 true … … 350 374 # NB if pathes are absolute, we need to prefix them 351 375 # with the original $PWD to access the .a files 352 # 376 # 353 377 function testar() { 354 378 # ar archives include timestamps for the members, … … 356 380 # put out a message to help locate which archive any messages 357 381 # about the members refer to. 358 382 359 383 # try just stripping them U1,2 undebuggable 360 384 U1=`mktemp` || fatal "cannot create a temporary file" … … 370 394 let ACCAR=$ACCAR+1 371 395 message "archive $3 matches after strip --strip-debug" 372 return 396 return 373 397 fi 374 398 # rest of this function retained primarily for pathologically bad builds … … 378 402 D2=`mktemp -d` || fatal "cannot create a temporary directory" 379 403 cd $D1 380 ar -x ${OP1}${1}${3} 404 ar -x ${OP1}${1}${3} 381 405 cd $D2 382 406 ar -x ${OP2}${2}${3} … … 551 575 tokenize $2 $F2 552 576 553 # actually, cmp is probably more efficient 577 # actually, cmp is probably more efficient 554 578 # but for picking up the pieces it will be better to 555 579 # use diff to see what got through. 556 580 cmp -s $F1 $F2 557 TOKENRESULT=$? 581 TOKENRESULT=$? 558 582 if [ $TOKENRESULT -ne 0 ]; then 559 583 echo "failure in $3..." >&6 … … 644 668 if ! [ $ARGS == valid ]; then 645 669 dohelp 646 fatal "`basename $0`: error in arguments" 670 fatal "`basename $0`: error in arguments" 647 671 fi 648 672
Note:
See TracChangeset
for help on using the changeset viewer.