On Sun, Mar 1, 2020 at 10:32 PM Zac Medico <zmed...@gentoo.org> wrote: > > 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, that makes the code a lot nicer too.