tazpkg diff modules/install @ rev 970

Modules "get" and "install": fix cookmode again
author Aleksej Bobylev <al.bobylev@gmail.com>
date Mon Nov 26 18:53:08 2018 +0200 (2018-11-26)
parents ed2904dae9f2
children 9d683c983e2e
line diff
     1.1 --- a/modules/install	Mon Nov 26 12:33:58 2018 +0200
     1.2 +++ b/modules/install	Mon Nov 26 18:53:08 2018 +0200
     1.3 @@ -46,11 +46,12 @@
     1.4  	if [ -n "$local" ]; then
     1.5  		# Search for virtual packages
     1.6  		if [ -n "$cookmode" ]; then
     1.7 -			pi='/home/slitaz/packages/packages.info'
     1.8 -			[ -e "$pi" ] || pi="/home/slitaz/packages/packages-$SLITAZ_ARCH.info"
     1.9 +			pi="/home/slitaz/packages/packages-$SLITAZ_ARCH.info"
    1.10 +			[ -e "$pi" ] || pi='/home/slitaz/packages/packages.info'
    1.11  		else
    1.12  			pi="$(dirname "$2")/packages.info"
    1.13  		fi
    1.14 +
    1.15  		[ -f "$pi" ] &&
    1.16  		out=$(awk -F$'\t' -vpkg="$1" '{
    1.17  			# if package name or provided package name matched
    1.18 @@ -183,8 +184,10 @@
    1.19  			if [ -n "$local" ]; then
    1.20  				[ -z "$quiet" ] && _ 'Checking if package "%s" exists in local list...' "$pkg"
    1.21  				[ -n "$cookmode" ] && dir='/home/slitaz/packages'
    1.22 -				pi="$dir/packages.info"
    1.23 -				[ -e "$pi" ] || pi="$dir/packages-$SLITAZ_ARCH.info"
    1.24 +
    1.25 +				pi="$dir/packages-$SLITAZ_ARCH.info"
    1.26 +				[ -e "$pi" ] || pi="$dir/packages.info"
    1.27 +
    1.28  				# Find local package
    1.29  				if [ -f "$pi" ]; then
    1.30  					# Packages database exists (should be everfresh!)
    1.31 @@ -200,13 +203,18 @@
    1.32  						if (index(" " $10 " ", " " pkg " ")) { printf("%s-%s", $1, $2); exit; }
    1.33  					}' "$pi")		# <namever> = <package_name>-<package_version>
    1.34  
    1.35 -					# Package file may be in form <namever>.tazpkg or <namever>-<arch>.tazpkg, so find one
    1.36 -					[ -n "$namever" ] && pkgfile=$(find "$dir" -name "$namever*.tazpkg")
    1.37 +					# Package file may be in form <namever>-<arch>.tazpkg or <namever>-any.tazpkg, so find one
    1.38 +					if [ -n "$namever" ]; then
    1.39 +						pkgfile=$(find "$dir" -name "$namever-$SLITAZ_ARCH.tazpkg")
    1.40 +						[ -n "$pkgfile" ] ||
    1.41 +						pkgfile=$(find "$dir" -name "$namever-any.tazpkg")
    1.42 +					fi
    1.43 +
    1.44  					[ -n "$pkgfile" ] && found='1'
    1.45  				else
    1.46  					# Packages DB missing, proceed to sniff packages
    1.47  					tempd="$(mktemp -d)"; cd "$tempd"
    1.48 -					for pkgfile in $dir/$pkg-*.tazpkg; do
    1.49 +					for pkgfile in $dir/$pkg-*-$SLITAZ_ARCH.tazpkg $dir/$pkg-*-any.tazpkg; do
    1.50  						[ -e "$pkgfile" ] || continue
    1.51  						# Extract receipt from each matched package
    1.52  						cpio -F "$pkgfile" -i receipt >/dev/null 2>&1
    1.53 @@ -274,11 +282,9 @@
    1.54  
    1.55  	# Try to find short description for mirrored package
    1.56  	if [ -z "$short_desc" ]; then
    1.57 -		if [ -e "$PKGS_DB/packages.info" ]; then
    1.58 -			pi="$PKGS_DB/packages.info"
    1.59 -		else
    1.60 -			"$PKGS_DB/packages-$SLITAZ_ARCH.info"
    1.61 -		fi
    1.62 +		pi="$PKGS_DB/packages-$SLITAZ_ARCH.info"
    1.63 +		[ -e "$pi" ] || pi="$PKGS_DB/packages.info"
    1.64 +
    1.65  		short_desc=$(awk -F$'\t' -vp="$1" '$1==p{print $4; exit}' "$pi")
    1.66  	fi
    1.67