summaryrefslogtreecommitdiff
path: root/src/app_manifest.c
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2023-03-05 12:15:56 +0200
committerTimo Teräs <timo.teras@iki.fi>2023-03-06 21:39:48 +0200
commitbd3e2be64d1118cb07ec1ecd82ca4abd2ad9ae96 (patch)
treecc051ec85ea0e870a1afc1ca7bfd25eeceab0173 /src/app_manifest.c
parent8453943c2ebee0f0c1b08c88e927da1fffdf1784 (diff)
downloadapk-tools-bd3e2be64d1118cb07ec1ecd82ca4abd2ad9ae96.tar.gz
apk-tools-bd3e2be64d1118cb07ec1ecd82ca4abd2ad9ae96.tar.bz2
apk-tools-bd3e2be64d1118cb07ec1ecd82ca4abd2ad9ae96.tar.xz
apk-tools-bd3e2be64d1118cb07ec1ecd82ca4abd2ad9ae96.zip
db, apps: sort packages by pkgname and pkgver
This will also fix "search" to display one match from each principal pkgname group. "search -e vim" will now show both vim and gvim. fixes #10864 fixes #10777
Diffstat (limited to 'src/app_manifest.c')
-rw-r--r--src/app_manifest.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/app_manifest.c b/src/app_manifest.c
index 601f856..5caf7ba 100644
--- a/src/app_manifest.c
+++ b/src/app_manifest.c
@@ -160,8 +160,11 @@ static int process_match(struct apk_database *db, const char *match, struct apk_
return 0;
}
- foreach_array_item(p, name->providers)
+ apk_name_sorted_providers(name);
+ foreach_array_item(p, name->providers) {
+ if (p->pkg->name != name) continue;
process_package(db, p->pkg);
+ }
return 0;
}