On Sun, 19 Jun 2016 14:34:31 -0700 Zac Medico <zmed...@gentoo.org> wrote:
> Fix the dblink._quickpkg_dblink method to search for a binary package > having identical BUILD_TIME to the installed instance. > > X-Gentoo-Bug: 586410 > X-Gentoo-Bug-url: https://bugs.gentoo.org/show_bug.cgi?id=586410 > --- > pym/portage/dbapi/vartree.py | 15 +++++++++++---- > 1 file changed, 11 insertions(+), 4 deletions(-) > > diff --git a/pym/portage/dbapi/vartree.py > b/pym/portage/dbapi/vartree.py index bfbe356..28ae584 100644 > --- a/pym/portage/dbapi/vartree.py > +++ b/pym/portage/dbapi/vartree.py > @@ -5231,12 +5231,19 @@ class dblink(object): > > def _quickpkg_dblink(self, backup_dblink, background, > logfile): > + build_time = backup_dblink.getfile('BUILD_TIME') > + try: > + build_time = long(build_time.strip()) > + except ValueError: > + build_time = 0 > + > trees = QueryCommand.get_db()[self.settings["EROOT"]] > bintree = trees["bintree"] > - binpkg_path = bintree.getname(backup_dblink.mycpv) > - if os.path.exists(binpkg_path) and \ > - catsplit(backup_dblink.mycpv)[1] not in > bintree.invalids: > - return os.EX_OK > + > + for binpkg in reversed( > + > bintree.dbapi.match('={}'.format(backup_dblink.mycpv))): > + if binpkg.build_time == build_time: > + return os.EX_OK > > self.lockdb() > try: looks fine to me, I trust it'll do the job :) -- Brian Dolbec <dolsen>