tazpkg rev 813

tazpkg, tazpkg-convert: few more quoting to allow spaces in the path
author Aleksej Bobylev <al.bobylev@gmail.com>
date Fri Jun 05 00:37:48 2015 +0300 (2015-06-05)
parents a41fb2cbc248
children 92ae73ca4a4a
files modules/tazpkg-convert tazpkg
line diff
     1.1 --- a/modules/tazpkg-convert	Thu Jun 04 17:15:40 2015 +0300
     1.2 +++ b/modules/tazpkg-convert	Fri Jun 05 00:37:48 2015 +0300
     1.3 @@ -23,13 +23,12 @@
     1.4  [ -n "$TARGET_DIR" -a -s "$TARGET_DIR/files.list.lzma" ] && TMPLOCALSTATE="$TARGET_DIR"
     1.5  
     1.6  
     1.7 -show_unresolved_lib()
     1.8 -{
     1.9 -	if [ -s $TMP_DIR/unresolved ]; then
    1.10 +show_unresolved_lib() {
    1.11 +	if [ -s "$TMP_DIR/unresolved" ]; then
    1.12  		echo -e "BUGS=\"$(_n 'No dependency for:')" >> $1
    1.13  		sort < $TMP_DIR/unresolved | uniq | \
    1.14  		while read file; do
    1.15 -			_ 'WARNING: unknown dependency for %s' $lib
    1.16 +			_ 'WARNING: unknown dependency for %s' "$lib"
    1.17  			echo -n " $file" >> $1
    1.18  		done
    1.19  		echo "\"" >> $1
    1.20 @@ -39,23 +38,22 @@
    1.21  
    1.22  # convert a .tar.bz2 package to .tazpkg
    1.23  
    1.24 -convert_upkg()
    1.25 -{
    1.26 +convert_upkg() {
    1.27  	mkdir -p $TMP_DIR/fs
    1.28 -	tar xjf $PACKAGE_FILE -C $TMP_DIR/fs
    1.29 -	if [ -d $TMP_DIR/fs/var/lib/upkg/packages ]; then
    1.30 +	tar -xjf "$PACKAGE_FILE" -C $TMP_DIR/fs
    1.31 +	if [ -d "$TMP_DIR/fs/var/lib/upkg/packages" ]; then
    1.32  		cd $TMP_DIR
    1.33  		package="$(sed '/^Package:/!d;s/.*: //' fs/var/lib/upkg/packages/*.info)"
    1.34  		version="$(sed '/^Version:/!d;s/.*: //' fs/var/lib/upkg/packages/*.info)"
    1.35 -		url="http://www.paldo.org/"
    1.36 -		file=$package-$version
    1.37 +		url='http://www.paldo.org/'
    1.38 +		file="$package-$version"
    1.39  		mkdir $file
    1.40  		mv fs $file
    1.41 -		maintainer=nobody@slitaz.org
    1.42 +		maintainer='nobody@slitaz.org'
    1.43  		descrip="$package package from paldo."
    1.44  		cat > $file/receipt <<EOT
    1.45  # SliTaz package receipt.
    1.46 -# generated by tazpkg from package $(basename $PACKAGE_FILE)
    1.47 +# generated by tazpkg from package $(basename "$PACKAGE_FILE")
    1.48  PACKAGE="$package"
    1.49  VERSION="$version"
    1.50  CATEGORY="misc"
    1.51 @@ -64,12 +62,12 @@
    1.52  MAINTAINER="$maintainer"
    1.53  DEPENDS="$(find_depends)"
    1.54  EOT
    1.55 -		[ -s $file/var/lib/upkg/files/*.config.bz2 ] &&
    1.56 +		[ -s "$file/var/lib/upkg/files/*.config.bz2" ] &&
    1.57  			cat >> $file/receipt <<EOT
    1.58  CONFIG_FILES="$(bzcat $file/var/lib/upkg/files/*.config.bz2)"
    1.59  EOT
    1.60  		while read ext func ; do
    1.61 -			[ -s $file/fs/var/lib/upkg/scripts/*.$ext ] || continue
    1.62 +			[ -s "$file/fs/var/lib/upkg/scripts/*.$ext" ] || continue
    1.63  			cat >> $file/receipt <<EOT
    1.64  
    1.65  $func()
    1.66 @@ -84,7 +82,7 @@
    1.67  		tazpkg pack $file
    1.68  		mv $TMP_DIR/$file.tazpkg $TOP_DIR
    1.69  	else
    1.70 -		_ 'File "%s" does not look like %s package!' $PACKAGE_FILE 'upkg'
    1.71 +		_ 'File "%s" does not look like %s package!' "$PACKAGE_FILE" 'upkg'
    1.72  	fi
    1.73  	cd $TOP_DIR
    1.74  	rm -rf $TMP_DIR
    1.75 @@ -93,22 +91,21 @@
    1.76  
    1.77  # convert a .spack package to .tazpkg
    1.78  
    1.79 -convert_spack()
    1.80 -{
    1.81 +convert_spack() {
    1.82  	mkdir -p $TMP_DIR
    1.83 -	( cd $TMP_DIR ; cpio -i ) < $PACKAGE_FILE
    1.84 +	( cd $TMP_DIR ; cpio -i ) < "$PACKAGE_FILE"
    1.85  	cd $TMP_DIR
    1.86  	package="$(sed '$!d;s/:.*//' about.txt)"
    1.87 -	version="$(basename $PACKAGE_FILE | sed "s/$package-\([^-]*\).*/\1/")"
    1.88 +	version="$(basename "$PACKAGE_FILE" | sed "s/$package-\([^-]*\).*/\1/")"
    1.89  	descrip="$(sed '$!d;s/.*: //' about.txt)"
    1.90 -	url="http://0linux.org/"
    1.91 -	maintainer=nobody@slitaz.org
    1.92 -	file=$package-$version
    1.93 +	url='http://0linux.org/'
    1.94 +	maintainer='nobody@slitaz.org'
    1.95 +	file="$package-$version"
    1.96  	mkdir -p $file/fs
    1.97  	xzcat files.xz | ( cd $file/fs ; cpio -idmu )
    1.98  	cat > $file/receipt <<EOT
    1.99  # SliTaz package receipt.
   1.100 -# generated by tazpkg from package $(basename $PACKAGE_FILE)
   1.101 +# generated by tazpkg from package $(basename "$PACKAGE_FILE")
   1.102  PACKAGE="$package"
   1.103  VERSION="$version"
   1.104  CATEGORY="misc"
   1.105 @@ -117,7 +114,7 @@
   1.106  MAINTAINER="$maintainer"
   1.107  DEPENDS="$(find_depends)"
   1.108  EOT
   1.109 -	[ -s pre-install.sh ] && cat >> $file/receipt <<EOT
   1.110 +	[ -s 'pre-install.sh' ] && cat >> $file/receipt <<EOT
   1.111  
   1.112  pre_install()
   1.113  {
   1.114 @@ -125,7 +122,7 @@
   1.115  $(sed 1d pre-install.sh)
   1.116  }
   1.117  EOT
   1.118 -	[ -s post-install.sh ] && cat >> $file/receipt <<EOT
   1.119 +	[ -s 'post-install.sh' ] && cat >> $file/receipt <<EOT
   1.120  
   1.121  post_install()
   1.122  {
   1.123 @@ -142,26 +139,25 @@
   1.124  
   1.125  # convert a .ipk package to .tazpkg
   1.126  
   1.127 -convert_ipk()
   1.128 -{
   1.129 +convert_ipk() {
   1.130  	mkdir -p $TMP_DIR
   1.131 -	tar xOzf $PACKAGE_FILE ./control.tar.gz | tar xzf - -C $TMP_DIR
   1.132 +	tar -xOzf "$PACKAGE_FILE" ./control.tar.gz | tar -xzf - -C $TMP_DIR
   1.133  	package=$(sed '/^Package/!d;s/.*: //' $TMP_DIR/control)
   1.134  	version=$(sed '/^Version/!d;s/.*: //' $TMP_DIR/control)
   1.135  	maintainer="$(sed '/^Maintainer/!d;s/.*: //' $TMP_DIR/control)"
   1.136  	target="$(sed '/^Architecture/!d;s/.*: //' $TMP_DIR/control)"
   1.137  	descrip=$(sed '/^Description/!d;s/.*: //' $TMP_DIR/control)
   1.138  	homepage=$(sed '/^Homepage/!d;s/.*: //' $TMP_DIR/control)
   1.139 -	url="http://openwrt.org/"
   1.140 +	url='http://openwrt.org/'
   1.141  	case "$target" in
   1.142  	i386|all)
   1.143 -		file=$package-$version
   1.144 +		file="$package-$version"
   1.145  		mkdir -p $TMP_DIR/$file/fs
   1.146 -		tar xOzf $PACKAGE_FILE ./data.tar.gz | tar xzf - -C $TMP_DIR/$file/fs
   1.147 +		tar -xOzf "$PACKAGE_FILE" ./data.tar.gz | tar -xzf - -C $TMP_DIR/$file/fs
   1.148  		cd $TMP_DIR
   1.149  		cat > $file/receipt <<EOT
   1.150  # SliTaz package receipt.
   1.151 -# generated by tazpkg from package $(basename $PACKAGE_FILE)
   1.152 +# generated by tazpkg from package $(basename "$PACKAGE_FILE")
   1.153  PACKAGE="$package"
   1.154  VERSION="$version"
   1.155  CATEGORY="misc"
   1.156 @@ -171,12 +167,12 @@
   1.157  DEPENDS="$(find_depends)"
   1.158  EOT
   1.159  		show_unresolved_lib $file/receipt
   1.160 -		[ -s conffiles ] && cat >> $file/receipt <<EOT
   1.161 +		[ -s 'conffiles' ] && cat >> $file/receipt <<EOT
   1.162  CONFIG_FILES="$(cat conffiles)"
   1.163  EOT
   1.164  		show_unresolved_lib $file/receipt
   1.165  		while read script func; do
   1.166 -			[ -s $script ] && cat >> $file/receipt <<EOT
   1.167 +			[ -s "$script" ] && cat >> $file/receipt <<EOT
   1.168  
   1.169  $func()
   1.170  {
   1.171 @@ -202,28 +198,28 @@
   1.172  		mv $TMP_DIR/$file.tazpkg .
   1.173  		;;
   1.174  	*)
   1.175 -		_ 'Invalid target: %s (expected i386)' $target
   1.176 +		_ 'Invalid target: %s (expected i386)' "$target"
   1.177  		;;
   1.178  	esac
   1.179  	rm -rf $TMP_DIR
   1.180  }
   1.181  
   1.182 +
   1.183  # convert a .cards.tar.xz package to .tazpkg
   1.184  
   1.185 -convert_nutyx()
   1.186 -{
   1.187 +convert_nutyx() {
   1.188  	mkdir -p $TMP_DIR/fs
   1.189 -	busybox tar xf $PACKAGE_FILE -C $TMP_DIR/fs
   1.190 -	if [ -f $TMP_DIR/fs/.META ]; then
   1.191 +	busybox tar -xf "$PACKAGE_FILE" -C $TMP_DIR/fs
   1.192 +	if [ -f "$TMP_DIR/fs/.META" ]; then
   1.193  		package="$(sed '/^N/!d;s/^.//' fs/.META)"
   1.194  		version="$(sed '/^V/!d;s/^.//' fs/.META)"
   1.195  		descrip="$(sed '/^D/!d;s/^.//' fs/.META)"
   1.196 -		file=$package-$version
   1.197 +		file="$package-$version"
   1.198  		mkdir $file
   1.199  		mv fs $file
   1.200  		cat > $file/receipt <<EOT
   1.201  # SliTaz package receipt.
   1.202 -# generated by tazpkg from NuTyX package $(basename $PACKAGE_FILE)
   1.203 +# generated by tazpkg from NuTyX package $(basename "$PACKAGE_FILE")
   1.204  PACKAGE="$package"
   1.205  VERSION="$version"
   1.206  CATEGORY="misc"
   1.207 @@ -237,31 +233,31 @@
   1.208  		tazpkg pack $file
   1.209  		mv $file.tazpkg $TOP_DIR
   1.210  	else
   1.211 -		_ 'File "%s" does not look like %s package!' $PACKAGE_FILE 'NuTyX'
   1.212 +		_ 'File "%s" does not look like %s package!' "$PACKAGE_FILE" 'NuTyX'
   1.213  	fi
   1.214  	cd $TOP_DIR
   1.215  	rm -rf $TMP_DIR
   1.216  }
   1.217  
   1.218 +
   1.219  # convert a .pkg.tar.gz/.pkg.tar.xz/.apk package to .tazpkg
   1.220  
   1.221 -convert_arch()
   1.222 -{
   1.223 +convert_arch() {
   1.224  	mkdir -p $TMP_DIR/fs
   1.225 -	busybox tar xf $PACKAGE_FILE -C $TMP_DIR/fs
   1.226 -	if [ -f $TMP_DIR/fs/.PKGINFO ]; then
   1.227 +	busybox tar -xf "$PACKAGE_FILE" -C $TMP_DIR/fs
   1.228 +	if [ -f "$TMP_DIR/fs/.PKGINFO" ]; then
   1.229  		cd $TMP_DIR
   1.230  		package="$(sed '/^pkgname/!d;s/.*= //' fs/.PKGINFO)"
   1.231  		version="$(sed '/^pkgver/!d;s/.*= //'  fs/.PKGINFO)"
   1.232  		descrip="$(sed '/^pkgdesc/!d;s/.*= //' fs/.PKGINFO)"
   1.233  		url="$(sed '/^url/!d;s/.*= //' fs/.PKGINFO)"
   1.234  		maintainer="$(sed '/^packager/!d;s/.*= //' fs/.PKGINFO)"
   1.235 -		file=$package-$version
   1.236 +		file="$package-$version"
   1.237  		mkdir $file
   1.238  		mv fs $file
   1.239  		cat > $file/receipt <<EOT
   1.240  # SliTaz package receipt.
   1.241 -# generated by tazpkg from Archlinux package $(basename $PACKAGE_FILE)
   1.242 +# generated by tazpkg from Archlinux package $(basename "$PACKAGE_FILE")
   1.243  PACKAGE="$package"
   1.244  VERSION="$version"
   1.245  CATEGORY="misc"
   1.246 @@ -275,7 +271,7 @@
   1.247  		tazpkg pack $file
   1.248  		mv $file.tazpkg $TOP_DIR
   1.249  	else
   1.250 -		_ 'File "%s" does not look like %s package!' $PACKAGE_FILE 'Archlinux/Alpine'
   1.251 +		_ 'File "%s" does not look like %s package!' "$PACKAGE_FILE" 'Archlinux/Alpine'
   1.252  	fi
   1.253  	cd $TOP_DIR
   1.254  	rm -rf $TMP_DIR
   1.255 @@ -284,14 +280,13 @@
   1.256  
   1.257  # get package and version from PACKAGE_FILE
   1.258  
   1.259 -parse_pkgname()
   1.260 -{
   1.261 -	package=$(basename ${2:-$PACKAGE_FILE} $1)
   1.262 +parse_pkgname() {
   1.263 +	package=$(basename "${2:-$PACKAGE_FILE}" "$1")
   1.264  	IFS='-'
   1.265  	set -- $package
   1.266  	unset IFS
   1.267 -	package=$1
   1.268 -	version=$2
   1.269 +	package="$1"
   1.270 +	version="$2"
   1.271  	if [ -z "$version" ]; then
   1.272  		package=${1%%[0-9\.]*}
   1.273  		version=${1#$package}
   1.274 @@ -301,13 +296,12 @@
   1.275  }
   1.276  
   1.277  
   1.278 -finish_convert_puppy()
   1.279 -{
   1.280 +finish_convert_puppy() {
   1.281  	rm -f fs/*.specs
   1.282  	mv fs $file
   1.283  	cat > $file/receipt <<EOT
   1.284  # SliTaz package receipt.
   1.285 -# generated by tazpkg from puppy package $(basename $PACKAGE_FILE)
   1.286 +# generated by tazpkg from puppy package $(basename "$PACKAGE_FILE")
   1.287  PACKAGE="$package"
   1.288  VERSION="$version"
   1.289  CATEGORY="misc"
   1.290 @@ -318,7 +312,7 @@
   1.291  EOT
   1.292  	show_unresolved_lib $file/receipt
   1.293  	for i in install uninstall ; do
   1.294 -		[ -f $file/fs/p$i.sh ] && cat >> $file/receipt <<EOM
   1.295 +		[ -f "$file/fs/p$i.sh" ] && cat >> $file/receipt <<EOM
   1.296  
   1.297  post_$i()
   1.298  {
   1.299 @@ -341,15 +335,15 @@
   1.300  
   1.301  convert_sfs()
   1.302  {
   1.303 -	[ -n "$(which unsquashfs)" ] || tazpkg get-install squashfs 
   1.304 -	if ! unsquashfs -l $PACKAGE_FILE | grep -q squashfs-root/pet.specs$ ; then
   1.305 -		_ 'File "%s" does not look like %s package!' $PACKAGE_FILE 'Puppy'
   1.306 +	[ -n "$(which unsquashfs)" ] || tazpkg get-install squashfs
   1.307 +	if ! unsquashfs -l "$PACKAGE_FILE" | grep -q squashfs-root/pet.specs$ ; then
   1.308 +		_ 'File "%s" does not look like %s package!' "$PACKAGE_FILE" 'Puppy'
   1.309  		return 1
   1.310  	fi
   1.311  	mkdir -p $TMP_DIR 
   1.312  	cd $TMP_DIR
   1.313  	parse_pkgname .sfs
   1.314 -	unsquashfs $PACKAGE_FILE
   1.315 +	unsquashfs "$PACKAGE_FILE"
   1.316  	mv squashfs-root fs
   1.317  	set -- $(cat fs/pet.specs)
   1.318  	desc="$10"
   1.319 @@ -359,12 +353,11 @@
   1.320  
   1.321  # convert a .pet package to .tazpkg
   1.322  
   1.323 -convert_pet()
   1.324 -{
   1.325 -	mkdir -p $TMP_DIR 
   1.326 +convert_pet() {
   1.327 +	mkdir -p $TMP_DIR
   1.328  	cd $TMP_DIR
   1.329  	parse_pkgname .pet
   1.330 -	tar xzf $PACKAGE_FILE 2> /dev/null
   1.331 +	tar -xzf "$PACKAGE_FILE" 2>/dev/null
   1.332  	. $package*/*.specs
   1.333  	desc="$PETMENUDESCR"
   1.334  	mv $package*/ fs
   1.335 @@ -374,16 +367,15 @@
   1.336  
   1.337  # convert a .sb package to .tazpkg
   1.338  
   1.339 -convert_sb()
   1.340 -{
   1.341 -	[ -n "$(which unsquashfs)" ] || tazpkg get-install squashfs 
   1.342 -	if ! unsquashfs -l $PACKAGE_FILE | grep -q squashfs-root/var/log/removed_scripts ; then
   1.343 -		_ 'File "%s" does not look like %s package!' $PACKAGE_FILE 'Slax'
   1.344 +convert_sb() {
   1.345 +	[ -n "$(which unsquashfs)" ] || tazpkg get-install squashfs
   1.346 +	if ! unsquashfs -l "$PACKAGE_FILE" | grep -q squashfs-root/var/log/removed_scripts ; then
   1.347 +		_ 'File "%s" does not look like %s package!' "$PACKAGE_FILE" 'Slax'
   1.348  		return 1
   1.349  	fi
   1.350 -	mkdir -p $TMP_DIR 
   1.351 +	mkdir -p $TMP_DIR
   1.352  	cd $TMP_DIR
   1.353 -	unsquashfs $PACKAGE_FILE
   1.354 +	unsquashfs "$PACKAGE_FILE"
   1.355  	mv squashfs-root fs
   1.356  	parse_pkgname '' $(cat fs/var/log/packages/* | sed '/PACKAGE NAME:/!d;s/.*: *//')
   1.357  	desc="$(cat fs/var/log/packages/* | sed '/^PACKAGE DESCRIPTION:/,$!d;N;s/.*: //;q')"
   1.358 @@ -391,7 +383,7 @@
   1.359  	mv fs $file
   1.360  	cat > $file/receipt <<EOT
   1.361  # SliTaz package receipt.
   1.362 -# generated by tazpkg from slax package $(basename $PACKAGE_FILE)
   1.363 +# generated by tazpkg from slax package $(basename "$PACKAGE_FILE")
   1.364  PACKAGE="$package"
   1.365  VERSION="$version"
   1.366  CATEGORY="misc"
   1.367 @@ -401,7 +393,7 @@
   1.368  DEPENDS="$(find_depends)"
   1.369  EOT
   1.370  	show_unresolved_lib $file/receipt
   1.371 -	[ -f $file/fs/var/log/scripts/$package* ] && cat >> $file/receipt <<EOM
   1.372 +	[ -f "$file/fs/var/log/scripts/$package*" ] && cat >> $file/receipt <<EOM
   1.373  
   1.374  post_install()
   1.375  {
   1.376 @@ -420,18 +412,17 @@
   1.377  
   1.378  # convert a .tgz package to .tazpkg
   1.379  
   1.380 -convert_tgz()
   1.381 -{
   1.382 +convert_tgz() {
   1.383  	parse_pkgname
   1.384  	mkdir -p $TMP_DIR/$file/fs
   1.385 -	tar xzf $PACKAGE_FILE -C $TMP_DIR/$file/fs
   1.386 +	tar -xzf "$PACKAGE_FILE" -C $TMP_DIR/$file/fs
   1.387  	cd $TMP_DIR
   1.388 -	if [ -d $file/fs/install ]; then
   1.389 +	if [ -d "$file/fs/install" ]; then
   1.390  		descrip=$(sed "/^$package/!d;s/.*(\\(.*\\)).*/\\1/;q" \
   1.391  			  $file/fs/install/slack-desc)
   1.392  		cat > $file/receipt <<EOT
   1.393  # SliTaz package receipt.
   1.394 -# generated by tazpkg from slackware package $(basename $PACKAGE_FILE)
   1.395 +# generated by tazpkg from slackware package $(basename "$PACKAGE_FILE")
   1.396  PACKAGE="$package"
   1.397  VERSION="$version"
   1.398  CATEGORY="misc"
   1.399 @@ -441,7 +432,7 @@
   1.400  DEPENDS="$(find_depends)"
   1.401  EOT
   1.402  		show_unresolved_lib $file/receipt
   1.403 -		[ -f $file/fs/install/doinst.sh ] && cat >> $file/receipt <<EOM
   1.404 +		[ -f "$file/fs/install/doinst.sh" ] && cat >> $file/receipt <<EOM
   1.405  
   1.406  post_install()
   1.407  {
   1.408 @@ -453,12 +444,12 @@
   1.409  EOM
   1.410  		sed "/^$package/:d;s/^$package://" \
   1.411  			$file/fs/install/slack-desc > $file/description.txt
   1.412 -		[ -s $file/description.txt ] || rm -f $file/description.txt
   1.413 +		[ -s "$file/description.txt" ] || rm -f $file/description.txt
   1.414  		rm -rf $file/fs/install
   1.415  		tazpkg pack $file
   1.416  		mv $file.tazpkg $TOP_DIR
   1.417  	else
   1.418 -		_ 'File "%s" does not look like %s package!' $PACKAGE_FILE 'Slackware'
   1.419 +		_ 'File "%s" does not look like %s package!' "$PACKAGE_FILE" 'Slackware'
   1.420  	fi
   1.421  	cd $TOP_DIR
   1.422  	rm -rf $TMP_DIR
   1.423 @@ -467,10 +458,9 @@
   1.424  
   1.425  # convert a .deb package to .tazpkg
   1.426  
   1.427 -convert_deb()
   1.428 -{
   1.429 +convert_deb() {
   1.430  	mkdir -p $TMP_DIR
   1.431 -	dpkg-deb -e $PACKAGE_FILE $TMP_DIR
   1.432 +	dpkg-deb -e "$PACKAGE_FILE" $TMP_DIR
   1.433  	package=$(sed '/^ *Package:/!d;s/.*: //' $TMP_DIR/control)
   1.434  	version=$(sed '/^ *Version:/!d;s/.*: //' $TMP_DIR/control)
   1.435  	descrip=$(sed '/^ *Description:/!d;s/.*: //' $TMP_DIR/control)
   1.436 @@ -480,11 +470,11 @@
   1.437  	i386|all)
   1.438  		file="$package-$version"
   1.439  		mkdir -p $TMP_DIR/$file/fs/
   1.440 -		dpkg-deb -x $PACKAGE_FILE $TMP_DIR/$file/fs
   1.441 +		dpkg-deb -x "$PACKAGE_FILE" $TMP_DIR/$file/fs
   1.442  		cd $TMP_DIR
   1.443  		cat > $file/receipt <<EOT
   1.444  # SliTaz package receipt.
   1.445 -# generated by tazpkg from debian package $(basename $PACKAGE_FILE)
   1.446 +# generated by tazpkg from debian package $(basename "$PACKAGE_FILE")
   1.447  PACKAGE="$package"
   1.448  VERSION="$version"
   1.449  CATEGORY="misc"
   1.450 @@ -493,11 +483,11 @@
   1.451  MAINTAINER="nobody@slitaz.org"
   1.452  EOT
   1.453  		LICENSE="$(grep /usr/share/common-licenses/ \
   1.454 -		  $PACKAGE_FILE $TMP_DIR/$file/fs/usr/share/doc/*/copyright | \
   1.455 +		  "$PACKAGE_FILE" $TMP_DIR/$file/fs/usr/share/doc/*/copyright | \
   1.456  		  sed 's|.*common-licenses/\([-\.A-Za-z0-9]*\).*|\1|;s|[-\.]$||;q')"
   1.457  		[ -n "$LICENSE" ] && echo "LICENSE=\"$LICENSE\"" >> $file/receipt
   1.458  		echo "DEPENDS=\"$(find_depends)\"" >> $file/receipt
   1.459 -		[ -s conffiles ] && cat >> $file/receipt <<EOT
   1.460 +		[ -s 'conffiles' ] && cat >> $file/receipt <<EOT
   1.461  CONFIG_FILES="$(cat conffiles)"
   1.462  EOT
   1.463  		show_unresolved_lib $file/receipt
   1.464 @@ -508,12 +498,12 @@
   1.465     if (/^Description/) show=1;
   1.466  }' < $TMP_DIR/control > $file/description.txt
   1.467  		sed -i 's/^\.$//' $file/description.txt
   1.468 -		[ -s $file/description.txt ] || rm -f $file/description.txt
   1.469 +		[ -s "$file/description.txt" ] || rm -f $file/description.txt
   1.470  		tazpkg pack $file
   1.471  		mv $file.tazpkg $TOP_DIR
   1.472  		;;
   1.473  	*)
   1.474 -		_ 'Invalid target: %s (expected i386)' $target
   1.475 +		_ 'Invalid target: %s (expected i386)' "$target"
   1.476  		;;
   1.477  	esac
   1.478  	cd $TOP_DIR
   1.479 @@ -523,12 +513,11 @@
   1.480  
   1.481  # convert a .rpm package to .tazpkg
   1.482  
   1.483 -convert_rpm()
   1.484 -{
   1.485 +convert_rpm() {
   1.486  	mkdir -p $TMP_DIR
   1.487 -	cp $PACKAGE_FILE $TMP_DIR
   1.488 -	PACKAGE_FILE=$TMP_DIR/$(basename $PACKAGE_FILE)
   1.489 -	rpm -qip $PACKAGE_FILE | awk -v pkg=$(basename $PACKAGE_FILE) '
   1.490 +	cp "$PACKAGE_FILE" $TMP_DIR
   1.491 +	PACKAGE_FILE="$TMP_DIR/$(basename "$PACKAGE_FILE")"
   1.492 +	rpm -qip "$PACKAGE_FILE" | awk -v pkg="$(basename "$PACKAGE_FILE")" '
   1.493  BEGIN {
   1.494  	goturl=0;
   1.495  	printf "# SliTaz package receipt.\n";
   1.496 @@ -549,10 +538,10 @@
   1.497  }
   1.498  ' > $TMP_DIR/receipt
   1.499  	. $TMP_DIR/receipt
   1.500 -	file=$PACKAGE-$VERSION
   1.501 +	file="$PACKAGE-$VERSION"
   1.502  	mkdir -p $TMP_DIR/$file/fs/
   1.503  	mv $TMP_DIR/receipt $TMP_DIR/$file
   1.504 -	rpm -qip $PACKAGE_FILE | awk '
   1.505 +	rpm -qip "$PACKAGE_FILE" | awk '
   1.506  BEGIN { show=0 }
   1.507  {
   1.508    if (show) print;
   1.509 @@ -560,13 +549,13 @@
   1.510  }
   1.511  ' > $TMP_DIR/$file/description.txt
   1.512  	cd $TMP_DIR/$file/fs/
   1.513 -	rpm2cpio $PACKAGE_FILE | cpio -idm --quiet
   1.514 +	rpm2cpio "$PACKAGE_FILE" | cpio -idm --quiet
   1.515  	# rpm2cpio can't extract some new RPMs
   1.516 -	if [ $? == 1 ]; then
   1.517 +	if [ $? -eq 1 ]; then
   1.518  		if [ ! -e $INSTALLED/p7zip-full/receipt ]; then
   1.519  			boldify "$(_ 'Unable to extract the RPM using standard tools (rpm2cpio).')"
   1.520  			confirm "$(_n 'Do you want to install "%s" package? (y/N)' 'p7zip-full')"
   1.521 -			if [ $? = 0 ]; then
   1.522 +			if [ $? -eq 0 ]; then
   1.523  				tazpkg -gi p7zip-full
   1.524  			else
   1.525  				rm -rf $TMP_DIR
   1.526 @@ -574,8 +563,8 @@
   1.527  			fi
   1.528  		fi
   1.529  		# we may already have 7z or may have just installed it in the step above
   1.530 -		if [ -e $INSTALLED/p7zip-full/receipt ]; then
   1.531 -			7z x -so $PACKAGE_FILE | cpio -idm --quiet
   1.532 +		if [ -e "$INSTALLED/p7zip-full/receipt" ]; then
   1.533 +			7z x -so "$PACKAGE_FILE" | cpio -idm --quiet
   1.534  		fi
   1.535  	fi
   1.536  	cd ../..
   1.537 @@ -587,35 +576,35 @@
   1.538  	rm -rf $TMP_DIR
   1.539  }
   1.540  
   1.541 +
   1.542  # convert a .xbps package to .tazpkg (http://repo.voidlinux.eu/current/)
   1.543 -xbpstag()
   1.544 -{
   1.545 +
   1.546 +xbpstag() {
   1.547  	sed "/<key>$1<\/key>/!d{n;s/.*>\\(.*\\)<.*/\\1/}" \
   1.548  		< fs/props.plist | sed \$!d
   1.549  }
   1.550  
   1.551 -convert_xbps()
   1.552 -{
   1.553 +convert_xbps() {
   1.554  	mkdir -p $TMP_DIR/fs
   1.555 -	( xzcat $PACKAGE_FILE || bzcat $PACKAGE_FILE || zcat $PACKAGE_FILE ) | \
   1.556 -		tar xf - -C $TMP_DIR/fs
   1.557 +	( xzcat "$PACKAGE_FILE" || bzcat "$PACKAGE_FILE" || zcat "$PACKAGE_FILE" ) | \
   1.558 +		tar -xf - -C $TMP_DIR/fs
   1.559  
   1.560  	cd $TMP_DIR
   1.561  	HOST_ARCH="$(xbpstag architecture)"
   1.562  	case "$HOST_ARCH" in
   1.563 -	i686)	HOST_ARCH="i486" ;;
   1.564 -	*)	_ 'Arch "%s" not supported.' $HOST_ARCH
   1.565 -		HOST_ARCH=
   1.566 +		i686)	HOST_ARCH='i486';;
   1.567 +		*)		_ 'Arch "%s" not supported.' "$HOST_ARCH"
   1.568 +				HOST_ARCH='';;
   1.569  	esac
   1.570  
   1.571 -	if [ "$HOST_ARCH" ]; then
   1.572 +	if [ -n "$HOST_ARCH" ]; then
   1.573  		package="$(xbpstag pkgname)"
   1.574  		version="$(xbpstag version)"
   1.575 -		file=$package-$version
   1.576 +		file="$package-$version"
   1.577  		mkdir $file
   1.578  		cat > $file/receipt <<EOT
   1.579  # SliTaz package receipt.
   1.580 -# generated by tazpkg from package $(basename $PACKAGE_FILE)
   1.581 +# generated by tazpkg from package $(basename "$PACKAGE_FILE")
   1.582  PACKAGE="$package"
   1.583  VERSION="$version"
   1.584  CATEGORY="misc"
   1.585 @@ -630,7 +619,7 @@
   1.586  
   1.587  EOT
   1.588  		while read script func ; do
   1.589 -			[ -s fs/$script  ] && cat >> $file/receipt <<EOT
   1.590 +			[ -s "fs/$script" ] && cat >> $file/receipt <<EOT
   1.591  xbps_$func()
   1.592  {
   1.593  set +e
   1.594 @@ -649,7 +638,7 @@
   1.595  
   1.596  EOT
   1.597  			rm -f fs/$script
   1.598 -		done << EOT
   1.599 +		done <<EOT
   1.600  INSTALL		install
   1.601  REMOVE		remove
   1.602  EOT
   1.603 @@ -662,22 +651,22 @@
   1.604  	rm -rf $TMP_DIR
   1.605  }
   1.606  
   1.607 -finish_convert_tinycore()
   1.608 -{
   1.609 +
   1.610 +finish_convert_tinycore() {
   1.611  	cat > $file/receipt <<EOT
   1.612  # SliTaz package receipt.
   1.613 -# generated by tazpkg from tinycore package $(basename $PACKAGE_FILE)
   1.614 +# generated by tazpkg from tinycore package $(basename "$PACKAGE_FILE")
   1.615  PACKAGE="$package"
   1.616  VERSION="$version"
   1.617  CATEGORY="misc"
   1.618 -SHORT_DESC="tinycore package $(basename $PACKAGE_FILE)"
   1.619 +SHORT_DESC="tinycore package $(basename "$PACKAGE_FILE")"
   1.620  WEB_SITE="http://tinycorelinux.net/"
   1.621  MAINTAINER="nobody@slitaz.org"
   1.622  DEPENDS="$(find_depends)"
   1.623  EOT
   1.624  	show_unresolved_lib $file/receipt
   1.625 -	script=$file/fs/usr/local/tce.installed/$PACKAGE
   1.626 -	[ -f $script ] && cat >> $file/receipt <<EOM
   1.627 +	script="$file/fs/usr/local/tce.installed/$PACKAGE"
   1.628 +	[ -f "$script" ] && cat >> $file/receipt <<EOM
   1.629  
   1.630  post_install()
   1.631  {
   1.632 @@ -687,7 +676,7 @@
   1.633  EOT
   1.634  }
   1.635  EOM
   1.636 -	[ -d $file/fs/usr/local/tce.installed ] &&
   1.637 +	[ -d "$file/fs/usr/local/tce.installed" ] &&
   1.638  	rm -rf $file/fs/usr/local/tce.installed
   1.639  	tazpkg pack $file
   1.640  	mv $file.tazpkg $TOP_DIR
   1.641 @@ -695,78 +684,63 @@
   1.642  	rm -rf $TMP_DIR
   1.643  }
   1.644  
   1.645 +
   1.646  # convert a .tce package to .tazpkg
   1.647  
   1.648 -convert_tce()
   1.649 -{
   1.650 -	if ! tar tzf $PACKAGE_FILE | grep -q ^usr/local ; then
   1.651 -		_ 'File "%s" does not look like %s package!' $PACKAGE_FILE 'Tinycore'
   1.652 +convert_tce() {
   1.653 +	if ! tar -tzf "$PACKAGE_FILE" | grep -q ^usr/local ; then
   1.654 +		_ 'File "%s" does not look like %s package!' "$PACKAGE_FILE" 'Tinycore'
   1.655  		return 1
   1.656  	fi
   1.657 -	mkdir -p $TMP_DIR 
   1.658 +	mkdir -p $TMP_DIR
   1.659  	cd $TMP_DIR
   1.660  	case "$PACKAGE_FILE" in
   1.661 -	*.tcel) parse_pkgname .tcel ;;
   1.662 -	*.tcem) parse_pkgname .tcem ;;
   1.663 -	*)	parse_pkgname .tce ;;
   1.664 +		*.tcel) parse_pkgname .tcel ;;
   1.665 +		*.tcem) parse_pkgname .tcem ;;
   1.666 +		*)      parse_pkgname .tce ;;
   1.667  	esac
   1.668  	mkdir -p $file/fs
   1.669 -	tar xzf $PACKAGE_FILE -C $file/fs
   1.670 +	tar -xzf "$PACKAGE_FILE" -C $file/fs
   1.671  	finish_convert_tinycore
   1.672  }
   1.673  
   1.674 +
   1.675  # convert a .tcz package to .tazpkg
   1.676  
   1.677 -convert_tcz()
   1.678 -{
   1.679 -	[ -n "$(which unsquashfs)" ] || tazpkg get-install squashfs 
   1.680 -	if ! unsquashfs -l $PACKAGE_FILE | grep -q squashfs-root/$ ; then
   1.681 -		_ 'File "%s" does not look like %s package!' $PACKAGE_FILE 'Tinycore'
   1.682 +convert_tcz() {
   1.683 +	[ -n "$(which unsquashfs)" ] || tazpkg get-install squashfs
   1.684 +	if ! unsquashfs -l "$PACKAGE_FILE" | grep -q squashfs-root/$ ; then
   1.685 +		_ 'File "%s" does not look like %s package!' "$PACKAGE_FILE" 'Tinycore'
   1.686  		return 1
   1.687  	fi
   1.688 -	mkdir -p $TMP_DIR 
   1.689 +	mkdir -p $TMP_DIR
   1.690  	cd $TMP_DIR
   1.691  	parse_pkgname .tcz
   1.692 -	unsquashfs $PACKAGE_FILE
   1.693 +	unsquashfs "$PACKAGE_FILE"
   1.694  	mv squashfs-root $file/fs
   1.695  	finish_convert_tinycore
   1.696  }
   1.697  
   1.698  
   1.699 -if [ "$(dd if=$PACKAGE_FILE bs=8 count=1 skip=1 2> /dev/null)"  == "debian-b" ]; then
   1.700 +if [ "$(dd if="$PACKAGE_FILE" bs=8 count=1 skip=1 2>/dev/null)" == 'debian-b' ]; then
   1.701  	convert_deb
   1.702  else
   1.703  	case "$PACKAGE_FILE" in
   1.704 -		*.deb|*.udeb)
   1.705 -			convert_deb;;
   1.706 -		*.rpm)
   1.707 -			convert_rpm;;
   1.708 -		*.sb)
   1.709 -			convert_sb;;
   1.710 -		*.sfs)
   1.711 -			convert_sfs;;
   1.712 -		*.pet)
   1.713 -			convert_pet;;
   1.714 -		*.tgz)
   1.715 -			convert_tgz;;
   1.716 -		*.cards.tar.xz)
   1.717 -			convert_nutyx;;
   1.718 -		*.apk|*.pkg.tar.gz|*.pkg.tar.xz)
   1.719 -			convert_arch;;
   1.720 -		*.ipk|*.opk)
   1.721 -			convert_ipk;;
   1.722 -		*.spack)
   1.723 -			convert_spack;;
   1.724 -		*.tar.bz2)
   1.725 -			convert_upkg;;
   1.726 -		*.xbps)
   1.727 -			convert_xbps;;
   1.728 -		*.tce|*.tcel|*.tcem)
   1.729 -			convert_tce;;
   1.730 -		*.tcz)
   1.731 -			convert_tcz;;
   1.732 -		*)
   1.733 -			_ 'Unsupported format' ;;
   1.734 +		*.deb|*.udeb)			convert_deb;;
   1.735 +		*.rpm)					convert_rpm;;
   1.736 +		*.sb)					convert_sb;;
   1.737 +		*.sfs)					convert_sfs;;
   1.738 +		*.pet)					convert_pet;;
   1.739 +		*.tgz)					convert_tgz;;
   1.740 +		*.cards.tar.xz)			convert_nutyx;;
   1.741 +		*.apk|*.pkg.tar.gz|*.pkg.tar.xz)	convert_arch;;
   1.742 +		*.ipk|*.opk)			convert_ipk;;
   1.743 +		*.spack)				convert_spack;;
   1.744 +		*.tar.bz2)				convert_upkg;;
   1.745 +		*.xbps)					convert_xbps;;
   1.746 +		*.tce|*.tcel|*.tcem)	convert_tce;;
   1.747 +		*.tcz)					convert_tcz;;
   1.748 +		*)						_ 'Unsupported format';;
   1.749  	esac
   1.750  fi
   1.751  
     2.1 --- a/tazpkg	Thu Jun 04 17:15:40 2015 +0300
     2.2 +++ b/tazpkg	Fri Jun 05 00:37:48 2015 +0300
     2.3 @@ -106,6 +106,7 @@
     2.4  # User Agent
     2.5  UA="TazPkg-$VERSION"
     2.6  
     2.7 +#title 'DEBUG'; emsg "<b>COMMAND</b>=\"$COMMAND\"\n<b>PACKAGE</b>=\"$PACKAGE\"\n<b>PACKAGE_FILE</b>=\"$PACKAGE_FILE\"\n<b>TARGET_DIR</b>=\"$TARGET_DIR\"\n<b>TOP_DIR</b>=\"$TOP_DIR\"\n<b>TMP_DIR</b>=\"$TMP_DIR\"\n<b>INSTALL_LIST</b>=\"$INSTALL_LIST\"\n<b>SAVE_CACHE_DIR</b>=\"$SAVE_CACHE_DIR\"\n<b>MIRROR</b>=\"$MIRROR\"\n<b>BLOCKED</b>=\"$BLOCKED\"\n<b>UP_LIST</b>=\"$UP_LIST\"\n<b>DEFAULT_MIRROR</b>=\"$DEFAULT_MIRROR\"\n<b>VERSION</b>=\"$VERSION\""; footer
     2.8  
     2.9  
    2.10  ####################
    2.11 @@ -252,7 +253,7 @@
    2.12  check_for_package_file() {
    2.13  	if [ ! -f "$PACKAGE_FILE" ]; then
    2.14  		newline
    2.15 -		_ 'Unable to find file "%s"' $PACKAGE_FILE
    2.16 +		_ 'Unable to find file "%s"' "$PACKAGE_FILE"
    2.17  		newline
    2.18  		exit 1
    2.19  	fi
    2.20 @@ -319,9 +320,9 @@
    2.21  # Check if a package is already installed.
    2.22  
    2.23  check_for_installed_package() {
    2.24 -	if [ -n "$(get_installed_package_pathname $PACKAGE $1)" ]; then
    2.25 +	if [ -n "$(get_installed_package_pathname "$PACKAGE" "$1")" ]; then
    2.26  		newline
    2.27 -		_ '"%s" package is already installed.' $(colorize 34 $PACKAGE)
    2.28 +		_ '"%s" package is already installed.' "$(colorize 34 "$PACKAGE")"
    2.29  		longline "$(_ 'You can use the --forced option to force installation.')"
    2.30  		newline
    2.31  		exit 0
    2.32 @@ -462,7 +463,7 @@
    2.33  		equiv=$(virtual_pkg $1)
    2.34  		if [ "$equiv" != "$1" ]; then
    2.35  			PACKAGE="$equiv"
    2.36 -			get_package_filename $PACKAGE
    2.37 +			get_package_filename "$PACKAGE"
    2.38  			return
    2.39  		fi
    2.40  	fi
    2.41 @@ -476,7 +477,7 @@
    2.42  check_for_package_in_list() {
    2.43  	local filename check_only
    2.44  	check_only="$1"
    2.45 -	filename=$(get_package_filename $PACKAGE)
    2.46 +	filename="$(get_package_filename "$PACKAGE")"
    2.47  	if [ -n "$filename" ]; then
    2.48  		PACKAGE="$filename"
    2.49  		CACHE_DIR="$(cat $tmp/cachedir)"
    2.50 @@ -484,7 +485,7 @@
    2.51  		rm -f $tmp/rep $tmp/cachedir
    2.52  	else
    2.53  		newline
    2.54 -		_ 'Unable to find package "%s" in the mirrored packages list.' $PACKAGE
    2.55 +		_ 'Unable to find package "%s" in the mirrored packages list.' "$PACKAGE"
    2.56  		newline
    2.57  		[ -n "$check_only" ] && return 1
    2.58  		exit 0
    2.59 @@ -499,7 +500,7 @@
    2.60  	local extra
    2.61  
    2.62  	[ "$1" == 'Installed' ] && \
    2.63 -	extra=" - $(fgrep $PACKAGE-$VERSION $PKGS_DB/installed.$SUM | awk '{ print $1 }')"
    2.64 +	extra=" - $(fgrep "$PACKAGE-$VERSION" $PKGS_DB/installed.$SUM | awk '{ print $1 }')"
    2.65  
    2.66  	[ -e "$LOG" ] || touch $LOG
    2.67  
    2.68 @@ -568,7 +569,7 @@
    2.69  
    2.70  extract_package() {
    2.71  	action 'Extracting package...'
    2.72 -	cpio -idm --quiet < ${PACKAGE_FILE##*/} && rm -f ${PACKAGE_FILE##*/}
    2.73 +	cpio -idm --quiet < "${PACKAGE_FILE##*/}" && rm -f "${PACKAGE_FILE##*/}"
    2.74  	status
    2.75  	if [ -f fs.cpio.lzma ]; then
    2.76  		unlzma -c fs.cpio.lzma | cpio -idm --quiet && rm fs.cpio.lzma
    2.77 @@ -580,14 +581,14 @@
    2.78  
    2.79  remove_with_path() {
    2.80  	# Avoid dirname errors by checking for argument.
    2.81 -	[ "$1" ] || return
    2.82 +	[ -n "$1" ] || return
    2.83  
    2.84  	local dir
    2.85  	rm -f $1 2>/dev/null
    2.86  	dir="$1"
    2.87  	while [ "$dir" != "/" ]; do
    2.88 -		dir="$(dirname $dir)"
    2.89 -		rmdir $dir 2> /dev/null || break
    2.90 +		dir="$(dirname "$dir")"
    2.91 +		rmdir "$dir" 2>/dev/null || break
    2.92  	done
    2.93  }
    2.94  
    2.95 @@ -622,7 +623,7 @@
    2.96  	{
    2.97  		# Create package path early to avoid dependencies loop
    2.98  		mkdir -p $TMP_DIR
    2.99 -		{ cd $TMP_DIR ; cpio --quiet -i receipt > /dev/null 2>&1; } < $PACKAGE_FILE
   2.100 +		{ cd $TMP_DIR ; cpio --quiet -i receipt >/dev/null 2>&1; } < "$PACKAGE_FILE"
   2.101  		. $TMP_DIR/receipt
   2.102  		# FIXME: legacy?
   2.103  		if grep -q ^pre_depends $TMP_DIR/receipt; then
   2.104 @@ -630,20 +631,20 @@
   2.105  		fi
   2.106  
   2.107  		# Keep modifiers and file list on upgrade
   2.108 -		cp $ROOT$INSTALLED/$PACKAGE/modifiers \
   2.109 -		   $ROOT$INSTALLED/$PACKAGE/files.list $TMP_DIR 2> /dev/null
   2.110 -		rm -rf $ROOT$INSTALLED/$PACKAGE 2> /dev/null
   2.111 +		cp "$ROOT$INSTALLED/$PACKAGE/modifiers" \
   2.112 +		   "$ROOT$INSTALLED/$PACKAGE/files.list" $TMP_DIR 2>/dev/null
   2.113 +		rm -rf "$ROOT$INSTALLED/$PACKAGE" 2>/dev/null
   2.114  
   2.115  		# Make the installed package data dir to store
   2.116  		# the receipt and the files list.
   2.117 -		mkdir -p $ROOT$INSTALLED/$PACKAGE
   2.118 -		cp $TMP_DIR/modifiers $ROOT$INSTALLED/$PACKAGE 2> /dev/null
   2.119 -		cp $TMP_DIR/files.list $ROOT$INSTALLED/$PACKAGE 2> /dev/null
   2.120 +		mkdir -p "$ROOT$INSTALLED/$PACKAGE"
   2.121 +		cp $TMP_DIR/modifiers  "$ROOT$INSTALLED/$PACKAGE" 2>/dev/null
   2.122 +		cp $TMP_DIR/files.list "$ROOT$INSTALLED/$PACKAGE" 2>/dev/null
   2.123  		rm -rf $TMP_DIR 2> /dev/null
   2.124 -		sed -i "/ $(basename $PACKAGE_FILE)$/d" \
   2.125 +		sed -i "/ $(basename "$PACKAGE_FILE")$/d" \
   2.126  			$ROOT$PKGS_DB/installed.$SUM 2> /dev/null
   2.127 -		cd $(dirname $PACKAGE_FILE)
   2.128 -		$CHECKSUM $(basename $PACKAGE_FILE) >> $ROOT$PKGS_DB/installed.$SUM
   2.129 +		cd "$(dirname "$PACKAGE_FILE")"
   2.130 +		$CHECKSUM "$(basename "$PACKAGE_FILE")" >> $ROOT$PKGS_DB/installed.$SUM
   2.131  	}
   2.132  
   2.133  	# Resolve package deps.
   2.134 @@ -656,8 +657,8 @@
   2.135  
   2.136  	title 'Installation of package "%s"' "$PACKAGE"
   2.137  
   2.138 -	print_short_description "$PACKAGE"
   2.139 -	separator '-'
   2.140 +	short_desc="$(print_short_description "$PACKAGE")"
   2.141 +	[ -n "$short_desc" ] && echo "$short_desc" && separator '-'
   2.142  
   2.143  	action 'Copying package...'
   2.144  	cp "$PACKAGE_FILE" "$TMP_DIR"
   2.145 @@ -676,7 +677,7 @@
   2.146  	# FIXME: legacy?
   2.147  	if [ $SELF_INSTALL -ne 0 -a -n "$ROOT" ]; then
   2.148  		action "Checking post install dependencies..."
   2.149 -		[ -f $INSTALLED/$PACKAGE/receipt ]
   2.150 +		[ -f "$INSTALLED/$PACKAGE/receipt" ]
   2.151  		if ! status; then
   2.152  			_ 'Please run "%s" in / and retry.' "tazpkg install $PACKAGE_FILE"
   2.153  			rm -rf $TMP_DIR
   2.154 @@ -685,15 +686,15 @@
   2.155  	fi
   2.156  
   2.157  	# Get files to remove if upgrading
   2.158 -	if [ -f $PACKAGE/files.list ]; then
   2.159 +	if [ -f "$PACKAGE/files.list" ]; then
   2.160  		while read file; do
   2.161  			grep -q "^$(echo $file | grepesc)$" $TMP_DIR/files.list && continue
   2.162 -			for i in $(cat $PACKAGE/modifiers 2> /dev/null ;
   2.163 -			    fgrep -sl $PACKAGE */modifiers | cut -d/ -f1 ); do
   2.164 +			for i in $(cat "$PACKAGE/modifiers" 2>/dev/null ;
   2.165 +			    fgrep -sl "$PACKAGE" */modifiers | cut -d/ -f1 ); do
   2.166  				grep -qs "^$(echo $file | grepesc)$" $i/files.list && continue 2
   2.167  			done
   2.168  			echo $file
   2.169 -		done < $PACKAGE/files.list > $TMP_DIR/files2remove.list
   2.170 +		done < "$PACKAGE/files.list" > $TMP_DIR/files2remove.list
   2.171  	fi
   2.172  
   2.173  	# Remember modified packages
   2.174 @@ -727,12 +728,12 @@
   2.175  			printf "%s %s\n",p[i],f[j];
   2.176  }
   2.177  		' | while read dir file; do
   2.178 -		if grep -qs ^$dir$ $PACKAGE/modifiers; then
   2.179 +		if grep -qs ^$dir$ "$PACKAGE/modifiers"; then
   2.180  			# Do not overload an overloaded file !
   2.181 -			rm $TMP_DIR$file 2> /dev/null
   2.182 +			rm $TMP_DIR$file 2>/dev/null
   2.183  			continue
   2.184  		fi
   2.185 -		grep -qs ^$PACKAGE$ $dir/modifiers && continue
   2.186 +		grep -qs "^$PACKAGE$" $dir/modifiers && continue
   2.187  		if [ -s "$dir/volatile.cpio.gz" ]; then
   2.188  			# We can modify backed up files without notice
   2.189  			zcat $dir/volatile.cpio.gz | cpio -t --quiet | \
   2.190 @@ -742,20 +743,20 @@
   2.191  	done
   2.192  
   2.193  	cd $TMP_DIR
   2.194 -	cp receipt files.list $ROOT$INSTALLED/$PACKAGE
   2.195 +	cp receipt files.list "$ROOT$INSTALLED/$PACKAGE"
   2.196  
   2.197  	# Copy the description if found.
   2.198  	if [ -f "description.txt" ]; then
   2.199 -		cp description.txt $ROOT$INSTALLED/$PACKAGE
   2.200 +		cp description.txt "$ROOT$INSTALLED/$PACKAGE"
   2.201  	fi
   2.202  
   2.203  	# Copy the md5sum if found.
   2.204  	if [ -f "$CHECKSUM" ]; then
   2.205 -		cp $CHECKSUM $ROOT$INSTALLED/$PACKAGE
   2.206 +		cp $CHECKSUM "$ROOT$INSTALLED/$PACKAGE"
   2.207  	fi
   2.208  
   2.209  	# Pre install commands.
   2.210 -	if grep -q ^pre_install $ROOT$INSTALLED/$PACKAGE/receipt; then
   2.211 +	if grep -q ^pre_install "$ROOT$INSTALLED/$PACKAGE/receipt"; then
   2.212  		pre_install $ROOT
   2.213  	fi
   2.214  
   2.215 @@ -765,7 +766,7 @@
   2.216  		for i in $CONFIG_FILES; do
   2.217  			{ cd fs ; find ${i#/} -type f 2> /dev/null; cd ..; }
   2.218  		done | { cd fs ; cpio -o -H newc --quiet | gzip -9; cd ..; } > \
   2.219 -			$ROOT$INSTALLED/$PACKAGE/volatile.cpio.gz
   2.220 +			"$ROOT$INSTALLED/$PACKAGE/volatile.cpio.gz"
   2.221  
   2.222  		if [ -z "$newconf" ]; then
   2.223  			# keep user configuration files
   2.224 @@ -798,34 +799,34 @@
   2.225  	status
   2.226  
   2.227  	# Post install commands.
   2.228 -	if grep -q ^post_install $ROOT$INSTALLED/$PACKAGE/receipt; then
   2.229 +	if grep -q ^post_install "$ROOT$INSTALLED/$PACKAGE/receipt"; then
   2.230  		action "Execute post-install commands..."
   2.231  		post_install $ROOT
   2.232  		status
   2.233  	fi
   2.234  
   2.235  	# Update-desktop-database if needed.
   2.236 -	if [ "$(fgrep .desktop $ROOT$INSTALLED/$PACKAGE/files.list | fgrep /usr/share/applications/)" ]; then
   2.237 +	if [ "$(fgrep .desktop "$ROOT$INSTALLED/$PACKAGE/files.list" | fgrep /usr/share/applications/)" ]; then
   2.238  		updatedesktopdb=yes
   2.239  	fi
   2.240  
   2.241  	# Update-mime-database if needed.
   2.242 -	if [ "$(fgrep /usr/share/mime $ROOT$INSTALLED/$PACKAGE/files.list)" ]; then
   2.243 +	if [ "$(fgrep /usr/share/mime "$ROOT$INSTALLED/$PACKAGE/files.list")" ]; then
   2.244  		updatemimedb=yes
   2.245  	fi
   2.246  
   2.247  	# Update-icon-database
   2.248 -	if [ "$(fgrep /usr/share/icon/hicolor $ROOT$INSTALLED/$PACKAGE/files.list)" ]; then
   2.249 +	if [ "$(fgrep /usr/share/icon/hicolor "$ROOT$INSTALLED/$PACKAGE/files.list")" ]; then
   2.250  		updateicondb=yes
   2.251  	fi
   2.252  
   2.253  	# Compile glib schemas if needed.
   2.254 -	if [ "$(fgrep /usr/share/glib-2.0/schemas $ROOT$INSTALLED/$PACKAGE/files.list)" ]; then
   2.255 +	if [ "$(fgrep /usr/share/glib-2.0/schemas "$ROOT$INSTALLED/$PACKAGE/files.list")" ]; then
   2.256  		compile_schemas=yes
   2.257  	fi
   2.258  
   2.259  	# Update depmod list
   2.260 -	if [ "$(fgrep /lib/modules $ROOT$INSTALLED/$PACKAGE/files.list)" ]; then
   2.261 +	if [ "$(fgrep /lib/modules "$ROOT$INSTALLED/$PACKAGE/files.list")" ]; then
   2.262  		updatedepmod=yes
   2.263  	fi
   2.264  
   2.265 @@ -835,14 +836,14 @@
   2.266  	DEPENDS=$(echo $DEPENDS) # remove newlines from some receipts
   2.267  	II=$ROOT$PKGS_DB/installed.info
   2.268  	sed -i "/^$PACKAGE	/d" $II # remove old entry
   2.269 -	cat >> $II << EOT
   2.270 +	cat >> $II <<EOT
   2.271  $PACKAGE	$VERSION$EXTRAVERSION	$CATEGORY	$SHORT_DESC	$WEB_SITE	$TAGS	$SIZES	$DEPENDS
   2.272  EOT
   2.273  	TEMP_FILE=$(mktemp)
   2.274  	sort $II > $TEMP_FILE; mv -f $TEMP_FILE $II; chmod a+r $II; unset II
   2.275  
   2.276 -	cd $TOP_DIR
   2.277 -	footer "$(_ 'Package "%s" (%s) is installed.' $PACKAGE $VERSION$EXTRAVERSION)"
   2.278 +	cd "$TOP_DIR"
   2.279 +	footer "$(_ 'Package "%s" (%s) is installed.' "$PACKAGE" "$VERSION$EXTRAVERSION")"
   2.280  
   2.281  	# Log this activity
   2.282  	[ -n "$ROOT" ] || log_pkg Installed
   2.283 @@ -882,10 +883,10 @@
   2.284  	set +e
   2.285  	[ -d "$PACKAGE-$VERSION" ] || cd $TMP_DIR
   2.286  	[ -d "$PACKAGE-$VERSION" ] || abort_package \
   2.287 -		"$(_ 'Could not download "%s" from "%s". Exiting.' ${TARBALL:-$PACKAGE} ${WGET_URL:-$WEB_SITE})"
   2.288 +		"$(_ 'Could not download "%s" from "%s". Exiting.' "${TARBALL:-$PACKAGE}" "${WGET_URL:-$WEB_SITE}")"
   2.289  
   2.290  	if [ ! -s "$PACKAGE-$VERSION/receipt" ]; then
   2.291 -		cat > $PACKAGE-$VERSION/receipt <<EOT
   2.292 +		cat > "$PACKAGE-$VERSION/receipt" <<EOT
   2.293  # SliTaz package receipt.
   2.294  
   2.295  PACKAGE="$PACKAGE"
   2.296 @@ -898,35 +899,35 @@
   2.297  		for i in LICENSE TARBALL WGET_URL CONFIG_FILES SUGGESTED \
   2.298  			 PROVIDE DEPENDS HOST_ARCH TAGS EXTRA_SOURCE_FILES ; do
   2.299  			eval "[ -n \"\$$i\" ] && echo \"$i=\\\"\$$i\\\"\""
   2.300 -		done >> $PACKAGE-$VERSION/receipt
   2.301 +		done >> "$PACKAGE-$VERSION/receipt"
   2.302  	fi
   2.303  
   2.304 -	DEPENDS="$(unset DEPENDS; . $PACKAGE-$VERSION/receipt ; echo $DEPENDS)"
   2.305 -	for i in $(find_depends $PACKAGE-$VERSION/fs); do
   2.306 +	DEPENDS="$(unset DEPENDS; . "$PACKAGE-$VERSION/receipt"; echo $DEPENDS)"
   2.307 +	for i in $(find_depends "$PACKAGE-$VERSION/fs"); do
   2.308  		case " $DEPENDS " in
   2.309  			*\ $i\ *) continue;;
   2.310  		esac
   2.311 -		grep -q '^DEPENDS="' $PACKAGE-$VERSION/receipt ||
   2.312 -			echo 'DEPENDS=""' >> $PACKAGE-$VERSION/receipt
   2.313 -		sed -i "s/^DEPENDS=\"/&$i /" $PACKAGE-$VERSION/receipt
   2.314 +		grep -q '^DEPENDS="'         "$PACKAGE-$VERSION/receipt" ||
   2.315 +			echo 'DEPENDS=""' >>     "$PACKAGE-$VERSION/receipt"
   2.316 +		sed -i "s/^DEPENDS=\"/&$i /" "$PACKAGE-$VERSION/receipt"
   2.317  	done
   2.318  
   2.319  	TAZPKG_PACK=gzip
   2.320 -	tazpkg pack $PACKAGE-$VERSION
   2.321 +	tazpkg pack "$PACKAGE-$VERSION"
   2.322  
   2.323  	# Clean to save RAM memory before installation
   2.324 -	rm -rf $PACKAGE-$VERSION
   2.325 +	rm -rf "$PACKAGE-$VERSION"
   2.326  
   2.327  	if [ "$3" == '--get' ]; then
   2.328 -		mv $PACKAGE-$VERSION.tazpkg $TOP_DIR
   2.329 +		mv "$PACKAGE-$VERSION.tazpkg" "$TOP_DIR"
   2.330  	else
   2.331  		# Install pseudo package
   2.332 -		tazpkg install $PACKAGE-$VERSION.tazpkg --root=$ROOT
   2.333 -		mv $PACKAGE-$VERSION.tazpkg $CACHE_DIR
   2.334 +		tazpkg install "$PACKAGE-$VERSION.tazpkg" --root=$ROOT
   2.335 +		mv "$PACKAGE-$VERSION.tazpkg" $CACHE_DIR
   2.336  	fi
   2.337  
   2.338  	# Clean
   2.339 -	cd $TOP_DIR
   2.340 +	cd "$TOP_DIR"
   2.341  	rm -rf $TMP_DIR
   2.342  }
   2.343  
   2.344 @@ -967,7 +968,7 @@
   2.345  	local saved;
   2.346  	saved="$PACKAGE"
   2.347  	mkdir -p $TMP_DIR
   2.348 -	{ cd $TMP_DIR ; cpio --quiet -i receipt >/dev/null 2>&1; } < $PACKAGE_FILE
   2.349 +	{ cd $TMP_DIR ; cpio --quiet -i receipt >/dev/null 2>&1; } < "$PACKAGE_FILE"
   2.350  	. $TMP_DIR/receipt
   2.351  	PACKAGE="$saved"
   2.352  	rm -rf $TMP_DIR
   2.353 @@ -979,12 +980,12 @@
   2.354  			MISSING_PACKAGE=$i
   2.355  			num=$(($num+1))
   2.356  		elif [ ! -f "$1$INSTALLED/$i/receipt" ]; then
   2.357 -			_ 'WARNING! Dependency loop between "%s" and "%s".' $PACKAGE $i
   2.358 +			_ 'WARNING! Dependency loop between "%s" and "%s".' "$PACKAGE" "$i"
   2.359  		fi
   2.360  	done
   2.361  
   2.362  	if [ -n "$MISSING_PACKAGE" ]; then
   2.363 -		title "$(_ 'Tracking dependencies for package "%s"' $PACKAGE)"
   2.364 +		title "$(_ 'Tracking dependencies for package "%s"' "$PACKAGE")"
   2.365  		for pkgorg in $DEPENDS; do
   2.366  			i=$(equivalent_pkg $pkgorg $1)
   2.367  			if [ ! -d "$1$INSTALLED/$i" ]; then
   2.368 @@ -1017,7 +1018,7 @@
   2.369  		newline
   2.370  	fi
   2.371  
   2.372 -	if [ "$answer" == 0 ] && [ -z "$nodeps" ]; then
   2.373 +	if [ "$answer" -eq 0 ] && [ -z "$nodeps" ]; then
   2.374  		for pkgorg in $DEPENDS; do
   2.375  			pkg=$(equivalent_pkg $pkgorg $1)
   2.376  			if [ ! -d "$1$INSTALLED/$pkg" ]; then
   2.377 @@ -1025,17 +1026,17 @@
   2.378  				[ -n "$list" ] || list="$TOP_DIR/packages.list"
   2.379  				# We can install packages from a local dir by greping
   2.380  				# the TAZPKG_BASENAME in the local packages.list.
   2.381 -				found=0
   2.382 +				found='0'
   2.383  				if [ -f "$list" ]; then
   2.384  					_ 'Checking if package "%s" exists in local list...' $pkg
   2.385  					mkdir $TMP_DIR
   2.386  					for i in $pkg-*.tazpkg; do
   2.387  						[ -f $i ] || continue
   2.388  						{ cd $TMP_DIR ; cpio --quiet -i receipt > /dev/null 2>&1; } < $i
   2.389 -						[ "$(. $TMP_DIR/receipt; echo $PACKAGE)" == "$pkg" ] || continue
   2.390 +						[ "$(. $TMP_DIR/receipt; echo "$PACKAGE")" == "$pkg" ] || continue
   2.391  						if grep -q ^$(package_fullname_in_dir $TMP_DIR).tazpkg$ $list
   2.392  						then
   2.393 -							found=1
   2.394 +							found='1'
   2.395  							tazpkg install $i $root --list=$list
   2.396  							break
   2.397  						fi
   2.398 @@ -1053,7 +1054,7 @@
   2.399  		done
   2.400  	else
   2.401  		newline
   2.402 -		_ 'Leaving dependencies for package "%s" unresolved.' $PACKAGE
   2.403 +		_ 'Leaving dependencies for package "%s" unresolved.' "$PACKAGE"
   2.404  		_ 'The package is installed but will probably not work.'
   2.405  		newline
   2.406  	fi
   2.407 @@ -1196,14 +1197,14 @@
   2.408  			[ -f $INSTALLED/$pkg/receipt ] || continue
   2.409  			EXTRAVERSION=''
   2.410  			. $INSTALLED/$pkg/receipt
   2.411 -			grep -q ^$PACKAGE-$VERSION$EXTRAVERSION$ $FLAVOR.pkglist && continue
   2.412 -			grep -qs ^$PACKAGE$ $FLAVOR.nonfree && continue
   2.413 -			tazpkg remove $PACKAGE
   2.414 +			grep -q "^$PACKAGE-$VERSION$EXTRAVERSION$" $FLAVOR.pkglist && continue
   2.415 +			grep -qs "^$PACKAGE$" $FLAVOR.nonfree && continue
   2.416 +			tazpkg remove "$PACKAGE"
   2.417  		done
   2.418  	else
   2.419  		_ "Can't find flavor \"%s\". Abort." $FLAVOR
   2.420  	fi
   2.421 -	cd $TOP_DIR
   2.422 +	cd "$TOP_DIR"
   2.423  	rm -rf $TMP_DIR
   2.424  }
   2.425  
   2.426 @@ -1472,14 +1473,14 @@
   2.427  		check_for_package_on_cmdline
   2.428  		if [ -d "$INSTALLED/$PACKAGE" ]; then
   2.429  			# installed package
   2.430 -			title 'Installed files by "%s"' $PACKAGE
   2.431 -			sort < $INSTALLED/$PACKAGE/files.list
   2.432 -			num=$(wc -l < $INSTALLED/$PACKAGE/files.list)
   2.433 +			title 'Installed files by "%s"' "$PACKAGE"
   2.434 +			sort < "$INSTALLED/$PACKAGE/files.list"
   2.435 +			num=$(wc -l < "$INSTALLED/$PACKAGE/files.list")
   2.436  			footer "$(_p '%s file' '%s files' $num \
   2.437  				"$(colorize 32 $num)")"
   2.438  		elif [ -n "$(grep "^$PACKAGE"$'\t' $PKGS_DB/packages.info)" ]; then
   2.439  			# available package
   2.440 -			title 'Installed files by "%s"' $PACKAGE
   2.441 +			title 'Installed files by "%s"' "$PACKAGE"
   2.442  			TMPLIST=$(mktemp)
   2.443  			lzcat $PKGS_DB/files.list.lzma | sed -n "/^$PACKAGE: / s|^[^:]*: ||p" | tee $TMPLIST
   2.444  			num=$(wc -l < $TMPLIST); rm $TMPLIST
   2.445 @@ -1498,7 +1499,7 @@
   2.446  		check_for_package_on_cmdline
   2.447  		check_for_receipt
   2.448  		EXTRAVERSION=''
   2.449 -		. $INSTALLED/$PACKAGE/receipt
   2.450 +		. "$INSTALLED/$PACKAGE/receipt"
   2.451  		im && title 'TazPkg information'
   2.452  		# Display localized short description
   2.453  		for LC in $LANG ${LANG%_*}; do
   2.454 @@ -1533,9 +1534,9 @@
   2.455  	desc|-d)
   2.456  		# Display package description
   2.457  		if [ -n "$(grep -e "^$PACKAGE"$'\t' $PKGS_DB/installed.info)" ]; then
   2.458 -			im && title 'Description of package "%s"' $PACKAGE
   2.459 +			im && title 'Description of package "%s"' "$PACKAGE"
   2.460  			if [ -s "$INSTALLED/$PACKAGE/description.txt" ]; then
   2.461 -				cat $INSTALLED/$PACKAGE/description.txt
   2.462 +				cat "$INSTALLED/$PACKAGE/description.txt"
   2.463  			else
   2.464  				im && awk -F$'\t' -vp="$PACKAGE" '{
   2.465  					if ($1 == p) print $4 }' $PKGS_DB/installed.info
   2.466 @@ -1579,7 +1580,7 @@
   2.467  			newline
   2.468  			exit 0
   2.469  		fi
   2.470 -		title 'Search result for "%s"' $PATTERN
   2.471 +		title 'Search result for "%s"' "$PATTERN"
   2.472  		# Default is to search in installed pkgs and the raw list.
   2.473  		case "$3" in
   2.474  			-i|--installed) search_in_installed_packages ;;
   2.475 @@ -1600,7 +1601,7 @@
   2.476  			newline
   2.477  			exit 0
   2.478  		fi
   2.479 -		title 'Search result for file "%s"' $2
   2.480 +		title 'Search result for file "%s"' "$2"
   2.481  		TMPLIST=$(mktemp)
   2.482  
   2.483  		if [ -n "$mirror" ]; then
   2.484 @@ -1633,7 +1634,7 @@
   2.485  				if grep -qs "$2" $pkg/files.list; then
   2.486  					. $pkg/receipt
   2.487  					newline
   2.488 -					emsg "<c 33>$(_ 'Package %s:' $PACKAGE)</c>"
   2.489 +					emsg "<c 33>$(_ 'Package %s:' "$PACKAGE")</c>"
   2.490  					awk -vtmp="$TMPLIST" -vfile="$2" -vcfile="$(colorize 32 $2)" '
   2.491  						BEGIN { efile = gensub("\+", "\\\+", "g", file); }
   2.492  						index($0, file) {
   2.493 @@ -1662,7 +1663,7 @@
   2.494  			newline
   2.495  			exit 0
   2.496  		fi
   2.497 -		title 'Search result for package "%s"' $2
   2.498 +		title 'Search result for package "%s"' "$2"
   2.499  
   2.500  		# Search for a file on mirror and output only the package name
   2.501  		TMPLIST=$(mktemp)
   2.502 @@ -1818,11 +1819,11 @@
   2.503  		[ -n "$root" ] && ROOT="$root"
   2.504  
   2.505  		if [ ! -f "$ROOT$INSTALLED/$PACKAGE/receipt" ]; then
   2.506 -			newline; _ 'Package "%s" is not installed.' $PACKAGE
   2.507 +			newline; _ 'Package "%s" is not installed.' "$PACKAGE"
   2.508  			exit 0
   2.509  		fi
   2.510  
   2.511 -		. $ROOT$INSTALLED/$PACKAGE/receipt
   2.512 +		. "$ROOT$INSTALLED/$PACKAGE/receipt"
   2.513  
   2.514  		# Info #1: dependent packages (to be processed later)
   2.515  		ALTERED="$(awk -F$'\t' -vp=" $PACKAGE " '
   2.516 @@ -1830,15 +1831,15 @@
   2.517  			' $ROOT/$PKGS_DB/installed.info)"
   2.518  
   2.519  		if [ -n "$ALTERED" ]; then
   2.520 -			_ 'The following packages depend on package "%s":' $PACKAGE
   2.521 +			_ 'The following packages depend on package "%s":' "$PACKAGE"
   2.522  			echo "$ALTERED"
   2.523  		fi
   2.524  
   2.525  		# Info #2: changed packages (to be processed later)
   2.526 -		REFRESH=$(cd $ROOT$INSTALLED ; grep -sl ^$PACKAGE$ */modifiers)
   2.527 +		REFRESH=$(cd $ROOT$INSTALLED ; grep -sl "^$PACKAGE$" */modifiers)
   2.528  
   2.529  		if [ -n "$REFRESH" ]; then
   2.530 -			_ 'The following packages have been modified by package "%s":' $PACKAGE
   2.531 +			_ 'The following packages have been modified by package "%s":' "$PACKAGE"
   2.532  			for i in $REFRESH; do
   2.533  				echo "  ${i%/modifiers}"
   2.534  			done
   2.535 @@ -1846,19 +1847,19 @@
   2.536  
   2.537  		# Confirmation
   2.538  		if im && [ -z "$auto" ]; then
   2.539 -			confirm "$(_ 'Remove package "%s" (%s)? (y/N)' $PACKAGE $VERSION$EXTRAVERSION)"
   2.540 -			if [ $? != 0 ]; then
   2.541 -				newline; _ 'Uninstallation of package "%s" cancelled.' $PACKAGE
   2.542 +			confirm "$(_ 'Remove package "%s" (%s)? (y/N)' "$PACKAGE" "$VERSION$EXTRAVERSION")"
   2.543 +			if [ "$?" -ne 0 ]; then
   2.544 +				newline; _ 'Uninstallation of package "%s" cancelled.' "$PACKAGE"
   2.545  				exit 0
   2.546  			fi
   2.547  		fi
   2.548  		# We are here: non-interactive mode, or --auto, or answer 'y'
   2.549  
   2.550  		# Removing package
   2.551 -		title 'Removing package "%s"' $PACKAGE
   2.552 +		title 'Removing package "%s"' "$PACKAGE"
   2.553  
   2.554  		# [1/4] Pre-remove commands
   2.555 -		if grep -q ^pre_remove $ROOT$INSTALLED/$PACKAGE/receipt; then
   2.556 +		if grep -q ^pre_remove "$ROOT$INSTALLED/$PACKAGE/receipt"; then
   2.557  			action "Execution of pre-remove commands..."
   2.558  			pre_remove $ROOT
   2.559  			status
   2.560 @@ -1866,37 +1867,37 @@
   2.561  
   2.562  		# [2/4] Removing files
   2.563  		action "Removing all files installed..."
   2.564 -		if [ -f $ROOT$INSTALLED/$PACKAGE/modifiers ]; then
   2.565 -			for file in $(cat $ROOT$INSTALLED/$PACKAGE/files.list); do
   2.566 -				for mod in $(cat $ROOT$INSTALLED/$PACKAGE/modifiers); do
   2.567 -					[ -f $ROOT$INSTALLED/$mod/files.list ] && \
   2.568 +		if [ -f "$ROOT$INSTALLED/$PACKAGE/modifiers" ]; then
   2.569 +			for file in $(cat "$ROOT$INSTALLED/$PACKAGE/files.list"); do
   2.570 +				for mod in $(cat "$ROOT$INSTALLED/$PACKAGE/modifiers"); do
   2.571 +					[ -f "$ROOT$INSTALLED/$mod/files.list" ] && \
   2.572  					[ $(grep "^$(echo $file | grepesc)$" $ROOT$INSTALLED/$mod/files.list | wc -l) -gt 1 ] && \
   2.573  					continue 2
   2.574  				done
   2.575  				remove_with_path $ROOT$file
   2.576  			done
   2.577  		else
   2.578 -			for file in $(cat $ROOT$INSTALLED/$PACKAGE/files.list); do
   2.579 +			for file in $(cat "$ROOT$INSTALLED/$PACKAGE/files.list"); do
   2.580  				remove_with_path $ROOT$file
   2.581  			done
   2.582  		fi
   2.583  		status
   2.584  
   2.585  		# [3/4] Post-remove commands
   2.586 -		if grep -q ^post_remove $ROOT$INSTALLED/$PACKAGE/receipt; then
   2.587 -			action "Execution of post-remove commands..."
   2.588 +		if grep -q ^post_remove "$ROOT$INSTALLED/$PACKAGE/receipt"; then
   2.589 +			action 'Execution of post-remove commands...'
   2.590  			post_remove $ROOT
   2.591  			status
   2.592  		fi
   2.593  
   2.594  		# [4/4] Remove package receipt and remove it from databases
   2.595 -		action "Removing package receipt..."
   2.596 -		rm -rf $ROOT$INSTALLED/$PACKAGE
   2.597 +		action 'Removing package receipt...'
   2.598 +		rm -rf "$ROOT$INSTALLED/$PACKAGE"
   2.599  		sed -i "/ $PACKAGE-$VERSION$EXTRAVERSION.tazpkg$/d" $PKGS_DB/installed.$SUM
   2.600  		sed -i "/^$PACKAGE	/d" $PKGS_DB/installed.info
   2.601  		status
   2.602  
   2.603 -		footer "$(_ 'Package "%s" (%s) removed.' $PACKAGE $VERSION$EXTRAVERSION)"
   2.604 +		footer "$(_ 'Package "%s" (%s) removed.' "$PACKAGE" "$VERSION$EXTRAVERSION")"
   2.605  
   2.606  		# Log this activity
   2.607  		log_pkg Removed
   2.608 @@ -1909,10 +1910,10 @@
   2.609  			if [ -n "$auto" ]; then
   2.610  				answer=0
   2.611  			else
   2.612 -				confirm "$(_ 'Remove packages depending on package "%s"? (y/N)' $PACKAGE)"
   2.613 +				confirm "$(_ 'Remove packages depending on package "%s"? (y/N)' "$PACKAGE")"
   2.614  				answer=$?
   2.615  			fi
   2.616 -			if [ "$answer" == '0' ]; then
   2.617 +			if [ "$answer" -eq 0 ]; then
   2.618  				for i in $ALTERED; do
   2.619  					if [ -d "$ROOT$INSTALLED/$i" ]; then
   2.620  						echo "tazpkg remove $i $ROOTOPTS"
   2.621 @@ -1926,12 +1927,12 @@
   2.622  			if [ -n "$auto" ]; then
   2.623  				answer=0
   2.624  			else
   2.625 -				confirm "$(_ 'Reinstall packages modified by package "%s"? (y/N)' $PACKAGE)"
   2.626 +				confirm "$(_ 'Reinstall packages modified by package "%s"? (y/N)' "$PACKAGE")"
   2.627  				answer=$?
   2.628  			fi
   2.629 -			if [ "$answer" == '0' ]; then
   2.630 +			if [ "$answer" -eq 0 ]; then
   2.631  				for i in $REFRESH; do
   2.632 -					if [ $(wc -l < $ROOT$INSTALLED/$i) -gt 1 ]; then
   2.633 +					if [ "$(wc -l < $ROOT$INSTALLED/$i)" -gt 1 ]; then
   2.634  						_ 'Check %s for reinstallation' "$INSTALLED/$i"
   2.635  						continue
   2.636  					fi
   2.637 @@ -1959,14 +1960,14 @@
   2.638  		fi
   2.639  		mkdir -p $DESTDIR
   2.640  
   2.641 -		action "Copying original package..."
   2.642 -		cp $PACKAGE_FILE $DESTDIR
   2.643 +		action 'Copying original package...'
   2.644 +		cp "$PACKAGE_FILE" $DESTDIR
   2.645  		status
   2.646  
   2.647  		cd $DESTDIR
   2.648  		extract_package
   2.649  		[ -e "receipt" ] && \
   2.650 -			footer "$(_ 'Package "%s" is extracted to "%s"' $PACKAGE $DESTDIR)"
   2.651 +			footer "$(_ 'Package "%s" is extracted to "%s"' "$PACKAGE" "$DESTDIR")"
   2.652  		;;
   2.653  
   2.654  
   2.655 @@ -1978,7 +1979,7 @@
   2.656  		mkdir -p $TMP_DIR
   2.657  
   2.658  		action "Copying original package..."
   2.659 -		cp $PACKAGE_FILE $TMP_DIR
   2.660 +		cp "$PACKAGE_FILE" $TMP_DIR
   2.661  		status
   2.662  
   2.663  		cd $TMP_DIR
   2.664 @@ -1991,12 +1992,12 @@
   2.665  
   2.666  		action "Creating new package..."
   2.667  		find . -print | cpio -o -H newc --quiet > \
   2.668 -			$TOP_DIR/$(basename $PACKAGE_FILE).$$ && mv -f \
   2.669 -			$TOP_DIR/$(basename $PACKAGE_FILE).$$ \
   2.670 -			$TOP_DIR/$(basename $PACKAGE_FILE)
   2.671 +			"$TOP_DIR/$(basename "$PACKAGE_FILE").$$" && mv -f \
   2.672 +			"$TOP_DIR/$(basename "$PACKAGE_FILE").$$" \
   2.673 +			"$TOP_DIR/$(basename "$PACKAGE_FILE")"
   2.674  		status
   2.675  
   2.676 -		cd $TOP_DIR
   2.677 +		cd "$TOP_DIR"
   2.678  		rm -rf $TMP_DIR
   2.679  		separator; newline ;;
   2.680  
   2.681 @@ -2021,7 +2022,7 @@
   2.682  				done
   2.683  				rm -rf *
   2.684  			done
   2.685 -			cd $TOP_DIR
   2.686 +			cd "$TOP_DIR"
   2.687  			rm -rf $TMP_DIR
   2.688  		else
   2.689  			im && title 'Configuration files'
   2.690 @@ -2067,8 +2068,8 @@
   2.691  EOT
   2.692  		cd ..
   2.693  		tazpkg pack config-$CONFIG_VERSION
   2.694 -		cp config-$CONFIG_VERSION.tazpkg $TOP_DIR
   2.695 -		cd $TOP_DIR
   2.696 +		cp config-$CONFIG_VERSION.tazpkg "$TOP_DIR"
   2.697 +		cd "$TOP_DIR"
   2.698  		rm -rf $TMP_DIR
   2.699  		;;
   2.700  
   2.701 @@ -2078,17 +2079,17 @@
   2.702  		check_for_package_on_cmdline
   2.703  		check_for_receipt
   2.704  		EXTRAVERSION=''
   2.705 -		. $INSTALLED/$PACKAGE/receipt
   2.706 +		. "$INSTALLED/$PACKAGE/receipt"
   2.707  		title 'Repacking "%s"' "$PACKAGE-$VERSION$EXTRAVERSION.tazpkg"
   2.708  
   2.709 -		if grep -qs ^NO_REPACK= $INSTALLED/$PACKAGE/receipt; then
   2.710 -			_ "Can't repack package \"%s\"" $PACKAGE
   2.711 +		if grep -qs ^NO_REPACK= "$INSTALLED/$PACKAGE/receipt"; then
   2.712 +			_ "Can't repack package \"%s\"" "$PACKAGE"
   2.713  			exit 1
   2.714  		fi
   2.715  
   2.716 -		if [ -s $INSTALLED/$PACKAGE/modifiers ]; then
   2.717 -			_ "Can't repack, \"%s\" files have been modified by:" $PACKAGE
   2.718 -			for i in $(cat $INSTALLED/$PACKAGE/modifiers); do
   2.719 +		if [ -s "$INSTALLED/$PACKAGE/modifiers" ]; then
   2.720 +			_ "Can't repack, \"%s\" files have been modified by:" "$PACKAGE"
   2.721 +			for i in $(cat "$INSTALLED/$PACKAGE/modifiers"); do
   2.722  				echo "  $i"
   2.723  			done
   2.724  			exit 1
   2.725 @@ -2098,7 +2099,7 @@
   2.726  		while read i; do
   2.727  			[ -e "$i" ] && continue
   2.728  			[ -L "$i" ] || MISSING="$MISSING\n  $i"
   2.729 -		done < $INSTALLED/$PACKAGE/files.list
   2.730 +		done < "$INSTALLED/$PACKAGE/files.list"
   2.731  		if [ -n "$MISSING" ]; then
   2.732  			_n "Can't repack, the following files are lost:"
   2.733  			echo -e "$MISSING"
   2.734 @@ -2107,10 +2108,10 @@
   2.735  
   2.736  		mkdir -p $TMP_DIR; cd $TMP_DIR
   2.737  		FILES="fs.cpio.lzma\n"
   2.738 -		for i in $(ls $INSTALLED/$PACKAGE); do
   2.739 +		for i in $(ls "$INSTALLED/$PACKAGE"); do
   2.740  			case $i in
   2.741  				volatile.cpio.gz|modifiers) ;;
   2.742 -				*) cp $INSTALLED/$PACKAGE/$i .; FILES="$FILES$i\n" ;;
   2.743 +				*) cp "$INSTALLED/$PACKAGE/$i" .; FILES="$FILES$i\n" ;;
   2.744  			esac
   2.745  		done
   2.746  
   2.747 @@ -2120,21 +2121,21 @@
   2.748  			{ cd tmp ; cpio -idm --quiet >/dev/null; cd ..; }
   2.749  		mv tmp/rootfs fs
   2.750  
   2.751 -		if [ -f $INSTALLED/$PACKAGE/volatile.cpio.gz ]; then
   2.752 -			zcat $INSTALLED/$PACKAGE/volatile.cpio.gz | \
   2.753 +		if [ -f  "$INSTALLED/$PACKAGE/volatile.cpio.gz" ]; then
   2.754 +			zcat "$INSTALLED/$PACKAGE/volatile.cpio.gz" | \
   2.755  				{ cd fs; cpio -idm --quiet; cd ..; }
   2.756  		fi
   2.757  
   2.758 -		if fgrep -q repack_cleanup $INSTALLED/$PACKAGE/receipt; then
   2.759 -			. $INSTALLED/$PACKAGE/receipt
   2.760 +		if fgrep -q repack_cleanup "$INSTALLED/$PACKAGE/receipt"; then
   2.761 +			. "$INSTALLED/$PACKAGE/receipt"
   2.762  			repack_cleanup fs
   2.763  		fi
   2.764  
   2.765 -		if [ -f $INSTALLED/$PACKAGE/$CHECKSUM ]; then
   2.766 -			sed 's,  ,  fs,' < $INSTALLED/$PACKAGE/$CHECKSUM | \
   2.767 +		if [ -f "$INSTALLED/$PACKAGE/$CHECKSUM" ]; then
   2.768 +			sed 's,  ,  fs,' < "$INSTALLED/$PACKAGE/$CHECKSUM" | \
   2.769  			$CHECKSUM -s -c || {
   2.770  				_ "Can't repack, %s error." "$CHECKSUM"
   2.771 -				cd $TOP_DIR
   2.772 +				cd "$TOP_DIR"
   2.773  				rm -rf $TMP_DIR
   2.774  				exit 1
   2.775  			}
   2.776 @@ -2142,25 +2143,26 @@
   2.777  
   2.778  		find fs | cpio -o -H newc --quiet | lzma e fs.cpio.lzma -si
   2.779  		echo -e "$FILES" | cpio -o -H newc --quiet > \
   2.780 -			$TOP_DIR/$PACKAGE-$VERSION$EXTRAVERSION.tazpkg
   2.781 -		cd $TOP_DIR
   2.782 +			"$TOP_DIR/$PACKAGE-$VERSION$EXTRAVERSION.tazpkg"
   2.783 +		cd "$TOP_DIR"
   2.784  		\rm -R $TMP_DIR
   2.785 -		_ 'Package "%s" repacked successfully.' $PACKAGE
   2.786 -		_ 'Size: %s' "$(du -sh $PACKAGE-$VERSION$EXTRAVERSION.tazpkg)"
   2.787 -		newline ;;
   2.788 +		_ 'Package "%s" repacked successfully.' "$PACKAGE"
   2.789 +		_ 'Size: %s' "$(du -sh "$PACKAGE-$VERSION$EXTRAVERSION.tazpkg")"
   2.790 +		newline
   2.791 +		;;
   2.792  
   2.793  
   2.794  	pack)
   2.795  		# Create SliTaz package archive using cpio and lzma.
   2.796  		# TODO: Cook also pack packages, we should share code in libpkg.sh
   2.797  		check_for_package_on_cmdline
   2.798 -		cd $PACKAGE
   2.799 +		cd "$PACKAGE"
   2.800  		if [ ! -f 'receipt' ]; then
   2.801  			_ 'Receipt is missing. Please read the documentation.'
   2.802  			exit 0
   2.803  		fi
   2.804  
   2.805 -		title 'Packing package "%s"' $PACKAGE
   2.806 +		title 'Packing package "%s"' "$PACKAGE"
   2.807  		# Create files.list with redirecting find outpout.
   2.808  
   2.809  		action 'Creating the list of files...'
   2.810 @@ -2170,7 +2172,7 @@
   2.811  		cd ..; sed -i s/'^.'/''/ files.list
   2.812  		status
   2.813  
   2.814 -		action 'Creating %s of files...' $CHECKSUM
   2.815 +		action 'Creating %s of files...' "$CHECKSUM"
   2.816  		while read file; do
   2.817  			[ -L "fs$file" ] && continue
   2.818  			[ -f "fs$file" ] || continue
   2.819 @@ -2203,7 +2205,7 @@
   2.820  		status
   2.821  
   2.822  		action "Creating full cpio archive..."
   2.823 -		find . -print | cpio -o -H newc --quiet > ../$PACKAGE.tazpkg
   2.824 +		find . -print | cpio -o -H newc --quiet > "../$PACKAGE.tazpkg"
   2.825  		status
   2.826  
   2.827  		action "Restoring original package tree..."
   2.828 @@ -2211,8 +2213,8 @@
   2.829  		status
   2.830  
   2.831  		rm fs.cpio.lzma && cd ..
   2.832 -		footer "$(_ 'Package "%s" compressed successfully.' $PACKAGE)"
   2.833 -		_ 'Size: %s' "$(ls -lh $PACKAGE.tazpkg | awk '{print $5}')"
   2.834 +		footer "$(_ 'Package "%s" compressed successfully.' "$PACKAGE")"
   2.835 +		_ 'Size: %s' "$(ls -lh "$PACKAGE.tazpkg" | awk '{print $5}')"
   2.836  		;;
   2.837  
   2.838  
   2.839 @@ -2252,7 +2254,7 @@
   2.840  			if [ "$path" == "$PKGS_DB" ]; then
   2.841  				repo_name='Main'
   2.842  			else
   2.843 -				repo_name="$(_n 'Undigest %s' "$(basename $path)")"
   2.844 +				repo_name="$(_n 'Undigest %s' "$(basename "$path")")"
   2.845  			fi
   2.846  
   2.847  			title 'Recharging repository "%s"' "$repo_name"
   2.848 @@ -2419,7 +2421,7 @@
   2.849  				if ! fgrep -q "$md5  $PACKAGE-" $pkg_sum; then
   2.850  					# Jump to next repository in priority if pkg doesn't exist
   2.851  					# in this one.
   2.852 -					grep -q ^$PACKAGE- $pkg_list || continue
   2.853 +					grep -q "^$PACKAGE-" $pkg_list || continue
   2.854  
   2.855  					emsg -n "$PACKAGE<i 28> $VERSION"
   2.856  
   2.857 @@ -2435,7 +2437,7 @@
   2.858  					if [ "$VERSION" == "$new" ]; then
   2.859  						emsg "<i 48><c 34> $(_ 'New build')</c>"
   2.860  					else
   2.861 -						emsg "<i 48><c 32> $(_ 'New version %s' $new)</c>"
   2.862 +						emsg "<i 48><c 32> $(_ 'New version %s' "$new")</c>"
   2.863  					fi
   2.864  					echo "$PACKAGE" >> $UP_LIST
   2.865  					break
   2.866 @@ -2507,11 +2509,11 @@
   2.867  		for PACKAGE in $LIST; do
   2.868  			BUGS=''
   2.869  			EXTRAVERSION=''
   2.870 -			. $PACKAGE/receipt
   2.871 +			. "$PACKAGE/receipt"
   2.872  			if [ -n "$BUGS" ]; then
   2.873  				MSG=$(_n 'Bug list completed')
   2.874  				newline
   2.875 -				_ 'Bugs in package "%s" version %s:' $PACKAGE $VERSION$EXTRAVERSION
   2.876 +				_ 'Bugs in package "%s" version %s:' "$PACKAGE" "$VERSION$EXTRAVERSION"
   2.877  				cat <<EOT
   2.878    $BUGS
   2.879  EOT
   2.880 @@ -2541,11 +2543,11 @@
   2.881  
   2.882  			DEPENDS=''
   2.883  			EXTRAVERSION=''
   2.884 -			. $PACKAGE/receipt
   2.885 -			if [ -s $PACKAGE/modifiers ]; then
   2.886 +			. "$PACKAGE/receipt"
   2.887 +			if [ -s "$PACKAGE/modifiers" ]; then
   2.888  				print_pkgname
   2.889  				_ 'The package has been modified by:'
   2.890 -				awk '{print "  " $0}' $PACKAGE/modifiers
   2.891 +				awk '{print "  " $0}' "$PACKAGE/modifiers"
   2.892  			fi
   2.893  
   2.894  			MSG="$(_n 'Files lost from package:')\n"
   2.895 @@ -2557,7 +2559,7 @@
   2.896  				print_pkgname
   2.897  				echo -e "$MSG  $file"
   2.898  				MSG=''
   2.899 -			done < $PACKAGE/files.list
   2.900 +			done < "$PACKAGE/files.list"
   2.901  
   2.902  			MSG="$(_n 'Missing dependencies for package:')\n"
   2.903  			for i in $DEPENDS; do
   2.904 @@ -2570,7 +2572,7 @@
   2.905  
   2.906  			MSG="$(_n 'Dependencies loop between package and:')\n"
   2.907  			ALL_DEPS=''
   2.908 -			check_for_deps_loop $PACKAGE $DEPENDS
   2.909 +			check_for_deps_loop "$PACKAGE" "$DEPENDS"
   2.910  		done
   2.911  		[ -n "$PACKAGE_PRINTED" ] && footer
   2.912  
   2.913 @@ -2586,7 +2588,7 @@
   2.914  			for PACKAGE in $PACKAGES; do
   2.915  				file="$PACKAGE/$CHECKSUM"
   2.916  				CONFIG_FILES=''
   2.917 -				. $PACKAGE/receipt
   2.918 +				. "$PACKAGE/receipt"
   2.919  				[ -s "$file" ] || continue
   2.920  				while read md5 f; do
   2.921  					[ -f $f ] || continue
   2.922 @@ -2604,7 +2606,7 @@
   2.923  			title 'Check file providers:'
   2.924  			FILES=' '
   2.925  			for PACKAGE in $PACKAGES; do
   2.926 -				for file in $(cat $PACKAGE/files.list); do
   2.927 +				for file in $(cat "$PACKAGE/files.list"); do
   2.928  					[ -d "$file" ] && continue
   2.929  					case "$FILES" in
   2.930  						*\ $file\ *) continue;;
   2.931 @@ -2650,18 +2652,19 @@
   2.932  		check_root $@
   2.933  		check_for_package_on_cmdline
   2.934  		newline
   2.935 -		if [ ! -d $INSTALLED/$PACKAGE ]; then
   2.936 -			_ 'Package "%s" is not installed.' $PACKAGE; exit
   2.937 +		if [ ! -d "$INSTALLED/$PACKAGE" ]; then
   2.938 +			_ 'Package "%s" is not installed.' "$PACKAGE"; exit
   2.939  		fi
   2.940  		if grep -qs "^$PACKAGE" $BLOCKED; then
   2.941 -			_ 'Package "%s" is already blocked.' $PACKAGE
   2.942 +			_ 'Package "%s" is already blocked.' "$PACKAGE"
   2.943  		else
   2.944 -			echo $PACKAGE >> $BLOCKED
   2.945 +			echo "$PACKAGE" >> $BLOCKED
   2.946  			# Log this activity
   2.947 -			. $INSTALLED/$PACKAGE/receipt; log_pkg Blocked
   2.948 -			_ 'Package "%s" blocked.' $PACKAGE
   2.949 +			. "$INSTALLED/$PACKAGE/receipt"; log_pkg Blocked
   2.950 +			_ 'Package "%s" blocked.' "$PACKAGE"
   2.951  		fi
   2.952 -		newline ;;
   2.953 +		newline
   2.954 +		;;
   2.955  
   2.956  
   2.957  	unblock|-u)
   2.958 @@ -2669,18 +2672,19 @@
   2.959  		check_root $@
   2.960  		check_for_package_on_cmdline
   2.961  		newline
   2.962 -		if [ ! -d $INSTALLED/$PACKAGE ]; then
   2.963 -			_ 'Package "%s" is not installed.' $PACKAGE; exit
   2.964 +		if [ ! -d "$INSTALLED/$PACKAGE" ]; then
   2.965 +			_ 'Package "%s" is not installed.' "$PACKAGE"; exit
   2.966  		fi
   2.967  		if grep -qs "^$PACKAGE" $BLOCKED; then
   2.968  			sed -i "/^$PACKAGE\$/d" $BLOCKED
   2.969  			# Log this activity
   2.970 -			. $INSTALLED/$PACKAGE/receipt; log_pkg Unblocked
   2.971 -			_ 'Package "%s" unblocked.' $PACKAGE
   2.972 +			. "$INSTALLED/$PACKAGE/receipt"; log_pkg Unblocked
   2.973 +			_ 'Package "%s" unblocked.' "$PACKAGE"
   2.974  		else
   2.975 -			_ 'Package "%s" is not blocked.' $PACKAGE
   2.976 +			_ 'Package "%s" is not blocked.' "$PACKAGE"
   2.977  		fi
   2.978 -		newline ;;
   2.979 +		newline
   2.980 +		;;
   2.981  
   2.982  
   2.983  	chblock)
   2.984 @@ -2688,21 +2692,22 @@
   2.985  		check_root $@
   2.986  		check_for_package_on_cmdline
   2.987  		newline
   2.988 -		if [ ! -d $INSTALLED/$PACKAGE ]; then
   2.989 -			_ 'Package "%s" is not installed.' $PACKAGE; exit
   2.990 +		if [ ! -d "$INSTALLED/$PACKAGE" ]; then
   2.991 +			_ 'Package "%s" is not installed.' "$PACKAGE"; exit
   2.992  		fi
   2.993  		if grep -qs "^$PACKAGE" $BLOCKED; then
   2.994  			sed -i "/^$PACKAGE\$/d" $BLOCKED
   2.995  			# Log this activity
   2.996 -			. $INSTALLED/$PACKAGE/receipt; log_pkg Unblocked
   2.997 -			_ 'Package "%s" unblocked.' $PACKAGE
   2.998 +			. "$INSTALLED/$PACKAGE/receipt"; log_pkg Unblocked
   2.999 +			_ 'Package "%s" unblocked.' "$PACKAGE"
  2.1000  		else
  2.1001 -			echo $PACKAGE >> $BLOCKED
  2.1002 +			echo "$PACKAGE" >> $BLOCKED
  2.1003  			# Log this activity
  2.1004 -			. $INSTALLED/$PACKAGE/receipt; log_pkg Blocked
  2.1005 -			_ 'Package "%s" blocked.' $PACKAGE
  2.1006 +			. "$INSTALLED/$PACKAGE/receipt"; log_pkg Blocked
  2.1007 +			_ 'Package "%s" blocked.' "$PACKAGE"
  2.1008  		fi
  2.1009 -		newline ;;
  2.1010 +		newline
  2.1011 +		;;
  2.1012  
  2.1013  
  2.1014  	get|-g)
  2.1015 @@ -2737,7 +2742,7 @@
  2.1016  					_ 'Continuing package "%s" download' "$PACKAGE"
  2.1017  					download "$PACKAGE.tazpkg"
  2.1018  				}
  2.1019 -				if [ "$($CHECKSUM $PACKAGE.tazpkg)" != \
  2.1020 +				if [ "$($CHECKSUM "$PACKAGE.tazpkg")" != \
  2.1021  					"$(fgrep "  $PACKAGE.tazpkg" "$rep/packages.$SUM")" ]; then
  2.1022  					rm -f "$PACKAGE.tazpkg"
  2.1023  					download "$PACKAGE.tazpkg"
  2.1024 @@ -2784,14 +2789,14 @@
  2.1025  		if ! check_for_package_in_list check; then
  2.1026  			CACHE_DIR="${CACHE_DIR%/*}/get"
  2.1027  			[ -d "$CACHE_DIR" ] || mkdir -p $CACHE_DIR
  2.1028 -			if download_get_script $PACKAGE /tmp/$PACKAGE.$$ ; then
  2.1029 -				install_package_from_get_script /tmp/$PACKAGE.$$ $ROOT
  2.1030 +			if download_get_script "$PACKAGE" "/tmp/$PACKAGE.$$" ; then
  2.1031 +				install_package_from_get_script "/tmp/$PACKAGE.$$" $ROOT
  2.1032  				exit 0
  2.1033  			else
  2.1034  				PACKAGE="get-$PACKAGE"
  2.1035  				AUTOEXEC="$PACKAGE"
  2.1036  				check_for_package_in_list
  2.1037 -				if [ -n "$(get_installed_package_pathname $PACKAGE $ROOT)" ]; then
  2.1038 +				if [ -n "$(get_installed_package_pathname "$PACKAGE" "$ROOT")" ]; then
  2.1039  					$AUTOEXEC $ROOT
  2.1040  					exit 0
  2.1041  				fi
  2.1042 @@ -2803,24 +2808,24 @@
  2.1043  		fi
  2.1044  		cd $CACHE_DIR
  2.1045  		if [ -f "$PACKAGE.tazpkg" ]; then
  2.1046 -			_ 'Package "%s" already in the cache' $PACKAGE
  2.1047 +			_ 'Package "%s" already in the cache' "$PACKAGE"
  2.1048  			# Check package download was finished
  2.1049 -			tail -c 2k $PACKAGE.tazpkg | fgrep -q 00000000TRAILER || {
  2.1050 -				_ 'Continuing package "%s" download' $PACKAGE
  2.1051 -				download $PACKAGE.tazpkg
  2.1052 +			tail -c 2k "$PACKAGE.tazpkg" | fgrep -q '00000000TRAILER' || {
  2.1053 +				_ 'Continuing package "%s" download' "$PACKAGE"
  2.1054 +				download "$PACKAGE.tazpkg"
  2.1055  			}
  2.1056 -			if [ "$($CHECKSUM $PACKAGE.tazpkg)" != "$(fgrep "  $PACKAGE.tazpkg" $rep/packages.$SUM)" ]; then
  2.1057 -				rm -f $PACKAGE.tazpkg
  2.1058 -				download $PACKAGE.tazpkg
  2.1059 +			if [ "$($CHECKSUM "$PACKAGE.tazpkg")" != "$(fgrep "  $PACKAGE.tazpkg" $rep/packages.$SUM)" ]; then
  2.1060 +				rm -f "$PACKAGE.tazpkg"
  2.1061 +				download "$PACKAGE.tazpkg"
  2.1062  			fi
  2.1063  		else
  2.1064  			newline
  2.1065 -			download $PACKAGE.tazpkg
  2.1066 +			download "$PACKAGE.tazpkg"
  2.1067  		fi
  2.1068  		PACKAGE_FILE="$CACHE_DIR/$PACKAGE.tazpkg"
  2.1069  		[ -n "$rootconfig" ] && PKGS_DB="${PKGS_DB#$root}"
  2.1070  		install_package "$ROOT"
  2.1071 -		[ "$AUTOEXEC" != "no" ] && $PACKAGE $ROOT
  2.1072 +		[ "$AUTOEXEC" != 'no' ] && "$PACKAGE" $ROOT
  2.1073  		update_desktop_database $ROOT
  2.1074  		update_mime_database    $ROOT ;;
  2.1075  
  2.1076 @@ -2829,10 +2834,10 @@
  2.1077  		# Remove all downloaded packages.
  2.1078  		check_root $@
  2.1079  		files=$(find $CACHE_DIR -name *.tazpkg | wc -l)
  2.1080 -		size=$(du -hs $CACHE_DIR | cut -f1 | sed 's|\.0||'); [ "$files" == '0' ] && size="0K"
  2.1081 -
  2.1082 -		title "Cleaning cache directory..."
  2.1083 -		action 'Path: %s' $CACHE_DIR
  2.1084 +		size=$(du -hs $CACHE_DIR | cut -f1 | sed 's|\.0||'); [ "$files" -eq 0 ] && size="0K"
  2.1085 +
  2.1086 +		title 'Cleaning cache directory...'
  2.1087 +		action 'Path: %s' "$CACHE_DIR"
  2.1088  		rm -rf $CACHE_DIR/*
  2.1089  		status
  2.1090  
  2.1091 @@ -2848,7 +2853,7 @@
  2.1092  		if [ -n "$box" ]; then
  2.1093  			for i in $PKGS_DB/undigest/*/mirror; do
  2.1094  				[ -f "$i" ] || continue
  2.1095 -				echo "$(basename $(dirname $i))|$(cat $i)"
  2.1096 +				echo "$(basename "$(dirname "$i")")|$(cat "$i")"
  2.1097  			done
  2.1098  		else
  2.1099  			title 'Current undigest(s)'
  2.1100 @@ -2857,7 +2862,7 @@
  2.1101  					_ 'No undigest mirror found.'
  2.1102  					exit 1
  2.1103  				fi
  2.1104 -				echo "$(basename $(dirname $i))"$'\t'"$(cat $i)"
  2.1105 +				echo "$(basename "$(dirname "$i")")"$'\t'"$(cat "$i")"
  2.1106  			done
  2.1107  			newline
  2.1108  		fi
  2.1109 @@ -2919,21 +2924,22 @@
  2.1110  		if [ -d "$ROOT$INSTALLED/$PACKAGE" ]; then
  2.1111  			check_for_receipt $ROOT
  2.1112  			# Check for post_install
  2.1113 -			if grep -q ^post_install $ROOT$INSTALLED/$PACKAGE/receipt; then
  2.1114 -				. $ROOT$INSTALLED/$PACKAGE/receipt
  2.1115 +			if grep -q ^post_install "$ROOT$INSTALLED/$PACKAGE/receipt"; then
  2.1116 +				. "$ROOT$INSTALLED/$PACKAGE/receipt"
  2.1117  				post_install $ROOT
  2.1118  				# Log this activity
  2.1119  				[ -z "$ROOT" ] && log_pkg Reconfigured
  2.1120  			else
  2.1121  				newline
  2.1122 -				_ 'Nothing to do for package "%s".' $PACKAGE
  2.1123 +				_ 'Nothing to do for package "%s".' "$PACKAGE"
  2.1124  			fi
  2.1125  		else
  2.1126  			newline
  2.1127 -			_ 'Package "%s" is not installed.' $PACKAGE
  2.1128 +			_ 'Package "%s" is not installed.' "$PACKAGE"
  2.1129  			_ 'Install package with "%s" or "%s"' 'tazpkg install' 'tazpkg get-install'
  2.1130  			newline
  2.1131 -		fi ;;
  2.1132 +		fi
  2.1133 +		;;
  2.1134  
  2.1135  
  2.1136  	shell)
  2.1137 @@ -2997,7 +3003,7 @@
  2.1138  				done
  2.1139  				fi
  2.1140  				cat <<EOT
  2.1141 -$(boldify $(echo $PACKAGE):) $SUGGESTED
  2.1142 +$(boldify $(echo "$PACKAGE"):) $SUGGESTED
  2.1143  EOT
  2.1144  			fi
  2.1145  		done
  2.1146 @@ -3014,7 +3020,7 @@
  2.1147  
  2.1148  	link)
  2.1149  		# link a package from another slitaz installation
  2.1150 -		PACKAGE=$2
  2.1151 +		PACKAGE="$2"
  2.1152  		if [ ! -d "$TARGET_DIR" -o \
  2.1153  		     ! -d "$TARGET_DIR$INSTALLED/$PACKAGE" ]; then
  2.1154  			_ 'Usage: tazpkg link package_name slitaz_root'
  2.1155 @@ -3026,11 +3032,11 @@
  2.1156  			exit 1
  2.1157  		fi
  2.1158  		if [ -e "$INSTALLED/$PACKAGE" ]; then
  2.1159 -			_ 'Package "%s" is already installed.' $PACKAGE
  2.1160 +			_ 'Package "%s" is already installed.' "$PACKAGE"
  2.1161  			exit 1
  2.1162  		fi
  2.1163 -		ln -s $TARGET_DIR$INSTALLED/$PACKAGE $INSTALLED
  2.1164 -		DEPENDS="$(. $INSTALLED/$PACKAGE/receipt ; echo $DEPENDS)"
  2.1165 +		ln -s "$TARGET_DIR$INSTALLED/$PACKAGE" $INSTALLED
  2.1166 +		DEPENDS="$(. "$INSTALLED/$PACKAGE/receipt"; echo $DEPENDS)"
  2.1167  		MISSING=''
  2.1168  		for i in $DEPENDS; do
  2.1169  			[ -e $INSTALLED/$i ] && continue
  2.1170 @@ -3042,31 +3048,31 @@
  2.1171  			confirm "$(_ 'Link all missing dependencies? (y/N)')"
  2.1172  			answer=$?
  2.1173  			newline
  2.1174 -			if [ "$answer" == 0 ]; then
  2.1175 +			if [ "$answer" -eq 0 ]; then
  2.1176  				for i in $MISSING; do
  2.1177  					tazpkg link $i $TARGET_DIR
  2.1178  				done
  2.1179  			else
  2.1180  				newline
  2.1181 -				_ 'Leaving dependencies unresolved for package "%s"' $PACKAGE
  2.1182 +				_ 'Leaving dependencies unresolved for package "%s"' "$PACKAGE"
  2.1183  				_ 'The package is installed but probably will not work.'
  2.1184  				newline
  2.1185  			fi
  2.1186  		fi
  2.1187 -		. $INSTALLED/$PACKAGE/receipt
  2.1188 -		if grep -q ^pre_install $INSTALLED/$PACKAGE/receipt; then
  2.1189 +		. "$INSTALLED/$PACKAGE/receipt"
  2.1190 +		if grep -q ^pre_install "$INSTALLED/$PACKAGE/receipt"; then
  2.1191  			pre_install
  2.1192  		fi
  2.1193  		while read path; do
  2.1194  			[ -e "$path" ] && continue
  2.1195  			while true; do
  2.1196 -				dir="$(dirname $path)"
  2.1197 +				dir="$(dirname "$path")"
  2.1198  				[ -e "$dir" ] && break
  2.1199  				path="$dir"
  2.1200  			done
  2.1201  			ln -s "$TARGET_DIR$path" "$dir"
  2.1202 -		done < $INSTALLED/$PACKAGE/files.list
  2.1203 -		if grep -q ^post_install $INSTALLED/$PACKAGE/receipt; then
  2.1204 +		done < "$INSTALLED/$PACKAGE/files.list"
  2.1205 +		if grep -q ^post_install "$INSTALLED/$PACKAGE/receipt"; then
  2.1206  			post_install
  2.1207  		fi ;;
  2.1208