# HG changeset patch # User Aleksej Bobylev # Date 1519599259 -7200 # Node ID 3817dcb25419a81f806d196c0046f556f7b05ff3 # Parent 7ac4ede6e0967b86db3952a5652bf8de61554d15 modules/install: prefex "exact" packages over than "provided" packages. In other words when requested "linux-agp": prefer "linux-agp" (if it exists) over the "linux-libre-agp". diff -r 7ac4ede6e096 -r 3817dcb25419 modules/install --- a/modules/install Tue Feb 20 09:56:31 2018 +0100 +++ b/modules/install Mon Feb 26 00:54:19 2018 +0200 @@ -186,10 +186,18 @@ # Find local package if [ -f "$pi" ]; then # Packages database exists (should be everfresh!) + + # Find local package namever=$(awk -F$'\t' -vpkg="$pkg" '{ - # if package name or provided package name matched - if (index(" " $1 " " $10 " ", " " pkg " ")) { printf("%s-%s", $1, $2); exit; } + if ($1 == pkg) { printf("%s-%s", $1, $2); exit; } }' "$pi") # = - + + # Find local provided package + [ -n "$namever" ] || + namever=$(awk -F$'\t' -vpkg="$pkg" '{ + if (index(" " $10 " ", " " pkg " ")) { printf("%s-%s", $1, $2); exit; } + }' "$pi") # = - + # Package file may be in form .tazpkg or -.tazpkg, so find one [ -n "$namever" ] && pkgfile=$(find "$dir" -name "$namever*.tazpkg") [ -n "$pkgfile" ] && found='1'