aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilly Tarreau <willy@wtap.(none)>2006-07-17 20:02:53 +0200
committerWilly Tarreau <willy@wtap.(none)>2006-07-26 11:56:43 +0200
commit50cb006306b8c0af9755645aee3288dffd95e36f (patch)
tree32b782b6d29c5375e5a321197cb48c3509058821
parent[CLEANUP] added .flxpkg/Version and removed binary files (diff)
downloadflxutils-50cb006306b8c0af9755645aee3288dffd95e36f.tar.xz
* flxextract-0.0.4 : fixed a few problems and now informs about missing files and packages
-rwxr-xr-xscripts/flxextract17
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
}