# HG changeset patch # User Aleksej Bobylev # Date 1543228438 -7200 # Node ID ed2904dae9f299319a66bd537ccf38b908dbc638 # Parent efd6e87f46d8b29a7a5c5cb46becfb6ebb84d025 Modules "get" and "install": initial support for Cooker contain two architectures packages in one "packages" folder diff -r efd6e87f46d8 -r ed2904dae9f2 modules/get --- a/modules/get Tue May 08 08:23:30 2018 +0200 +++ b/modules/get Mon Nov 26 12:33:58 2018 +0200 @@ -157,14 +157,18 @@ # Extra-cache should contain packages DB files (packages.info, etc.) # to list extra-packages contained in the extra-cache - [ ! -f 'packages.info' ] && tazpkg mkdb "$extra_cache" --root='' --forced >/dev/null + [ ! -e 'packages.info' -a ! -e "packages-$SLITAZ_ARCH.info" ] && + tazpkg mkdb "$extra_cache" --root='' --forced >/dev/null - if [ -f 'packages.info' ]; then - awk -F$'\t' -vp="$1" '$1==p{exit 1}' packages.info + pi='packages.info' + [ -e "$pi" ] || pi="packages-$SLITAZ_ARCH.info" + + if [ -e "$pi" ]; then + awk -F$'\t' -vp="$1" '$1==p{exit 1}' $pi if [ "$?" -eq 1 ]; then [ -z "$quiet" ] && _ 'Package "%s" already in the cache' "$1" >&2 echo -n "$(pwd)/" - awk -F$'\t' -vp="$1" '$1==p{printf "%s-%s.tazpkg\n", $1, $2; exit}' packages.info + awk -F$'\t' -vp="$1" '$1==p{printf "%s-%s.tazpkg\n", $1, $2; exit}' $pi exit 0 fi fi @@ -347,10 +351,13 @@ IFS=$'\n' for rep in $PRIORITY; do - [ ! -f "$rep/packages.info" ] && continue + pi="$rep/packages.info" + [ ! -e "$pi" ] && pi="$rep/packages-$SLITAZ_ARCH.info" + [ ! -e "$pi" ] && continue + # If found, output string "-" namever=$(awk -F$'\t' -vpkg="$(virtual_pkg "$1" "$rep")" \ - '$1==pkg || $1"-"$2==pkg {printf "%s-%s", $1, $2; exit}' "$rep/packages.info") + '$1==pkg || $1"-"$2==pkg {printf "%s-%s", $1, $2; exit}' "$pi") case $SLITAZ_ARCH in i?86) pkgfile="$namever.tazpkg";; @@ -434,15 +441,18 @@ [ -e "/etc/slitaz/cook.conf" ] && . /etc/slitaz/cook.conf # Find local package + pi="$PKGS/packages.info" + [ -e "$pi" ] || pi="$PKGS/packages-$SLITAZ_ARCH.info" + namever="$(awk -F$'\t' -vpkg="$1" '{ if ($1 == pkg) { printf("%s-%s", $1, $2); exit; } - }' $PKGS/packages.info)" + }' $pi)" # Find local provided package [ -n "$namever" ] || namever="$(awk -F$'\t' -vpkg="$1" '{ if (index(" " $10 " ", " " pkg " ")) { printf("%s-%s", $1, $2); exit; } - }' $PKGS/packages.info)" + }' $pi)" [ -n "$namever" ] && pkgfile=$(find "$PKGS" -name "$namever*.tazpkg") diff -r efd6e87f46d8 -r ed2904dae9f2 modules/install --- a/modules/install Tue May 08 08:23:30 2018 +0200 +++ b/modules/install Mon Nov 26 12:33:58 2018 +0200 @@ -47,6 +47,7 @@ # Search for virtual packages if [ -n "$cookmode" ]; then pi='/home/slitaz/packages/packages.info' + [ -e "$pi" ] || pi="/home/slitaz/packages/packages-$SLITAZ_ARCH.info" else pi="$(dirname "$2")/packages.info" fi @@ -183,6 +184,7 @@ [ -z "$quiet" ] && _ 'Checking if package "%s" exists in local list...' "$pkg" [ -n "$cookmode" ] && dir='/home/slitaz/packages' pi="$dir/packages.info" + [ -e "$pi" ] || pi="$dir/packages-$SLITAZ_ARCH.info" # Find local package if [ -f "$pi" ]; then # Packages database exists (should be everfresh!) @@ -271,8 +273,14 @@ done # Try to find short description for mirrored package - [ -z "$short_desc" -a -s "$PKGS_DB/packages.info" ] && - short_desc=$(awk -F$'\t' -vp="$1" '$1==p{print $4; exit}' "$PKGS_DB/packages.info") + if [ -z "$short_desc" ]; then + if [ -e "$PKGS_DB/packages.info" ]; then + pi="$PKGS_DB/packages.info" + else + "$PKGS_DB/packages-$SLITAZ_ARCH.info" + fi + short_desc=$(awk -F$'\t' -vp="$1" '$1==p{print $4; exit}' "$pi") + fi [ -z "$short_desc" ] && short_desc="$SHORT_DESC"