diff options
-rw-r--r-- | src/app_fetch.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/app_fetch.c b/src/app_fetch.c index 58afff4..fa2f7fa 100644 --- a/src/app_fetch.c +++ b/src/app_fetch.c @@ -301,9 +301,12 @@ static int mark_name(struct apk_database *db, const char *match, struct apk_name if (!name) goto err; - foreach_array_item(p, name->providers) - if (pkg == NULL || apk_pkg_version_compare(p->pkg, pkg) == APK_VERSION_GREATER) + foreach_array_item(p, name->providers) { + if (pkg == NULL || + (p->pkg->name == name && pkg->name != name) || + apk_pkg_version_compare(p->pkg, pkg) == APK_VERSION_GREATER) pkg = p->pkg; + } if (!pkg) goto err; mark_package(ctx, pkg); |