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