tazpkg diff 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
line diff
     1.1 --- a/tazpkg	Thu Jun 04 17:15:40 2015 +0300
     1.2 +++ b/tazpkg	Fri Jun 05 00:37:48 2015 +0300
     1.3 @@ -106,6 +106,7 @@
     1.4  # User Agent
     1.5  UA="TazPkg-$VERSION"
     1.6  
     1.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
     1.8  
     1.9  
    1.10  ####################
    1.11 @@ -252,7 +253,7 @@
    1.12  check_for_package_file() {
    1.13  	if [ ! -f "$PACKAGE_FILE" ]; then
    1.14  		newline
    1.15 -		_ 'Unable to find file "%s"' $PACKAGE_FILE
    1.16 +		_ 'Unable to find file "%s"' "$PACKAGE_FILE"
    1.17  		newline
    1.18  		exit 1
    1.19  	fi
    1.20 @@ -319,9 +320,9 @@
    1.21  # Check if a package is already installed.
    1.22  
    1.23  check_for_installed_package() {
    1.24 -	if [ -n "$(get_installed_package_pathname $PACKAGE $1)" ]; then
    1.25 +	if [ -n "$(get_installed_package_pathname "$PACKAGE" "$1")" ]; then
    1.26  		newline
    1.27 -		_ '"%s" package is already installed.' $(colorize 34 $PACKAGE)
    1.28 +		_ '"%s" package is already installed.' "$(colorize 34 "$PACKAGE")"
    1.29  		longline "$(_ 'You can use the --forced option to force installation.')"
    1.30  		newline
    1.31  		exit 0
    1.32 @@ -462,7 +463,7 @@
    1.33  		equiv=$(virtual_pkg $1)
    1.34  		if [ "$equiv" != "$1" ]; then
    1.35  			PACKAGE="$equiv"
    1.36 -			get_package_filename $PACKAGE
    1.37 +			get_package_filename "$PACKAGE"
    1.38  			return
    1.39  		fi
    1.40  	fi
    1.41 @@ -476,7 +477,7 @@
    1.42  check_for_package_in_list() {
    1.43  	local filename check_only
    1.44  	check_only="$1"
    1.45 -	filename=$(get_package_filename $PACKAGE)
    1.46 +	filename="$(get_package_filename "$PACKAGE")"
    1.47  	if [ -n "$filename" ]; then
    1.48  		PACKAGE="$filename"
    1.49  		CACHE_DIR="$(cat $tmp/cachedir)"
    1.50 @@ -484,7 +485,7 @@
    1.51  		rm -f $tmp/rep $tmp/cachedir
    1.52  	else
    1.53  		newline
    1.54 -		_ 'Unable to find package "%s" in the mirrored packages list.' $PACKAGE
    1.55 +		_ 'Unable to find package "%s" in the mirrored packages list.' "$PACKAGE"
    1.56  		newline
    1.57  		[ -n "$check_only" ] && return 1
    1.58  		exit 0
    1.59 @@ -499,7 +500,7 @@
    1.60  	local extra
    1.61  
    1.62  	[ "$1" == 'Installed' ] && \
    1.63 -	extra=" - $(fgrep $PACKAGE-$VERSION $PKGS_DB/installed.$SUM | awk '{ print $1 }')"
    1.64 +	extra=" - $(fgrep "$PACKAGE-$VERSION" $PKGS_DB/installed.$SUM | awk '{ print $1 }')"
    1.65  
    1.66  	[ -e "$LOG" ] || touch $LOG
    1.67  
    1.68 @@ -568,7 +569,7 @@
    1.69  
    1.70  extract_package() {
    1.71  	action 'Extracting package...'
    1.72 -	cpio -idm --quiet < ${PACKAGE_FILE##*/} && rm -f ${PACKAGE_FILE##*/}
    1.73 +	cpio -idm --quiet < "${PACKAGE_FILE##*/}" && rm -f "${PACKAGE_FILE##*/}"
    1.74  	status
    1.75  	if [ -f fs.cpio.lzma ]; then
    1.76  		unlzma -c fs.cpio.lzma | cpio -idm --quiet && rm fs.cpio.lzma
    1.77 @@ -580,14 +581,14 @@
    1.78  
    1.79  remove_with_path() {
    1.80  	# Avoid dirname errors by checking for argument.
    1.81 -	[ "$1" ] || return
    1.82 +	[ -n "$1" ] || return
    1.83  
    1.84  	local dir
    1.85  	rm -f $1 2>/dev/null
    1.86  	dir="$1"
    1.87  	while [ "$dir" != "/" ]; do
    1.88 -		dir="$(dirname $dir)"
    1.89 -		rmdir $dir 2> /dev/null || break
    1.90 +		dir="$(dirname "$dir")"
    1.91 +		rmdir "$dir" 2>/dev/null || break
    1.92  	done
    1.93  }
    1.94  
    1.95 @@ -622,7 +623,7 @@
    1.96  	{
    1.97  		# Create package path early to avoid dependencies loop
    1.98  		mkdir -p $TMP_DIR
    1.99 -		{ cd $TMP_DIR ; cpio --quiet -i receipt > /dev/null 2>&1; } < $PACKAGE_FILE
   1.100 +		{ cd $TMP_DIR ; cpio --quiet -i receipt >/dev/null 2>&1; } < "$PACKAGE_FILE"
   1.101  		. $TMP_DIR/receipt
   1.102  		# FIXME: legacy?
   1.103  		if grep -q ^pre_depends $TMP_DIR/receipt; then
   1.104 @@ -630,20 +631,20 @@
   1.105  		fi
   1.106  
   1.107  		# Keep modifiers and file list on upgrade
   1.108 -		cp $ROOT$INSTALLED/$PACKAGE/modifiers \
   1.109 -		   $ROOT$INSTALLED/$PACKAGE/files.list $TMP_DIR 2> /dev/null
   1.110 -		rm -rf $ROOT$INSTALLED/$PACKAGE 2> /dev/null
   1.111 +		cp "$ROOT$INSTALLED/$PACKAGE/modifiers" \
   1.112 +		   "$ROOT$INSTALLED/$PACKAGE/files.list" $TMP_DIR 2>/dev/null
   1.113 +		rm -rf "$ROOT$INSTALLED/$PACKAGE" 2>/dev/null
   1.114  
   1.115  		# Make the installed package data dir to store
   1.116  		# the receipt and the files list.
   1.117 -		mkdir -p $ROOT$INSTALLED/$PACKAGE
   1.118 -		cp $TMP_DIR/modifiers $ROOT$INSTALLED/$PACKAGE 2> /dev/null
   1.119 -		cp $TMP_DIR/files.list $ROOT$INSTALLED/$PACKAGE 2> /dev/null
   1.120 +		mkdir -p "$ROOT$INSTALLED/$PACKAGE"
   1.121 +		cp $TMP_DIR/modifiers  "$ROOT$INSTALLED/$PACKAGE" 2>/dev/null
   1.122 +		cp $TMP_DIR/files.list "$ROOT$INSTALLED/$PACKAGE" 2>/dev/null
   1.123  		rm -rf $TMP_DIR 2> /dev/null
   1.124 -		sed -i "/ $(basename $PACKAGE_FILE)$/d" \
   1.125 +		sed -i "/ $(basename "$PACKAGE_FILE")$/d" \
   1.126  			$ROOT$PKGS_DB/installed.$SUM 2> /dev/null
   1.127 -		cd $(dirname $PACKAGE_FILE)
   1.128 -		$CHECKSUM $(basename $PACKAGE_FILE) >> $ROOT$PKGS_DB/installed.$SUM
   1.129 +		cd "$(dirname "$PACKAGE_FILE")"
   1.130 +		$CHECKSUM "$(basename "$PACKAGE_FILE")" >> $ROOT$PKGS_DB/installed.$SUM
   1.131  	}
   1.132  
   1.133  	# Resolve package deps.
   1.134 @@ -656,8 +657,8 @@
   1.135  
   1.136  	title 'Installation of package "%s"' "$PACKAGE"
   1.137  
   1.138 -	print_short_description "$PACKAGE"
   1.139 -	separator '-'
   1.140 +	short_desc="$(print_short_description "$PACKAGE")"
   1.141 +	[ -n "$short_desc" ] && echo "$short_desc" && separator '-'
   1.142  
   1.143  	action 'Copying package...'
   1.144  	cp "$PACKAGE_FILE" "$TMP_DIR"
   1.145 @@ -676,7 +677,7 @@
   1.146  	# FIXME: legacy?
   1.147  	if [ $SELF_INSTALL -ne 0 -a -n "$ROOT" ]; then
   1.148  		action "Checking post install dependencies..."
   1.149 -		[ -f $INSTALLED/$PACKAGE/receipt ]
   1.150 +		[ -f "$INSTALLED/$PACKAGE/receipt" ]
   1.151  		if ! status; then
   1.152  			_ 'Please run "%s" in / and retry.' "tazpkg install $PACKAGE_FILE"
   1.153  			rm -rf $TMP_DIR
   1.154 @@ -685,15 +686,15 @@
   1.155  	fi
   1.156  
   1.157  	# Get files to remove if upgrading
   1.158 -	if [ -f $PACKAGE/files.list ]; then
   1.159 +	if [ -f "$PACKAGE/files.list" ]; then
   1.160  		while read file; do
   1.161  			grep -q "^$(echo $file | grepesc)$" $TMP_DIR/files.list && continue
   1.162 -			for i in $(cat $PACKAGE/modifiers 2> /dev/null ;
   1.163 -			    fgrep -sl $PACKAGE */modifiers | cut -d/ -f1 ); do
   1.164 +			for i in $(cat "$PACKAGE/modifiers" 2>/dev/null ;
   1.165 +			    fgrep -sl "$PACKAGE" */modifiers | cut -d/ -f1 ); do
   1.166  				grep -qs "^$(echo $file | grepesc)$" $i/files.list && continue 2
   1.167  			done
   1.168  			echo $file
   1.169 -		done < $PACKAGE/files.list > $TMP_DIR/files2remove.list
   1.170 +		done < "$PACKAGE/files.list" > $TMP_DIR/files2remove.list
   1.171  	fi
   1.172  
   1.173  	# Remember modified packages
   1.174 @@ -727,12 +728,12 @@
   1.175  			printf "%s %s\n",p[i],f[j];
   1.176  }
   1.177  		' | while read dir file; do
   1.178 -		if grep -qs ^$dir$ $PACKAGE/modifiers; then
   1.179 +		if grep -qs ^$dir$ "$PACKAGE/modifiers"; then
   1.180  			# Do not overload an overloaded file !
   1.181 -			rm $TMP_DIR$file 2> /dev/null
   1.182 +			rm $TMP_DIR$file 2>/dev/null
   1.183  			continue
   1.184  		fi
   1.185 -		grep -qs ^$PACKAGE$ $dir/modifiers && continue
   1.186 +		grep -qs "^$PACKAGE$" $dir/modifiers && continue
   1.187  		if [ -s "$dir/volatile.cpio.gz" ]; then
   1.188  			# We can modify backed up files without notice
   1.189  			zcat $dir/volatile.cpio.gz | cpio -t --quiet | \
   1.190 @@ -742,20 +743,20 @@
   1.191  	done
   1.192  
   1.193  	cd $TMP_DIR
   1.194 -	cp receipt files.list $ROOT$INSTALLED/$PACKAGE
   1.195 +	cp receipt files.list "$ROOT$INSTALLED/$PACKAGE"
   1.196  
   1.197  	# Copy the description if found.
   1.198  	if [ -f "description.txt" ]; then
   1.199 -		cp description.txt $ROOT$INSTALLED/$PACKAGE
   1.200 +		cp description.txt "$ROOT$INSTALLED/$PACKAGE"
   1.201  	fi
   1.202  
   1.203  	# Copy the md5sum if found.
   1.204  	if [ -f "$CHECKSUM" ]; then
   1.205 -		cp $CHECKSUM $ROOT$INSTALLED/$PACKAGE
   1.206 +		cp $CHECKSUM "$ROOT$INSTALLED/$PACKAGE"
   1.207  	fi
   1.208  
   1.209  	# Pre install commands.
   1.210 -	if grep -q ^pre_install $ROOT$INSTALLED/$PACKAGE/receipt; then
   1.211 +	if grep -q ^pre_install "$ROOT$INSTALLED/$PACKAGE/receipt"; then
   1.212  		pre_install $ROOT
   1.213  	fi
   1.214  
   1.215 @@ -765,7 +766,7 @@
   1.216  		for i in $CONFIG_FILES; do
   1.217  			{ cd fs ; find ${i#/} -type f 2> /dev/null; cd ..; }
   1.218  		done | { cd fs ; cpio -o -H newc --quiet | gzip -9; cd ..; } > \
   1.219 -			$ROOT$INSTALLED/$PACKAGE/volatile.cpio.gz
   1.220 +			"$ROOT$INSTALLED/$PACKAGE/volatile.cpio.gz"
   1.221  
   1.222  		if [ -z "$newconf" ]; then
   1.223  			# keep user configuration files
   1.224 @@ -798,34 +799,34 @@
   1.225  	status
   1.226  
   1.227  	# Post install commands.
   1.228 -	if grep -q ^post_install $ROOT$INSTALLED/$PACKAGE/receipt; then
   1.229 +	if grep -q ^post_install "$ROOT$INSTALLED/$PACKAGE/receipt"; then
   1.230  		action "Execute post-install commands..."
   1.231  		post_install $ROOT
   1.232  		status
   1.233  	fi
   1.234  
   1.235  	# Update-desktop-database if needed.
   1.236 -	if [ "$(fgrep .desktop $ROOT$INSTALLED/$PACKAGE/files.list | fgrep /usr/share/applications/)" ]; then
   1.237 +	if [ "$(fgrep .desktop "$ROOT$INSTALLED/$PACKAGE/files.list" | fgrep /usr/share/applications/)" ]; then
   1.238  		updatedesktopdb=yes
   1.239  	fi
   1.240  
   1.241  	# Update-mime-database if needed.
   1.242 -	if [ "$(fgrep /usr/share/mime $ROOT$INSTALLED/$PACKAGE/files.list)" ]; then
   1.243 +	if [ "$(fgrep /usr/share/mime "$ROOT$INSTALLED/$PACKAGE/files.list")" ]; then
   1.244  		updatemimedb=yes
   1.245  	fi
   1.246  
   1.247  	# Update-icon-database
   1.248 -	if [ "$(fgrep /usr/share/icon/hicolor $ROOT$INSTALLED/$PACKAGE/files.list)" ]; then
   1.249 +	if [ "$(fgrep /usr/share/icon/hicolor "$ROOT$INSTALLED/$PACKAGE/files.list")" ]; then
   1.250  		updateicondb=yes
   1.251  	fi
   1.252  
   1.253  	# Compile glib schemas if needed.
   1.254 -	if [ "$(fgrep /usr/share/glib-2.0/schemas $ROOT$INSTALLED/$PACKAGE/files.list)" ]; then
   1.255 +	if [ "$(fgrep /usr/share/glib-2.0/schemas "$ROOT$INSTALLED/$PACKAGE/files.list")" ]; then
   1.256  		compile_schemas=yes
   1.257  	fi
   1.258  
   1.259  	# Update depmod list
   1.260 -	if [ "$(fgrep /lib/modules $ROOT$INSTALLED/$PACKAGE/files.list)" ]; then
   1.261 +	if [ "$(fgrep /lib/modules "$ROOT$INSTALLED/$PACKAGE/files.list")" ]; then
   1.262  		updatedepmod=yes
   1.263  	fi
   1.264  
   1.265 @@ -835,14 +836,14 @@
   1.266  	DEPENDS=$(echo $DEPENDS) # remove newlines from some receipts
   1.267  	II=$ROOT$PKGS_DB/installed.info
   1.268  	sed -i "/^$PACKAGE	/d" $II # remove old entry
   1.269 -	cat >> $II << EOT
   1.270 +	cat >> $II <<EOT
   1.271  $PACKAGE	$VERSION$EXTRAVERSION	$CATEGORY	$SHORT_DESC	$WEB_SITE	$TAGS	$SIZES	$DEPENDS
   1.272  EOT
   1.273  	TEMP_FILE=$(mktemp)
   1.274  	sort $II > $TEMP_FILE; mv -f $TEMP_FILE $II; chmod a+r $II; unset II
   1.275  
   1.276 -	cd $TOP_DIR
   1.277 -	footer "$(_ 'Package "%s" (%s) is installed.' $PACKAGE $VERSION$EXTRAVERSION)"
   1.278 +	cd "$TOP_DIR"
   1.279 +	footer "$(_ 'Package "%s" (%s) is installed.' "$PACKAGE" "$VERSION$EXTRAVERSION")"
   1.280  
   1.281  	# Log this activity
   1.282  	[ -n "$ROOT" ] || log_pkg Installed
   1.283 @@ -882,10 +883,10 @@
   1.284  	set +e
   1.285  	[ -d "$PACKAGE-$VERSION" ] || cd $TMP_DIR
   1.286  	[ -d "$PACKAGE-$VERSION" ] || abort_package \
   1.287 -		"$(_ 'Could not download "%s" from "%s". Exiting.' ${TARBALL:-$PACKAGE} ${WGET_URL:-$WEB_SITE})"
   1.288 +		"$(_ 'Could not download "%s" from "%s". Exiting.' "${TARBALL:-$PACKAGE}" "${WGET_URL:-$WEB_SITE}")"
   1.289  
   1.290  	if [ ! -s "$PACKAGE-$VERSION/receipt" ]; then
   1.291 -		cat > $PACKAGE-$VERSION/receipt <<EOT
   1.292 +		cat > "$PACKAGE-$VERSION/receipt" <<EOT
   1.293  # SliTaz package receipt.
   1.294  
   1.295  PACKAGE="$PACKAGE"
   1.296 @@ -898,35 +899,35 @@
   1.297  		for i in LICENSE TARBALL WGET_URL CONFIG_FILES SUGGESTED \
   1.298  			 PROVIDE DEPENDS HOST_ARCH TAGS EXTRA_SOURCE_FILES ; do
   1.299  			eval "[ -n \"\$$i\" ] && echo \"$i=\\\"\$$i\\\"\""
   1.300 -		done >> $PACKAGE-$VERSION/receipt
   1.301 +		done >> "$PACKAGE-$VERSION/receipt"
   1.302  	fi
   1.303  
   1.304 -	DEPENDS="$(unset DEPENDS; . $PACKAGE-$VERSION/receipt ; echo $DEPENDS)"
   1.305 -	for i in $(find_depends $PACKAGE-$VERSION/fs); do
   1.306 +	DEPENDS="$(unset DEPENDS; . "$PACKAGE-$VERSION/receipt"; echo $DEPENDS)"
   1.307 +	for i in $(find_depends "$PACKAGE-$VERSION/fs"); do
   1.308  		case " $DEPENDS " in
   1.309  			*\ $i\ *) continue;;
   1.310  		esac
   1.311 -		grep -q '^DEPENDS="' $PACKAGE-$VERSION/receipt ||
   1.312 -			echo 'DEPENDS=""' >> $PACKAGE-$VERSION/receipt
   1.313 -		sed -i "s/^DEPENDS=\"/&$i /" $PACKAGE-$VERSION/receipt
   1.314 +		grep -q '^DEPENDS="'         "$PACKAGE-$VERSION/receipt" ||
   1.315 +			echo 'DEPENDS=""' >>     "$PACKAGE-$VERSION/receipt"
   1.316 +		sed -i "s/^DEPENDS=\"/&$i /" "$PACKAGE-$VERSION/receipt"
   1.317  	done
   1.318  
   1.319  	TAZPKG_PACK=gzip
   1.320 -	tazpkg pack $PACKAGE-$VERSION
   1.321 +	tazpkg pack "$PACKAGE-$VERSION"
   1.322  
   1.323  	# Clean to save RAM memory before installation
   1.324 -	rm -rf $PACKAGE-$VERSION
   1.325 +	rm -rf "$PACKAGE-$VERSION"
   1.326  
   1.327  	if [ "$3" == '--get' ]; then
   1.328 -		mv $PACKAGE-$VERSION.tazpkg $TOP_DIR
   1.329 +		mv "$PACKAGE-$VERSION.tazpkg" "$TOP_DIR"
   1.330  	else
   1.331  		# Install pseudo package
   1.332 -		tazpkg install $PACKAGE-$VERSION.tazpkg --root=$ROOT
   1.333 -		mv $PACKAGE-$VERSION.tazpkg $CACHE_DIR
   1.334 +		tazpkg install "$PACKAGE-$VERSION.tazpkg" --root=$ROOT
   1.335 +		mv "$PACKAGE-$VERSION.tazpkg" $CACHE_DIR
   1.336  	fi
   1.337  
   1.338  	# Clean
   1.339 -	cd $TOP_DIR
   1.340 +	cd "$TOP_DIR"
   1.341  	rm -rf $TMP_DIR
   1.342  }
   1.343  
   1.344 @@ -967,7 +968,7 @@
   1.345  	local saved;
   1.346  	saved="$PACKAGE"
   1.347  	mkdir -p $TMP_DIR
   1.348 -	{ cd $TMP_DIR ; cpio --quiet -i receipt >/dev/null 2>&1; } < $PACKAGE_FILE
   1.349 +	{ cd $TMP_DIR ; cpio --quiet -i receipt >/dev/null 2>&1; } < "$PACKAGE_FILE"
   1.350  	. $TMP_DIR/receipt
   1.351  	PACKAGE="$saved"
   1.352  	rm -rf $TMP_DIR
   1.353 @@ -979,12 +980,12 @@
   1.354  			MISSING_PACKAGE=$i
   1.355  			num=$(($num+1))
   1.356  		elif [ ! -f "$1$INSTALLED/$i/receipt" ]; then
   1.357 -			_ 'WARNING! Dependency loop between "%s" and "%s".' $PACKAGE $i
   1.358 +			_ 'WARNING! Dependency loop between "%s" and "%s".' "$PACKAGE" "$i"
   1.359  		fi
   1.360  	done
   1.361  
   1.362  	if [ -n "$MISSING_PACKAGE" ]; then
   1.363 -		title "$(_ 'Tracking dependencies for package "%s"' $PACKAGE)"
   1.364 +		title "$(_ 'Tracking dependencies for package "%s"' "$PACKAGE")"
   1.365  		for pkgorg in $DEPENDS; do
   1.366  			i=$(equivalent_pkg $pkgorg $1)
   1.367  			if [ ! -d "$1$INSTALLED/$i" ]; then
   1.368 @@ -1017,7 +1018,7 @@
   1.369  		newline
   1.370  	fi
   1.371  
   1.372 -	if [ "$answer" == 0 ] && [ -z "$nodeps" ]; then
   1.373 +	if [ "$answer" -eq 0 ] && [ -z "$nodeps" ]; then
   1.374  		for pkgorg in $DEPENDS; do
   1.375  			pkg=$(equivalent_pkg $pkgorg $1)
   1.376  			if [ ! -d "$1$INSTALLED/$pkg" ]; then
   1.377 @@ -1025,17 +1026,17 @@
   1.378  				[ -n "$list" ] || list="$TOP_DIR/packages.list"
   1.379  				# We can install packages from a local dir by greping
   1.380  				# the TAZPKG_BASENAME in the local packages.list.
   1.381 -				found=0
   1.382 +				found='0'
   1.383  				if [ -f "$list" ]; then
   1.384  					_ 'Checking if package "%s" exists in local list...' $pkg
   1.385  					mkdir $TMP_DIR
   1.386  					for i in $pkg-*.tazpkg; do
   1.387  						[ -f $i ] || continue
   1.388  						{ cd $TMP_DIR ; cpio --quiet -i receipt > /dev/null 2>&1; } < $i
   1.389 -						[ "$(. $TMP_DIR/receipt; echo $PACKAGE)" == "$pkg" ] || continue
   1.390 +						[ "$(. $TMP_DIR/receipt; echo "$PACKAGE")" == "$pkg" ] || continue
   1.391  						if grep -q ^$(package_fullname_in_dir $TMP_DIR).tazpkg$ $list
   1.392  						then
   1.393 -							found=1
   1.394 +							found='1'
   1.395  							tazpkg install $i $root --list=$list
   1.396  							break
   1.397  						fi
   1.398 @@ -1053,7 +1054,7 @@
   1.399  		done
   1.400  	else
   1.401  		newline
   1.402 -		_ 'Leaving dependencies for package "%s" unresolved.' $PACKAGE
   1.403 +		_ 'Leaving dependencies for package "%s" unresolved.' "$PACKAGE"
   1.404  		_ 'The package is installed but will probably not work.'
   1.405  		newline
   1.406  	fi
   1.407 @@ -1196,14 +1197,14 @@
   1.408  			[ -f $INSTALLED/$pkg/receipt ] || continue
   1.409  			EXTRAVERSION=''
   1.410  			. $INSTALLED/$pkg/receipt
   1.411 -			grep -q ^$PACKAGE-$VERSION$EXTRAVERSION$ $FLAVOR.pkglist && continue
   1.412 -			grep -qs ^$PACKAGE$ $FLAVOR.nonfree && continue
   1.413 -			tazpkg remove $PACKAGE
   1.414 +			grep -q "^$PACKAGE-$VERSION$EXTRAVERSION$" $FLAVOR.pkglist && continue
   1.415 +			grep -qs "^$PACKAGE$" $FLAVOR.nonfree && continue
   1.416 +			tazpkg remove "$PACKAGE"
   1.417  		done
   1.418  	else
   1.419  		_ "Can't find flavor \"%s\". Abort." $FLAVOR
   1.420  	fi
   1.421 -	cd $TOP_DIR
   1.422 +	cd "$TOP_DIR"
   1.423  	rm -rf $TMP_DIR
   1.424  }
   1.425  
   1.426 @@ -1472,14 +1473,14 @@
   1.427  		check_for_package_on_cmdline
   1.428  		if [ -d "$INSTALLED/$PACKAGE" ]; then
   1.429  			# installed package
   1.430 -			title 'Installed files by "%s"' $PACKAGE
   1.431 -			sort < $INSTALLED/$PACKAGE/files.list
   1.432 -			num=$(wc -l < $INSTALLED/$PACKAGE/files.list)
   1.433 +			title 'Installed files by "%s"' "$PACKAGE"
   1.434 +			sort < "$INSTALLED/$PACKAGE/files.list"
   1.435 +			num=$(wc -l < "$INSTALLED/$PACKAGE/files.list")
   1.436  			footer "$(_p '%s file' '%s files' $num \
   1.437  				"$(colorize 32 $num)")"
   1.438  		elif [ -n "$(grep "^$PACKAGE"$'\t' $PKGS_DB/packages.info)" ]; then
   1.439  			# available package
   1.440 -			title 'Installed files by "%s"' $PACKAGE
   1.441 +			title 'Installed files by "%s"' "$PACKAGE"
   1.442  			TMPLIST=$(mktemp)
   1.443  			lzcat $PKGS_DB/files.list.lzma | sed -n "/^$PACKAGE: / s|^[^:]*: ||p" | tee $TMPLIST
   1.444  			num=$(wc -l < $TMPLIST); rm $TMPLIST
   1.445 @@ -1498,7 +1499,7 @@
   1.446  		check_for_package_on_cmdline
   1.447  		check_for_receipt
   1.448  		EXTRAVERSION=''
   1.449 -		. $INSTALLED/$PACKAGE/receipt
   1.450 +		. "$INSTALLED/$PACKAGE/receipt"
   1.451  		im && title 'TazPkg information'
   1.452  		# Display localized short description
   1.453  		for LC in $LANG ${LANG%_*}; do
   1.454 @@ -1533,9 +1534,9 @@
   1.455  	desc|-d)
   1.456  		# Display package description
   1.457  		if [ -n "$(grep -e "^$PACKAGE"$'\t' $PKGS_DB/installed.info)" ]; then
   1.458 -			im && title 'Description of package "%s"' $PACKAGE
   1.459 +			im && title 'Description of package "%s"' "$PACKAGE"
   1.460  			if [ -s "$INSTALLED/$PACKAGE/description.txt" ]; then
   1.461 -				cat $INSTALLED/$PACKAGE/description.txt
   1.462 +				cat "$INSTALLED/$PACKAGE/description.txt"
   1.463  			else
   1.464  				im && awk -F$'\t' -vp="$PACKAGE" '{
   1.465  					if ($1 == p) print $4 }' $PKGS_DB/installed.info
   1.466 @@ -1579,7 +1580,7 @@
   1.467  			newline
   1.468  			exit 0
   1.469  		fi
   1.470 -		title 'Search result for "%s"' $PATTERN
   1.471 +		title 'Search result for "%s"' "$PATTERN"
   1.472  		# Default is to search in installed pkgs and the raw list.
   1.473  		case "$3" in
   1.474  			-i|--installed) search_in_installed_packages ;;
   1.475 @@ -1600,7 +1601,7 @@
   1.476  			newline
   1.477  			exit 0
   1.478  		fi
   1.479 -		title 'Search result for file "%s"' $2
   1.480 +		title 'Search result for file "%s"' "$2"
   1.481  		TMPLIST=$(mktemp)
   1.482  
   1.483  		if [ -n "$mirror" ]; then
   1.484 @@ -1633,7 +1634,7 @@
   1.485  				if grep -qs "$2" $pkg/files.list; then
   1.486  					. $pkg/receipt
   1.487  					newline
   1.488 -					emsg "<c 33>$(_ 'Package %s:' $PACKAGE)</c>"
   1.489 +					emsg "<c 33>$(_ 'Package %s:' "$PACKAGE")</c>"
   1.490  					awk -vtmp="$TMPLIST" -vfile="$2" -vcfile="$(colorize 32 $2)" '
   1.491  						BEGIN { efile = gensub("\+", "\\\+", "g", file); }
   1.492  						index($0, file) {
   1.493 @@ -1662,7 +1663,7 @@
   1.494  			newline
   1.495  			exit 0
   1.496  		fi
   1.497 -		title 'Search result for package "%s"' $2
   1.498 +		title 'Search result for package "%s"' "$2"
   1.499  
   1.500  		# Search for a file on mirror and output only the package name
   1.501  		TMPLIST=$(mktemp)
   1.502 @@ -1818,11 +1819,11 @@
   1.503  		[ -n "$root" ] && ROOT="$root"
   1.504  
   1.505  		if [ ! -f "$ROOT$INSTALLED/$PACKAGE/receipt" ]; then
   1.506 -			newline; _ 'Package "%s" is not installed.' $PACKAGE
   1.507 +			newline; _ 'Package "%s" is not installed.' "$PACKAGE"
   1.508  			exit 0
   1.509  		fi
   1.510  
   1.511 -		. $ROOT$INSTALLED/$PACKAGE/receipt
   1.512 +		. "$ROOT$INSTALLED/$PACKAGE/receipt"
   1.513  
   1.514  		# Info #1: dependent packages (to be processed later)
   1.515  		ALTERED="$(awk -F$'\t' -vp=" $PACKAGE " '
   1.516 @@ -1830,15 +1831,15 @@
   1.517  			' $ROOT/$PKGS_DB/installed.info)"
   1.518  
   1.519  		if [ -n "$ALTERED" ]; then
   1.520 -			_ 'The following packages depend on package "%s":' $PACKAGE
   1.521 +			_ 'The following packages depend on package "%s":' "$PACKAGE"
   1.522  			echo "$ALTERED"
   1.523  		fi
   1.524  
   1.525  		# Info #2: changed packages (to be processed later)
   1.526 -		REFRESH=$(cd $ROOT$INSTALLED ; grep -sl ^$PACKAGE$ */modifiers)
   1.527 +		REFRESH=$(cd $ROOT$INSTALLED ; grep -sl "^$PACKAGE$" */modifiers)
   1.528  
   1.529  		if [ -n "$REFRESH" ]; then
   1.530 -			_ 'The following packages have been modified by package "%s":' $PACKAGE
   1.531 +			_ 'The following packages have been modified by package "%s":' "$PACKAGE"
   1.532  			for i in $REFRESH; do
   1.533  				echo "  ${i%/modifiers}"
   1.534  			done
   1.535 @@ -1846,19 +1847,19 @@
   1.536  
   1.537  		# Confirmation
   1.538  		if im && [ -z "$auto" ]; then
   1.539 -			confirm "$(_ 'Remove package "%s" (%s)? (y/N)' $PACKAGE $VERSION$EXTRAVERSION)"
   1.540 -			if [ $? != 0 ]; then
   1.541 -				newline; _ 'Uninstallation of package "%s" cancelled.' $PACKAGE
   1.542 +			confirm "$(_ 'Remove package "%s" (%s)? (y/N)' "$PACKAGE" "$VERSION$EXTRAVERSION")"
   1.543 +			if [ "$?" -ne 0 ]; then
   1.544 +				newline; _ 'Uninstallation of package "%s" cancelled.' "$PACKAGE"
   1.545  				exit 0
   1.546  			fi
   1.547  		fi
   1.548  		# We are here: non-interactive mode, or --auto, or answer 'y'
   1.549  
   1.550  		# Removing package
   1.551 -		title 'Removing package "%s"' $PACKAGE
   1.552 +		title 'Removing package "%s"' "$PACKAGE"
   1.553  
   1.554  		# [1/4] Pre-remove commands
   1.555 -		if grep -q ^pre_remove $ROOT$INSTALLED/$PACKAGE/receipt; then
   1.556 +		if grep -q ^pre_remove "$ROOT$INSTALLED/$PACKAGE/receipt"; then
   1.557  			action "Execution of pre-remove commands..."
   1.558  			pre_remove $ROOT
   1.559  			status
   1.560 @@ -1866,37 +1867,37 @@
   1.561  
   1.562  		# [2/4] Removing files
   1.563  		action "Removing all files installed..."
   1.564 -		if [ -f $ROOT$INSTALLED/$PACKAGE/modifiers ]; then
   1.565 -			for file in $(cat $ROOT$INSTALLED/$PACKAGE/files.list); do
   1.566 -				for mod in $(cat $ROOT$INSTALLED/$PACKAGE/modifiers); do
   1.567 -					[ -f $ROOT$INSTALLED/$mod/files.list ] && \
   1.568 +		if [ -f "$ROOT$INSTALLED/$PACKAGE/modifiers" ]; then
   1.569 +			for file in $(cat "$ROOT$INSTALLED/$PACKAGE/files.list"); do
   1.570 +				for mod in $(cat "$ROOT$INSTALLED/$PACKAGE/modifiers"); do
   1.571 +					[ -f "$ROOT$INSTALLED/$mod/files.list" ] && \
   1.572  					[ $(grep "^$(echo $file | grepesc)$" $ROOT$INSTALLED/$mod/files.list | wc -l) -gt 1 ] && \
   1.573  					continue 2
   1.574  				done
   1.575  				remove_with_path $ROOT$file
   1.576  			done
   1.577  		else
   1.578 -			for file in $(cat $ROOT$INSTALLED/$PACKAGE/files.list); do
   1.579 +			for file in $(cat "$ROOT$INSTALLED/$PACKAGE/files.list"); do
   1.580  				remove_with_path $ROOT$file
   1.581  			done
   1.582  		fi
   1.583  		status
   1.584  
   1.585  		# [3/4] Post-remove commands
   1.586 -		if grep -q ^post_remove $ROOT$INSTALLED/$PACKAGE/receipt; then
   1.587 -			action "Execution of post-remove commands..."
   1.588 +		if grep -q ^post_remove "$ROOT$INSTALLED/$PACKAGE/receipt"; then
   1.589 +			action 'Execution of post-remove commands...'
   1.590  			post_remove $ROOT
   1.591  			status
   1.592  		fi
   1.593  
   1.594  		# [4/4] Remove package receipt and remove it from databases
   1.595 -		action "Removing package receipt..."
   1.596 -		rm -rf $ROOT$INSTALLED/$PACKAGE
   1.597 +		action 'Removing package receipt...'
   1.598 +		rm -rf "$ROOT$INSTALLED/$PACKAGE"
   1.599  		sed -i "/ $PACKAGE-$VERSION$EXTRAVERSION.tazpkg$/d" $PKGS_DB/installed.$SUM
   1.600  		sed -i "/^$PACKAGE	/d" $PKGS_DB/installed.info
   1.601  		status
   1.602  
   1.603 -		footer "$(_ 'Package "%s" (%s) removed.' $PACKAGE $VERSION$EXTRAVERSION)"
   1.604 +		footer "$(_ 'Package "%s" (%s) removed.' "$PACKAGE" "$VERSION$EXTRAVERSION")"
   1.605  
   1.606  		# Log this activity
   1.607  		log_pkg Removed
   1.608 @@ -1909,10 +1910,10 @@
   1.609  			if [ -n "$auto" ]; then
   1.610  				answer=0
   1.611  			else
   1.612 -				confirm "$(_ 'Remove packages depending on package "%s"? (y/N)' $PACKAGE)"
   1.613 +				confirm "$(_ 'Remove packages depending on package "%s"? (y/N)' "$PACKAGE")"
   1.614  				answer=$?
   1.615  			fi
   1.616 -			if [ "$answer" == '0' ]; then
   1.617 +			if [ "$answer" -eq 0 ]; then
   1.618  				for i in $ALTERED; do
   1.619  					if [ -d "$ROOT$INSTALLED/$i" ]; then
   1.620  						echo "tazpkg remove $i $ROOTOPTS"
   1.621 @@ -1926,12 +1927,12 @@
   1.622  			if [ -n "$auto" ]; then
   1.623  				answer=0
   1.624  			else
   1.625 -				confirm "$(_ 'Reinstall packages modified by package "%s"? (y/N)' $PACKAGE)"
   1.626 +				confirm "$(_ 'Reinstall packages modified by package "%s"? (y/N)' "$PACKAGE")"
   1.627  				answer=$?
   1.628  			fi
   1.629 -			if [ "$answer" == '0' ]; then
   1.630 +			if [ "$answer" -eq 0 ]; then
   1.631  				for i in $REFRESH; do
   1.632 -					if [ $(wc -l < $ROOT$INSTALLED/$i) -gt 1 ]; then
   1.633 +					if [ "$(wc -l < $ROOT$INSTALLED/$i)" -gt 1 ]; then
   1.634  						_ 'Check %s for reinstallation' "$INSTALLED/$i"
   1.635  						continue
   1.636  					fi
   1.637 @@ -1959,14 +1960,14 @@
   1.638  		fi
   1.639  		mkdir -p $DESTDIR
   1.640  
   1.641 -		action "Copying original package..."
   1.642 -		cp $PACKAGE_FILE $DESTDIR
   1.643 +		action 'Copying original package...'
   1.644 +		cp "$PACKAGE_FILE" $DESTDIR
   1.645  		status
   1.646  
   1.647  		cd $DESTDIR
   1.648  		extract_package
   1.649  		[ -e "receipt" ] && \
   1.650 -			footer "$(_ 'Package "%s" is extracted to "%s"' $PACKAGE $DESTDIR)"
   1.651 +			footer "$(_ 'Package "%s" is extracted to "%s"' "$PACKAGE" "$DESTDIR")"
   1.652  		;;
   1.653  
   1.654  
   1.655 @@ -1978,7 +1979,7 @@
   1.656  		mkdir -p $TMP_DIR
   1.657  
   1.658  		action "Copying original package..."
   1.659 -		cp $PACKAGE_FILE $TMP_DIR
   1.660 +		cp "$PACKAGE_FILE" $TMP_DIR
   1.661  		status
   1.662  
   1.663  		cd $TMP_DIR
   1.664 @@ -1991,12 +1992,12 @@
   1.665  
   1.666  		action "Creating new package..."
   1.667  		find . -print | cpio -o -H newc --quiet > \
   1.668 -			$TOP_DIR/$(basename $PACKAGE_FILE).$$ && mv -f \
   1.669 -			$TOP_DIR/$(basename $PACKAGE_FILE).$$ \
   1.670 -			$TOP_DIR/$(basename $PACKAGE_FILE)
   1.671 +			"$TOP_DIR/$(basename "$PACKAGE_FILE").$$" && mv -f \
   1.672 +			"$TOP_DIR/$(basename "$PACKAGE_FILE").$$" \
   1.673 +			"$TOP_DIR/$(basename "$PACKAGE_FILE")"
   1.674  		status
   1.675  
   1.676 -		cd $TOP_DIR
   1.677 +		cd "$TOP_DIR"
   1.678  		rm -rf $TMP_DIR
   1.679  		separator; newline ;;
   1.680  
   1.681 @@ -2021,7 +2022,7 @@
   1.682  				done
   1.683  				rm -rf *
   1.684  			done
   1.685 -			cd $TOP_DIR
   1.686 +			cd "$TOP_DIR"
   1.687  			rm -rf $TMP_DIR
   1.688  		else
   1.689  			im && title 'Configuration files'
   1.690 @@ -2067,8 +2068,8 @@
   1.691  EOT
   1.692  		cd ..
   1.693  		tazpkg pack config-$CONFIG_VERSION
   1.694 -		cp config-$CONFIG_VERSION.tazpkg $TOP_DIR
   1.695 -		cd $TOP_DIR
   1.696 +		cp config-$CONFIG_VERSION.tazpkg "$TOP_DIR"
   1.697 +		cd "$TOP_DIR"
   1.698  		rm -rf $TMP_DIR
   1.699  		;;
   1.700  
   1.701 @@ -2078,17 +2079,17 @@
   1.702  		check_for_package_on_cmdline
   1.703  		check_for_receipt
   1.704  		EXTRAVERSION=''
   1.705 -		. $INSTALLED/$PACKAGE/receipt
   1.706 +		. "$INSTALLED/$PACKAGE/receipt"
   1.707  		title 'Repacking "%s"' "$PACKAGE-$VERSION$EXTRAVERSION.tazpkg"
   1.708  
   1.709 -		if grep -qs ^NO_REPACK= $INSTALLED/$PACKAGE/receipt; then
   1.710 -			_ "Can't repack package \"%s\"" $PACKAGE
   1.711 +		if grep -qs ^NO_REPACK= "$INSTALLED/$PACKAGE/receipt"; then
   1.712 +			_ "Can't repack package \"%s\"" "$PACKAGE"
   1.713  			exit 1
   1.714  		fi
   1.715  
   1.716 -		if [ -s $INSTALLED/$PACKAGE/modifiers ]; then
   1.717 -			_ "Can't repack, \"%s\" files have been modified by:" $PACKAGE
   1.718 -			for i in $(cat $INSTALLED/$PACKAGE/modifiers); do
   1.719 +		if [ -s "$INSTALLED/$PACKAGE/modifiers" ]; then
   1.720 +			_ "Can't repack, \"%s\" files have been modified by:" "$PACKAGE"
   1.721 +			for i in $(cat "$INSTALLED/$PACKAGE/modifiers"); do
   1.722  				echo "  $i"
   1.723  			done
   1.724  			exit 1
   1.725 @@ -2098,7 +2099,7 @@
   1.726  		while read i; do
   1.727  			[ -e "$i" ] && continue
   1.728  			[ -L "$i" ] || MISSING="$MISSING\n  $i"
   1.729 -		done < $INSTALLED/$PACKAGE/files.list
   1.730 +		done < "$INSTALLED/$PACKAGE/files.list"
   1.731  		if [ -n "$MISSING" ]; then
   1.732  			_n "Can't repack, the following files are lost:"
   1.733  			echo -e "$MISSING"
   1.734 @@ -2107,10 +2108,10 @@
   1.735  
   1.736  		mkdir -p $TMP_DIR; cd $TMP_DIR
   1.737  		FILES="fs.cpio.lzma\n"
   1.738 -		for i in $(ls $INSTALLED/$PACKAGE); do
   1.739 +		for i in $(ls "$INSTALLED/$PACKAGE"); do
   1.740  			case $i in
   1.741  				volatile.cpio.gz|modifiers) ;;
   1.742 -				*) cp $INSTALLED/$PACKAGE/$i .; FILES="$FILES$i\n" ;;
   1.743 +				*) cp "$INSTALLED/$PACKAGE/$i" .; FILES="$FILES$i\n" ;;
   1.744  			esac
   1.745  		done
   1.746  
   1.747 @@ -2120,21 +2121,21 @@
   1.748  			{ cd tmp ; cpio -idm --quiet >/dev/null; cd ..; }
   1.749  		mv tmp/rootfs fs
   1.750  
   1.751 -		if [ -f $INSTALLED/$PACKAGE/volatile.cpio.gz ]; then
   1.752 -			zcat $INSTALLED/$PACKAGE/volatile.cpio.gz | \
   1.753 +		if [ -f  "$INSTALLED/$PACKAGE/volatile.cpio.gz" ]; then
   1.754 +			zcat "$INSTALLED/$PACKAGE/volatile.cpio.gz" | \
   1.755  				{ cd fs; cpio -idm --quiet; cd ..; }
   1.756  		fi
   1.757  
   1.758 -		if fgrep -q repack_cleanup $INSTALLED/$PACKAGE/receipt; then
   1.759 -			. $INSTALLED/$PACKAGE/receipt
   1.760 +		if fgrep -q repack_cleanup "$INSTALLED/$PACKAGE/receipt"; then
   1.761 +			. "$INSTALLED/$PACKAGE/receipt"
   1.762  			repack_cleanup fs
   1.763  		fi
   1.764  
   1.765 -		if [ -f $INSTALLED/$PACKAGE/$CHECKSUM ]; then
   1.766 -			sed 's,  ,  fs,' < $INSTALLED/$PACKAGE/$CHECKSUM | \
   1.767 +		if [ -f "$INSTALLED/$PACKAGE/$CHECKSUM" ]; then
   1.768 +			sed 's,  ,  fs,' < "$INSTALLED/$PACKAGE/$CHECKSUM" | \
   1.769  			$CHECKSUM -s -c || {
   1.770  				_ "Can't repack, %s error." "$CHECKSUM"
   1.771 -				cd $TOP_DIR
   1.772 +				cd "$TOP_DIR"
   1.773  				rm -rf $TMP_DIR
   1.774  				exit 1
   1.775  			}
   1.776 @@ -2142,25 +2143,26 @@
   1.777  
   1.778  		find fs | cpio -o -H newc --quiet | lzma e fs.cpio.lzma -si
   1.779  		echo -e "$FILES" | cpio -o -H newc --quiet > \
   1.780 -			$TOP_DIR/$PACKAGE-$VERSION$EXTRAVERSION.tazpkg
   1.781 -		cd $TOP_DIR
   1.782 +			"$TOP_DIR/$PACKAGE-$VERSION$EXTRAVERSION.tazpkg"
   1.783 +		cd "$TOP_DIR"
   1.784  		\rm -R $TMP_DIR
   1.785 -		_ 'Package "%s" repacked successfully.' $PACKAGE
   1.786 -		_ 'Size: %s' "$(du -sh $PACKAGE-$VERSION$EXTRAVERSION.tazpkg)"
   1.787 -		newline ;;
   1.788 +		_ 'Package "%s" repacked successfully.' "$PACKAGE"
   1.789 +		_ 'Size: %s' "$(du -sh "$PACKAGE-$VERSION$EXTRAVERSION.tazpkg")"
   1.790 +		newline
   1.791 +		;;
   1.792  
   1.793  
   1.794  	pack)
   1.795  		# Create SliTaz package archive using cpio and lzma.
   1.796  		# TODO: Cook also pack packages, we should share code in libpkg.sh
   1.797  		check_for_package_on_cmdline
   1.798 -		cd $PACKAGE
   1.799 +		cd "$PACKAGE"
   1.800  		if [ ! -f 'receipt' ]; then
   1.801  			_ 'Receipt is missing. Please read the documentation.'
   1.802  			exit 0
   1.803  		fi
   1.804  
   1.805 -		title 'Packing package "%s"' $PACKAGE
   1.806 +		title 'Packing package "%s"' "$PACKAGE"
   1.807  		# Create files.list with redirecting find outpout.
   1.808  
   1.809  		action 'Creating the list of files...'
   1.810 @@ -2170,7 +2172,7 @@
   1.811  		cd ..; sed -i s/'^.'/''/ files.list
   1.812  		status
   1.813  
   1.814 -		action 'Creating %s of files...' $CHECKSUM
   1.815 +		action 'Creating %s of files...' "$CHECKSUM"
   1.816  		while read file; do
   1.817  			[ -L "fs$file" ] && continue
   1.818  			[ -f "fs$file" ] || continue
   1.819 @@ -2203,7 +2205,7 @@
   1.820  		status
   1.821  
   1.822  		action "Creating full cpio archive..."
   1.823 -		find . -print | cpio -o -H newc --quiet > ../$PACKAGE.tazpkg
   1.824 +		find . -print | cpio -o -H newc --quiet > "../$PACKAGE.tazpkg"
   1.825  		status
   1.826  
   1.827  		action "Restoring original package tree..."
   1.828 @@ -2211,8 +2213,8 @@
   1.829  		status
   1.830  
   1.831  		rm fs.cpio.lzma && cd ..
   1.832 -		footer "$(_ 'Package "%s" compressed successfully.' $PACKAGE)"
   1.833 -		_ 'Size: %s' "$(ls -lh $PACKAGE.tazpkg | awk '{print $5}')"
   1.834 +		footer "$(_ 'Package "%s" compressed successfully.' "$PACKAGE")"
   1.835 +		_ 'Size: %s' "$(ls -lh "$PACKAGE.tazpkg" | awk '{print $5}')"
   1.836  		;;
   1.837  
   1.838  
   1.839 @@ -2252,7 +2254,7 @@
   1.840  			if [ "$path" == "$PKGS_DB" ]; then
   1.841  				repo_name='Main'
   1.842  			else
   1.843 -				repo_name="$(_n 'Undigest %s' "$(basename $path)")"
   1.844 +				repo_name="$(_n 'Undigest %s' "$(basename "$path")")"
   1.845  			fi
   1.846  
   1.847  			title 'Recharging repository "%s"' "$repo_name"
   1.848 @@ -2419,7 +2421,7 @@
   1.849  				if ! fgrep -q "$md5  $PACKAGE-" $pkg_sum; then
   1.850  					# Jump to next repository in priority if pkg doesn't exist
   1.851  					# in this one.
   1.852 -					grep -q ^$PACKAGE- $pkg_list || continue
   1.853 +					grep -q "^$PACKAGE-" $pkg_list || continue
   1.854  
   1.855  					emsg -n "$PACKAGE<i 28> $VERSION"
   1.856  
   1.857 @@ -2435,7 +2437,7 @@
   1.858  					if [ "$VERSION" == "$new" ]; then
   1.859  						emsg "<i 48><c 34> $(_ 'New build')</c>"
   1.860  					else
   1.861 -						emsg "<i 48><c 32> $(_ 'New version %s' $new)</c>"
   1.862 +						emsg "<i 48><c 32> $(_ 'New version %s' "$new")</c>"
   1.863  					fi
   1.864  					echo "$PACKAGE" >> $UP_LIST
   1.865  					break
   1.866 @@ -2507,11 +2509,11 @@
   1.867  		for PACKAGE in $LIST; do
   1.868  			BUGS=''
   1.869  			EXTRAVERSION=''
   1.870 -			. $PACKAGE/receipt
   1.871 +			. "$PACKAGE/receipt"
   1.872  			if [ -n "$BUGS" ]; then
   1.873  				MSG=$(_n 'Bug list completed')
   1.874  				newline
   1.875 -				_ 'Bugs in package "%s" version %s:' $PACKAGE $VERSION$EXTRAVERSION
   1.876 +				_ 'Bugs in package "%s" version %s:' "$PACKAGE" "$VERSION$EXTRAVERSION"
   1.877  				cat <<EOT
   1.878    $BUGS
   1.879  EOT
   1.880 @@ -2541,11 +2543,11 @@
   1.881  
   1.882  			DEPENDS=''
   1.883  			EXTRAVERSION=''
   1.884 -			. $PACKAGE/receipt
   1.885 -			if [ -s $PACKAGE/modifiers ]; then
   1.886 +			. "$PACKAGE/receipt"
   1.887 +			if [ -s "$PACKAGE/modifiers" ]; then
   1.888  				print_pkgname
   1.889  				_ 'The package has been modified by:'
   1.890 -				awk '{print "  " $0}' $PACKAGE/modifiers
   1.891 +				awk '{print "  " $0}' "$PACKAGE/modifiers"
   1.892  			fi
   1.893  
   1.894  			MSG="$(_n 'Files lost from package:')\n"
   1.895 @@ -2557,7 +2559,7 @@
   1.896  				print_pkgname
   1.897  				echo -e "$MSG  $file"
   1.898  				MSG=''
   1.899 -			done < $PACKAGE/files.list
   1.900 +			done < "$PACKAGE/files.list"
   1.901  
   1.902  			MSG="$(_n 'Missing dependencies for package:')\n"
   1.903  			for i in $DEPENDS; do
   1.904 @@ -2570,7 +2572,7 @@
   1.905  
   1.906  			MSG="$(_n 'Dependencies loop between package and:')\n"
   1.907  			ALL_DEPS=''
   1.908 -			check_for_deps_loop $PACKAGE $DEPENDS
   1.909 +			check_for_deps_loop "$PACKAGE" "$DEPENDS"
   1.910  		done
   1.911  		[ -n "$PACKAGE_PRINTED" ] && footer
   1.912  
   1.913 @@ -2586,7 +2588,7 @@
   1.914  			for PACKAGE in $PACKAGES; do
   1.915  				file="$PACKAGE/$CHECKSUM"
   1.916  				CONFIG_FILES=''
   1.917 -				. $PACKAGE/receipt
   1.918 +				. "$PACKAGE/receipt"
   1.919  				[ -s "$file" ] || continue
   1.920  				while read md5 f; do
   1.921  					[ -f $f ] || continue
   1.922 @@ -2604,7 +2606,7 @@
   1.923  			title 'Check file providers:'
   1.924  			FILES=' '
   1.925  			for PACKAGE in $PACKAGES; do
   1.926 -				for file in $(cat $PACKAGE/files.list); do
   1.927 +				for file in $(cat "$PACKAGE/files.list"); do
   1.928  					[ -d "$file" ] && continue
   1.929  					case "$FILES" in
   1.930  						*\ $file\ *) continue;;
   1.931 @@ -2650,18 +2652,19 @@
   1.932  		check_root $@
   1.933  		check_for_package_on_cmdline
   1.934  		newline
   1.935 -		if [ ! -d $INSTALLED/$PACKAGE ]; then
   1.936 -			_ 'Package "%s" is not installed.' $PACKAGE; exit
   1.937 +		if [ ! -d "$INSTALLED/$PACKAGE" ]; then
   1.938 +			_ 'Package "%s" is not installed.' "$PACKAGE"; exit
   1.939  		fi
   1.940  		if grep -qs "^$PACKAGE" $BLOCKED; then
   1.941 -			_ 'Package "%s" is already blocked.' $PACKAGE
   1.942 +			_ 'Package "%s" is already blocked.' "$PACKAGE"
   1.943  		else
   1.944 -			echo $PACKAGE >> $BLOCKED
   1.945 +			echo "$PACKAGE" >> $BLOCKED
   1.946  			# Log this activity
   1.947 -			. $INSTALLED/$PACKAGE/receipt; log_pkg Blocked
   1.948 -			_ 'Package "%s" blocked.' $PACKAGE
   1.949 +			. "$INSTALLED/$PACKAGE/receipt"; log_pkg Blocked
   1.950 +			_ 'Package "%s" blocked.' "$PACKAGE"
   1.951  		fi
   1.952 -		newline ;;
   1.953 +		newline
   1.954 +		;;
   1.955  
   1.956  
   1.957  	unblock|-u)
   1.958 @@ -2669,18 +2672,19 @@
   1.959  		check_root $@
   1.960  		check_for_package_on_cmdline
   1.961  		newline
   1.962 -		if [ ! -d $INSTALLED/$PACKAGE ]; then
   1.963 -			_ 'Package "%s" is not installed.' $PACKAGE; exit
   1.964 +		if [ ! -d "$INSTALLED/$PACKAGE" ]; then
   1.965 +			_ 'Package "%s" is not installed.' "$PACKAGE"; exit
   1.966  		fi
   1.967  		if grep -qs "^$PACKAGE" $BLOCKED; then
   1.968  			sed -i "/^$PACKAGE\$/d" $BLOCKED
   1.969  			# Log this activity
   1.970 -			. $INSTALLED/$PACKAGE/receipt; log_pkg Unblocked
   1.971 -			_ 'Package "%s" unblocked.' $PACKAGE
   1.972 +			. "$INSTALLED/$PACKAGE/receipt"; log_pkg Unblocked
   1.973 +			_ 'Package "%s" unblocked.' "$PACKAGE"
   1.974  		else
   1.975 -			_ 'Package "%s" is not blocked.' $PACKAGE
   1.976 +			_ 'Package "%s" is not blocked.' "$PACKAGE"
   1.977  		fi
   1.978 -		newline ;;
   1.979 +		newline
   1.980 +		;;
   1.981  
   1.982  
   1.983  	chblock)
   1.984 @@ -2688,21 +2692,22 @@
   1.985  		check_root $@
   1.986  		check_for_package_on_cmdline
   1.987  		newline
   1.988 -		if [ ! -d $INSTALLED/$PACKAGE ]; then
   1.989 -			_ 'Package "%s" is not installed.' $PACKAGE; exit
   1.990 +		if [ ! -d "$INSTALLED/$PACKAGE" ]; then
   1.991 +			_ 'Package "%s" is not installed.' "$PACKAGE"; exit
   1.992  		fi
   1.993  		if grep -qs "^$PACKAGE" $BLOCKED; then
   1.994  			sed -i "/^$PACKAGE\$/d" $BLOCKED
   1.995  			# Log this activity
   1.996 -			. $INSTALLED/$PACKAGE/receipt; log_pkg Unblocked
   1.997 -			_ 'Package "%s" unblocked.' $PACKAGE
   1.998 +			. "$INSTALLED/$PACKAGE/receipt"; log_pkg Unblocked
   1.999 +			_ 'Package "%s" unblocked.' "$PACKAGE"
  1.1000  		else
  1.1001 -			echo $PACKAGE >> $BLOCKED
  1.1002 +			echo "$PACKAGE" >> $BLOCKED
  1.1003  			# Log this activity
  1.1004 -			. $INSTALLED/$PACKAGE/receipt; log_pkg Blocked
  1.1005 -			_ 'Package "%s" blocked.' $PACKAGE
  1.1006 +			. "$INSTALLED/$PACKAGE/receipt"; log_pkg Blocked
  1.1007 +			_ 'Package "%s" blocked.' "$PACKAGE"
  1.1008  		fi
  1.1009 -		newline ;;
  1.1010 +		newline
  1.1011 +		;;
  1.1012  
  1.1013  
  1.1014  	get|-g)
  1.1015 @@ -2737,7 +2742,7 @@
  1.1016  					_ 'Continuing package "%s" download' "$PACKAGE"
  1.1017  					download "$PACKAGE.tazpkg"
  1.1018  				}
  1.1019 -				if [ "$($CHECKSUM $PACKAGE.tazpkg)" != \
  1.1020 +				if [ "$($CHECKSUM "$PACKAGE.tazpkg")" != \
  1.1021  					"$(fgrep "  $PACKAGE.tazpkg" "$rep/packages.$SUM")" ]; then
  1.1022  					rm -f "$PACKAGE.tazpkg"
  1.1023  					download "$PACKAGE.tazpkg"
  1.1024 @@ -2784,14 +2789,14 @@
  1.1025  		if ! check_for_package_in_list check; then
  1.1026  			CACHE_DIR="${CACHE_DIR%/*}/get"
  1.1027  			[ -d "$CACHE_DIR" ] || mkdir -p $CACHE_DIR
  1.1028 -			if download_get_script $PACKAGE /tmp/$PACKAGE.$$ ; then
  1.1029 -				install_package_from_get_script /tmp/$PACKAGE.$$ $ROOT
  1.1030 +			if download_get_script "$PACKAGE" "/tmp/$PACKAGE.$$" ; then
  1.1031 +				install_package_from_get_script "/tmp/$PACKAGE.$$" $ROOT
  1.1032  				exit 0
  1.1033  			else
  1.1034  				PACKAGE="get-$PACKAGE"
  1.1035  				AUTOEXEC="$PACKAGE"
  1.1036  				check_for_package_in_list
  1.1037 -				if [ -n "$(get_installed_package_pathname $PACKAGE $ROOT)" ]; then
  1.1038 +				if [ -n "$(get_installed_package_pathname "$PACKAGE" "$ROOT")" ]; then
  1.1039  					$AUTOEXEC $ROOT
  1.1040  					exit 0
  1.1041  				fi
  1.1042 @@ -2803,24 +2808,24 @@
  1.1043  		fi
  1.1044  		cd $CACHE_DIR
  1.1045  		if [ -f "$PACKAGE.tazpkg" ]; then
  1.1046 -			_ 'Package "%s" already in the cache' $PACKAGE
  1.1047 +			_ 'Package "%s" already in the cache' "$PACKAGE"
  1.1048  			# Check package download was finished
  1.1049 -			tail -c 2k $PACKAGE.tazpkg | fgrep -q 00000000TRAILER || {
  1.1050 -				_ 'Continuing package "%s" download' $PACKAGE
  1.1051 -				download $PACKAGE.tazpkg
  1.1052 +			tail -c 2k "$PACKAGE.tazpkg" | fgrep -q '00000000TRAILER' || {
  1.1053 +				_ 'Continuing package "%s" download' "$PACKAGE"
  1.1054 +				download "$PACKAGE.tazpkg"
  1.1055  			}
  1.1056 -			if [ "$($CHECKSUM $PACKAGE.tazpkg)" != "$(fgrep "  $PACKAGE.tazpkg" $rep/packages.$SUM)" ]; then
  1.1057 -				rm -f $PACKAGE.tazpkg
  1.1058 -				download $PACKAGE.tazpkg
  1.1059 +			if [ "$($CHECKSUM "$PACKAGE.tazpkg")" != "$(fgrep "  $PACKAGE.tazpkg" $rep/packages.$SUM)" ]; then
  1.1060 +				rm -f "$PACKAGE.tazpkg"
  1.1061 +				download "$PACKAGE.tazpkg"
  1.1062  			fi
  1.1063  		else
  1.1064  			newline
  1.1065 -			download $PACKAGE.tazpkg
  1.1066 +			download "$PACKAGE.tazpkg"
  1.1067  		fi
  1.1068  		PACKAGE_FILE="$CACHE_DIR/$PACKAGE.tazpkg"
  1.1069  		[ -n "$rootconfig" ] && PKGS_DB="${PKGS_DB#$root}"
  1.1070  		install_package "$ROOT"
  1.1071 -		[ "$AUTOEXEC" != "no" ] && $PACKAGE $ROOT
  1.1072 +		[ "$AUTOEXEC" != 'no' ] && "$PACKAGE" $ROOT
  1.1073  		update_desktop_database $ROOT
  1.1074  		update_mime_database    $ROOT ;;
  1.1075  
  1.1076 @@ -2829,10 +2834,10 @@
  1.1077  		# Remove all downloaded packages.
  1.1078  		check_root $@
  1.1079  		files=$(find $CACHE_DIR -name *.tazpkg | wc -l)
  1.1080 -		size=$(du -hs $CACHE_DIR | cut -f1 | sed 's|\.0||'); [ "$files" == '0' ] && size="0K"
  1.1081 -
  1.1082 -		title "Cleaning cache directory..."
  1.1083 -		action 'Path: %s' $CACHE_DIR
  1.1084 +		size=$(du -hs $CACHE_DIR | cut -f1 | sed 's|\.0||'); [ "$files" -eq 0 ] && size="0K"
  1.1085 +
  1.1086 +		title 'Cleaning cache directory...'
  1.1087 +		action 'Path: %s' "$CACHE_DIR"
  1.1088  		rm -rf $CACHE_DIR/*
  1.1089  		status
  1.1090  
  1.1091 @@ -2848,7 +2853,7 @@
  1.1092  		if [ -n "$box" ]; then
  1.1093  			for i in $PKGS_DB/undigest/*/mirror; do
  1.1094  				[ -f "$i" ] || continue
  1.1095 -				echo "$(basename $(dirname $i))|$(cat $i)"
  1.1096 +				echo "$(basename "$(dirname "$i")")|$(cat "$i")"
  1.1097  			done
  1.1098  		else
  1.1099  			title 'Current undigest(s)'
  1.1100 @@ -2857,7 +2862,7 @@
  1.1101  					_ 'No undigest mirror found.'
  1.1102  					exit 1
  1.1103  				fi
  1.1104 -				echo "$(basename $(dirname $i))"$'\t'"$(cat $i)"
  1.1105 +				echo "$(basename "$(dirname "$i")")"$'\t'"$(cat "$i")"
  1.1106  			done
  1.1107  			newline
  1.1108  		fi
  1.1109 @@ -2919,21 +2924,22 @@
  1.1110  		if [ -d "$ROOT$INSTALLED/$PACKAGE" ]; then
  1.1111  			check_for_receipt $ROOT
  1.1112  			# Check for post_install
  1.1113 -			if grep -q ^post_install $ROOT$INSTALLED/$PACKAGE/receipt; then
  1.1114 -				. $ROOT$INSTALLED/$PACKAGE/receipt
  1.1115 +			if grep -q ^post_install "$ROOT$INSTALLED/$PACKAGE/receipt"; then
  1.1116 +				. "$ROOT$INSTALLED/$PACKAGE/receipt"
  1.1117  				post_install $ROOT
  1.1118  				# Log this activity
  1.1119  				[ -z "$ROOT" ] && log_pkg Reconfigured
  1.1120  			else
  1.1121  				newline
  1.1122 -				_ 'Nothing to do for package "%s".' $PACKAGE
  1.1123 +				_ 'Nothing to do for package "%s".' "$PACKAGE"
  1.1124  			fi
  1.1125  		else
  1.1126  			newline
  1.1127 -			_ 'Package "%s" is not installed.' $PACKAGE
  1.1128 +			_ 'Package "%s" is not installed.' "$PACKAGE"
  1.1129  			_ 'Install package with "%s" or "%s"' 'tazpkg install' 'tazpkg get-install'
  1.1130  			newline
  1.1131 -		fi ;;
  1.1132 +		fi
  1.1133 +		;;
  1.1134  
  1.1135  
  1.1136  	shell)
  1.1137 @@ -2997,7 +3003,7 @@
  1.1138  				done
  1.1139  				fi
  1.1140  				cat <<EOT
  1.1141 -$(boldify $(echo $PACKAGE):) $SUGGESTED
  1.1142 +$(boldify $(echo "$PACKAGE"):) $SUGGESTED
  1.1143  EOT
  1.1144  			fi
  1.1145  		done
  1.1146 @@ -3014,7 +3020,7 @@
  1.1147  
  1.1148  	link)
  1.1149  		# link a package from another slitaz installation
  1.1150 -		PACKAGE=$2
  1.1151 +		PACKAGE="$2"
  1.1152  		if [ ! -d "$TARGET_DIR" -o \
  1.1153  		     ! -d "$TARGET_DIR$INSTALLED/$PACKAGE" ]; then
  1.1154  			_ 'Usage: tazpkg link package_name slitaz_root'
  1.1155 @@ -3026,11 +3032,11 @@
  1.1156  			exit 1
  1.1157  		fi
  1.1158  		if [ -e "$INSTALLED/$PACKAGE" ]; then
  1.1159 -			_ 'Package "%s" is already installed.' $PACKAGE
  1.1160 +			_ 'Package "%s" is already installed.' "$PACKAGE"
  1.1161  			exit 1
  1.1162  		fi
  1.1163 -		ln -s $TARGET_DIR$INSTALLED/$PACKAGE $INSTALLED
  1.1164 -		DEPENDS="$(. $INSTALLED/$PACKAGE/receipt ; echo $DEPENDS)"
  1.1165 +		ln -s "$TARGET_DIR$INSTALLED/$PACKAGE" $INSTALLED
  1.1166 +		DEPENDS="$(. "$INSTALLED/$PACKAGE/receipt"; echo $DEPENDS)"
  1.1167  		MISSING=''
  1.1168  		for i in $DEPENDS; do
  1.1169  			[ -e $INSTALLED/$i ] && continue
  1.1170 @@ -3042,31 +3048,31 @@
  1.1171  			confirm "$(_ 'Link all missing dependencies? (y/N)')"
  1.1172  			answer=$?
  1.1173  			newline
  1.1174 -			if [ "$answer" == 0 ]; then
  1.1175 +			if [ "$answer" -eq 0 ]; then
  1.1176  				for i in $MISSING; do
  1.1177  					tazpkg link $i $TARGET_DIR
  1.1178  				done
  1.1179  			else
  1.1180  				newline
  1.1181 -				_ 'Leaving dependencies unresolved for package "%s"' $PACKAGE
  1.1182 +				_ 'Leaving dependencies unresolved for package "%s"' "$PACKAGE"
  1.1183  				_ 'The package is installed but probably will not work.'
  1.1184  				newline
  1.1185  			fi
  1.1186  		fi
  1.1187 -		. $INSTALLED/$PACKAGE/receipt
  1.1188 -		if grep -q ^pre_install $INSTALLED/$PACKAGE/receipt; then
  1.1189 +		. "$INSTALLED/$PACKAGE/receipt"
  1.1190 +		if grep -q ^pre_install "$INSTALLED/$PACKAGE/receipt"; then
  1.1191  			pre_install
  1.1192  		fi
  1.1193  		while read path; do
  1.1194  			[ -e "$path" ] && continue
  1.1195  			while true; do
  1.1196 -				dir="$(dirname $path)"
  1.1197 +				dir="$(dirname "$path")"
  1.1198  				[ -e "$dir" ] && break
  1.1199  				path="$dir"
  1.1200  			done
  1.1201  			ln -s "$TARGET_DIR$path" "$dir"
  1.1202 -		done < $INSTALLED/$PACKAGE/files.list
  1.1203 -		if grep -q ^post_install $INSTALLED/$PACKAGE/receipt; then
  1.1204 +		done < "$INSTALLED/$PACKAGE/files.list"
  1.1205 +		if grep -q ^post_install "$INSTALLED/$PACKAGE/receipt"; then
  1.1206  			post_install
  1.1207  		fi ;;
  1.1208