On 2/20/20 9:29 PM, Matt Turner wrote: > + > def findPackages( > options, > exclude=None, > @@ -564,7 +577,22 @@ def findPackages( > > # Exclude if binpkg exists in the porttree and not --deep > if not destructive and port_dbapi.cpv_exists(cpv): > - continue > + if not options['changed-deps']: > + continue > + > + uselist = bin_dbapi.aux_get(cpv, ['USE'])[0].split() > + all_equal = True > + > + for k in ('RDEPEND', 'PDEPEND'): > + binpkg_deps = bin_dbapi.aux_get(cpv, [k]) > + ebuild_deps = port_dbapi.aux_get(cpv, [k]) > + > + if not _deps_equal(binpkg_deps, ebuild_deps, cpv.eapi, > uselist): > + all_equal = False > + break > + > + if all_equal: > + continue > > if destructive and var_dbapi.cpv_exists(cpv): > # Exclude if an instance of the package is installed due to >
The aux_get calls are expensive, so it's more efficient to get multiple values with each call like: keys = ('RDEPEND', 'PDEPEND') binpkg_deps = dict(zip(keys, bin_dbapi.aux_get(cpv, keys)) ebuild_deps = dict(zip(keys, port_dbapi.aux_get(cpv, keys)) Otherwise, looks good. -- Thanks, Zac
signature.asc
Description: OpenPGP digital signature