From 20de238ff645adf30ccb82a875ce02badc29e600 Mon Sep 17 00:00:00 2001 From: Daniele Debernardi Date: Wed, 25 Mar 2020 22:32:53 +0100 Subject: [PATCH] pmb.helpers.pmaports: search apkbuild path only if package exists (!1896) --- pmb/helpers/pmaports.py | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/pmb/helpers/pmaports.py b/pmb/helpers/pmaports.py index 33613820..21eb5458 100644 --- a/pmb/helpers/pmaports.py +++ b/pmb/helpers/pmaports.py @@ -44,11 +44,12 @@ def guess_main_dev(args, subpkgname): :returns: full path to the pmaport or None """ pkgname = subpkgname[:-4] - paths = _glob_apkbuilds(args, pkgname) - if paths: - logging.debug(subpkgname + ": guessed to be a subpackage of " + - pkgname + " (just removed '-dev')") - return os.path.dirname(paths[0]) + if pkgname in get_list(args): + paths = _glob_apkbuilds(args, pkgname) + if paths: + logging.debug(subpkgname + ": guessed to be a subpackage of " + + pkgname + " (just removed '-dev')") + return os.path.dirname(paths[0]) logging.debug(subpkgname + ": guessed to be a subpackage of " + pkgname + ", which we can't find in pmaports, so it's probably in" @@ -86,11 +87,12 @@ def guess_main(args, subpkgname): pkgname = "-".join(words) # Look in pmaports - paths = _glob_apkbuilds(args, pkgname) - if paths: - logging.debug(subpkgname + ": guessed to be a subpackage of " + - pkgname) - return os.path.dirname(paths[0]) + if pkgname in get_list(args): + paths = _glob_apkbuilds(args, pkgname) + if paths: + logging.debug(subpkgname + ": guessed to be a subpackage of " + + pkgname) + return os.path.dirname(paths[0]) def find(args, package, must_exist=True): @@ -112,13 +114,14 @@ def find(args, package, must_exist=True): raise RuntimeError("Invalid pkgname: " + package) # Search in packages - paths = _glob_apkbuilds(args, package) - if len(paths) > 1: - raise RuntimeError("Package " + package + " found in multiple" - " aports subfolders. Please put it only in one" - " folder.") - elif len(paths) == 1: - ret = os.path.dirname(paths[0]) + if package in get_list(args): + paths = _glob_apkbuilds(args, package) + if len(paths) > 1: + raise RuntimeError("Package " + package + " found in multiple" + " aports subfolders. Please put it only in one" + " folder.") + elif len(paths) == 1: + ret = os.path.dirname(paths[0]) # Search in subpackages and provides if not ret: