tazpkg rev 377
remove grep errors for /usr/bin/[*
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Mon Nov 15 17:18:55 2010 +0100 (2010-11-15) |
parents | 4b7a9e14ae7a |
children | 41af35260bfe |
files | tazpkg |
line diff
1.1 --- a/tazpkg Sat Nov 13 21:38:00 2010 +0000 1.2 +++ b/tazpkg Mon Nov 15 17:18:55 2010 +0100 1.3 @@ -394,6 +394,11 @@ 1.4 done 1.5 } 1.6 1.7 +grepesc() 1.8 +{ 1.9 + sed 's/\[/\\[/g' 1.10 +} 1.11 + 1.12 # This function installs a package in the rootfs. 1.13 install_package() 1.14 { 1.15 @@ -458,10 +463,10 @@ 1.16 # Get files to remove if upgrading 1.17 if [ -f $PACKAGE/files.list ]; then 1.18 while read file; do 1.19 - grep -q "^$file$" $TMP_DIR/files.list && continue 1.20 + grep -q "^$(echo $file | grepesc)$" $TMP_DIR/files.list && continue 1.21 for i in $(cat $PACKAGE/modifiers 2> /dev/null ; 1.22 grep -sl $PACKAGE */modifiers | cut -d/ -f1 ); do 1.23 - grep -qs "^$file$" $i/files.list && continue 2 1.24 + grep -qs "^$(echo $file | grepesc)$" $i/files.list && continue 2 1.25 done 1.26 echo $file 1.27 done < $PACKAGE/files.list > $TMP_DIR/files2remove.list 1.28 @@ -1818,7 +1823,7 @@ 1.29 do 1.30 for file in `cat $ROOT$INSTALLED/$PACKAGE/files.list` 1.31 do 1.32 - [ $(grep ^$file$ $ROOT$INSTALLED/$mod/files.list | wc -l) -gt 1 ] && continue 1.33 + [ $(grep "^$(echo $file | grepesc)$" $ROOT$INSTALLED/$mod/files.list | wc -l) -gt 1 ] && continue 1.34 remove_with_path $ROOT$file 1.35 done 1.36 done 1.37 @@ -2415,11 +2420,11 @@ 1.38 for file in $(cat */files.list); do 1.39 [ -d "$file" ] && continue 1.40 case "$FILES" in *\ $file\ *) continue;; esac 1.41 - [ $(grep "^$file$" */files.list 2> /dev/null | \ 1.42 + [ $(grep "^$(echo $file | grepesc)$" */files.list 2> /dev/null | \ 1.43 wc -l) -gt 1 ] || continue 1.44 FILES="$FILES$file " 1.45 echo "The following packages provide $file :" 1.46 - grep -l "^$file$" */files.list | while read f 1.47 + grep -l "^$(echo $file | grepesc)$" */files.list | while read f 1.48 do 1.49 pkg=${f%/files.list} 1.50 echo -n " $pkg" 1.51 @@ -2433,7 +2438,7 @@ 1.52 find /etc /bin /sbin /lib /usr /var/www \ 1.53 -not -type d 2> /dev/null | while read file; do 1.54 case "$file" in *\[*) continue;; esac 1.55 - grep -q "^$file$" */files.list && continue 1.56 + grep -q "^$(echo $file | grepesc)$" */files.list && continue 1.57 echo -e "$MSG $file" 1.58 MSG="" 1.59 done