tazpkg rev 968

Modules "get" and "install": initial support for Cooker contain two architectures packages in one "packages" folder
author Aleksej Bobylev <al.bobylev@gmail.com>
date Mon Nov 26 12:33:58 2018 +0200 (2018-11-26)
parents efd6e87f46d8
children f40de1e052aa
files modules/get modules/install
line diff
     1.1 --- a/modules/get	Tue May 08 08:23:30 2018 +0200
     1.2 +++ b/modules/get	Mon Nov 26 12:33:58 2018 +0200
     1.3 @@ -157,14 +157,18 @@
     1.4  
     1.5  		# Extra-cache should contain packages DB files (packages.info, etc.)
     1.6  		# to list extra-packages contained in the extra-cache
     1.7 -		[ ! -f 'packages.info' ] && tazpkg mkdb "$extra_cache" --root='' --forced >/dev/null
     1.8 +		[ ! -e 'packages.info' -a ! -e "packages-$SLITAZ_ARCH.info" ] &&
     1.9 +			tazpkg mkdb "$extra_cache" --root='' --forced >/dev/null
    1.10  
    1.11 -		if [ -f 'packages.info' ]; then
    1.12 -			awk -F$'\t' -vp="$1" '$1==p{exit 1}' packages.info
    1.13 +		pi='packages.info'
    1.14 +		[ -e "$pi" ] || pi="packages-$SLITAZ_ARCH.info"
    1.15 +
    1.16 +		if [ -e "$pi" ]; then
    1.17 +			awk -F$'\t' -vp="$1" '$1==p{exit 1}' $pi
    1.18  			if [ "$?" -eq 1 ]; then
    1.19  				[ -z "$quiet" ] && _ 'Package "%s" already in the cache' "$1" >&2
    1.20  				echo -n "$(pwd)/"
    1.21 -				awk -F$'\t' -vp="$1" '$1==p{printf "%s-%s.tazpkg\n", $1, $2; exit}' packages.info
    1.22 +				awk -F$'\t' -vp="$1" '$1==p{printf "%s-%s.tazpkg\n", $1, $2; exit}' $pi
    1.23  				exit 0
    1.24  			fi
    1.25  		fi
    1.26 @@ -347,10 +351,13 @@
    1.27  
    1.28  	IFS=$'\n'
    1.29  	for rep in $PRIORITY; do
    1.30 -		[ ! -f "$rep/packages.info" ] && continue
    1.31 +		pi="$rep/packages.info"
    1.32 +		[ ! -e "$pi" ] && pi="$rep/packages-$SLITAZ_ARCH.info"
    1.33 +		[ ! -e "$pi" ] && continue
    1.34 +
    1.35  		# If found, output string "<name>-<ver>"
    1.36  		namever=$(awk -F$'\t' -vpkg="$(virtual_pkg "$1" "$rep")" \
    1.37 -			'$1==pkg || $1"-"$2==pkg {printf "%s-%s", $1, $2; exit}' "$rep/packages.info")
    1.38 +			'$1==pkg || $1"-"$2==pkg {printf "%s-%s", $1, $2; exit}' "$pi")
    1.39  
    1.40  		case $SLITAZ_ARCH in
    1.41  			i?86) pkgfile="$namever.tazpkg";;
    1.42 @@ -434,15 +441,18 @@
    1.43  	[ -e "/etc/slitaz/cook.conf" ] && . /etc/slitaz/cook.conf
    1.44  
    1.45  	# Find local package
    1.46 +	pi="$PKGS/packages.info"
    1.47 +	[ -e "$pi" ] || pi="$PKGS/packages-$SLITAZ_ARCH.info"
    1.48 +
    1.49  	namever="$(awk -F$'\t' -vpkg="$1" '{
    1.50  		if ($1 == pkg) { printf("%s-%s", $1, $2); exit; }
    1.51 -	}' $PKGS/packages.info)"
    1.52 +	}' $pi)"
    1.53  
    1.54  	# Find local provided package
    1.55  	[ -n "$namever" ] ||
    1.56  	namever="$(awk -F$'\t' -vpkg="$1" '{
    1.57  		if (index(" " $10 " ", " " pkg " ")) { printf("%s-%s", $1, $2); exit; }
    1.58 -	}' $PKGS/packages.info)"
    1.59 +	}' $pi)"
    1.60  
    1.61  	[ -n "$namever" ] && pkgfile=$(find "$PKGS" -name "$namever*.tazpkg")
    1.62  
     2.1 --- a/modules/install	Tue May 08 08:23:30 2018 +0200
     2.2 +++ b/modules/install	Mon Nov 26 12:33:58 2018 +0200
     2.3 @@ -47,6 +47,7 @@
     2.4  		# Search for virtual packages
     2.5  		if [ -n "$cookmode" ]; then
     2.6  			pi='/home/slitaz/packages/packages.info'
     2.7 +			[ -e "$pi" ] || pi="/home/slitaz/packages/packages-$SLITAZ_ARCH.info"
     2.8  		else
     2.9  			pi="$(dirname "$2")/packages.info"
    2.10  		fi
    2.11 @@ -183,6 +184,7 @@
    2.12  				[ -z "$quiet" ] && _ 'Checking if package "%s" exists in local list...' "$pkg"
    2.13  				[ -n "$cookmode" ] && dir='/home/slitaz/packages'
    2.14  				pi="$dir/packages.info"
    2.15 +				[ -e "$pi" ] || pi="$dir/packages-$SLITAZ_ARCH.info"
    2.16  				# Find local package
    2.17  				if [ -f "$pi" ]; then
    2.18  					# Packages database exists (should be everfresh!)
    2.19 @@ -271,8 +273,14 @@
    2.20  	done
    2.21  
    2.22  	# Try to find short description for mirrored package
    2.23 -	[ -z "$short_desc" -a -s "$PKGS_DB/packages.info" ] &&
    2.24 -		short_desc=$(awk -F$'\t' -vp="$1" '$1==p{print $4; exit}' "$PKGS_DB/packages.info")
    2.25 +	if [ -z "$short_desc" ]; then
    2.26 +		if [ -e "$PKGS_DB/packages.info" ]; then
    2.27 +			pi="$PKGS_DB/packages.info"
    2.28 +		else
    2.29 +			"$PKGS_DB/packages-$SLITAZ_ARCH.info"
    2.30 +		fi
    2.31 +		short_desc=$(awk -F$'\t' -vp="$1" '$1==p{print $4; exit}' "$pi")
    2.32 +	fi
    2.33  
    2.34  	[ -z "$short_desc" ] && short_desc="$SHORT_DESC"
    2.35