From 506d02bfea7b5bc366a7ef4365fd4bb79196245b Mon Sep 17 00:00:00 2001 From: "(no author)" <(no author)@cd1c1023-2f26-0410-ae45-c471fc1f0318> Date: Tue, 18 Mar 2008 11:44:22 +0000 Subject: [PATCH] Entropy: - make atomMatch() to match ~app-foo/foo-1.2.3 as stated in Gentoo PMS git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@1485 cd1c1023-2f26-0410-ae45-c471fc1f0318 --- libraries/databaseTools.py | 4 +++- libraries/entropyTools.py | 11 +++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/libraries/databaseTools.py b/libraries/databaseTools.py index 396496a1c..f9d3a1df2 100644 --- a/libraries/databaseTools.py +++ b/libraries/databaseTools.py @@ -4094,6 +4094,7 @@ class etpDatabase: if (pkgversion.split("-")[-1] == "r0"): pkgversion = entropyTools.remove_revision(pkgversion) if (direction == "~"): + pkgrevision = entropyTools.dep_get_portage_revision(pkgversion) pkgversion = entropyTools.remove_revision(pkgversion) for data in foundIDs: @@ -4101,8 +4102,9 @@ class etpDatabase: idpackage = data[1] dbver = self.retrieveVersion(idpackage) if (direction == "~"): + myrev = entropyTools.dep_get_portage_revision(dbver) myver = entropyTools.remove_revision(dbver) - if myver == pkgversion: + if myver == pkgversion and pkgrevision <= myrev: # found dbpkginfo.add((idpackage,dbver)) else: diff --git a/libraries/entropyTools.py b/libraries/entropyTools.py index 5129c995f..1e5dab043 100644 --- a/libraries/entropyTools.py +++ b/libraries/entropyTools.py @@ -804,6 +804,17 @@ def dep_get_entropy_revision(mydep): return myrev return None + +dep_revmatch = re.compile('^r[0-9]?') +def dep_get_portage_revision(mydep): + myver = mydep.split("-") + myrev = myver[-1] + if dep_revmatch.match(myrev): + return myrev + else: + return "r0" + + def dep_get_match_in_repos(mydep): colon = mydep.rfind("@") if colon != -1: