summaryrefslogtreecommitdiffstats
path: root/pym/portage_update.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-08-22 21:39:45 +0000
committerZac Medico <zmedico@gentoo.org>2007-08-22 21:39:45 +0000
commiteb2f7b1014324d36e1ce1543cc9c06c918c3e703 (patch)
tree34858e50d4962d53e7a541e580cefed01b15d288 /pym/portage_update.py
parentc6a13282f89e40ee980f3e318481c468fd4716e2 (diff)
downloadportage-eb2f7b1014324d36e1ce1543cc9c06c918c3e703.tar.gz
portage-eb2f7b1014324d36e1ce1543cc9c06c918c3e703.tar.bz2
portage-eb2f7b1014324d36e1ce1543cc9c06c918c3e703.zip
Fix update_dbentry() to process version components properly before passing them into ververify(). (trunk r7665)
svn path=/main/branches/2.1.2/; revision=7669
Diffstat (limited to 'pym/portage_update.py')
-rw-r--r--pym/portage_update.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/pym/portage_update.py b/pym/portage_update.py
index f1cf7c6e5..bfbc90c6a 100644
--- a/pym/portage_update.py
+++ b/pym/portage_update.py
@@ -8,7 +8,8 @@ from portage_util import ConfigProtect, grabfile, new_protect_filename, \
normalize_path, write_atomic, writemsg
from portage_exception import DirectoryNotFound, PortageException
from portage_versions import ververify
-from portage_dep import dep_getkey, get_operator, isvalidatom, isjustname
+from portage_dep import dep_getkey, get_operator, isvalidatom, isjustname, \
+ remove_slot
from portage_const import USER_CONFIG_PATH, WORLD_FILE
ignored_dbentries = ("CONTENTS", "environment.bz2")
@@ -20,7 +21,11 @@ def update_dbentry(update_cmd, mycontent):
old_value = re.escape(old_value);
mycontent = re.sub(old_value+"(:|$|\\s)", new_value+"\\1", mycontent)
def myreplace(matchobj):
- if ververify(matchobj.group(2)):
+ # Strip slot and * operator if necessary
+ # so that ververify works.
+ ver = remove_slot(matchobj.group(2))
+ ver = ver.rstrip("*")
+ if ververify(ver):
return "%s-%s" % (new_value, matchobj.group(2))
else:
return "".join(matchobj.groups())