diff options
author | Willy Tarreau <willy@wtap.(none)> | 2006-07-17 20:02:53 +0200 |
---|---|---|
committer | Willy Tarreau <willy@wtap.(none)> | 2006-07-26 11:56:43 +0200 |
commit | 50cb006306b8c0af9755645aee3288dffd95e36f (patch) | |
tree | 32b782b6d29c5375e5a321197cb48c3509058821 | |
parent | [CLEANUP] added .flxpkg/Version and removed binary files (diff) | |
download | flxutils-50cb006306b8c0af9755645aee3288dffd95e36f.tar.xz |
* flxextract-0.0.4 : fixed a few problems and now informs about missing files and packages
-rwxr-xr-x | scripts/flxextract | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/scripts/flxextract b/scripts/flxextract index 7077fa2..336683a 100755 --- a/scripts/flxextract +++ b/scripts/flxextract @@ -1,6 +1,6 @@ #!/bin/bash # -# flxextract - package extracter - version 0.0.3 - 2005-10-31 +# flxextract - package extracter - version 0.0.4 - 2006-07-17 # This file is part of the Formilux project : http://formilux.ant-computing.com/ # # Copyright (C) 2001-2003 Benoit Dolez & Willy Tarreau @@ -15,7 +15,11 @@ function main { # le fichier si cela est possible while read file packages; do echo -n \# >&2 - if [ -z "$packages" ] ; then echo "##no package## $file" >> $LOGFILE ; continue ; fi + if [ -z "$packages" ] ; then + echo -n "P" >&2 + echo "##no package## $file" >> $LOGFILE + continue + fi for pack in ${packages//,/ }; do pkgsrc=$(find $SEARCHPATH -name ${pack}'*'.lst | head -1) @@ -23,12 +27,14 @@ function main { done if [ -z "$pkgsrc" ]; then + echo -n "P" >&2 echo "##no package## $file $packages" >> $LOGFILE continue fi - set -- $(awk "/$file/ { if (\$8==\"$file\") print \$0; }" $pkgsrc) + set -- $(awk "/${file##*/}/ { if (\$8==\"$file\") print \$0; }" $pkgsrc) if [ -z "$*" ]; then + echo -n "F" >&2 echo "##not found## $file $pkgsrc" >> $LOGFILE continue fi @@ -48,9 +54,10 @@ function main { echo >&2 ; echo -n "Extracting files ..." >&2 for lst in $( awk '{print $2}' $SFILES | sort -u ) ; do - awk "/ $lst\$/ {print \$1}" $SFILES | tar zUxpvf ${lst%.lst}.tgz -C $ROOTDIR -T - >> $LOGFILE - echo -n "." >&2 + awk "/${lst##*/}\$/ { if (\$2 == \"$lst\") print \$1}" $SFILES | tee -a $LOGFILE | tar zUxpf ${lst%.lst}.tgz -C $ROOTDIR -T - >>$LOGFILE.err 2>&1 + ( [ $? -eq 0 ] && echo -n "." || echo -n "!" ) >&2 done + [ -s "$LOGFILE.err" ] || rm -f "$LOGFILE.err" echo "." >&2 } |