From fc1de7ddfac3dbd3ccb052d2b83b94a47a892d2b Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Wed, 22 Aug 2007 20:58:45 +0000 Subject: Fix update_dbentry() to process version components properly before passing them into ververify(). svn path=/main/trunk/; revision=7665 --- pym/portage/update.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pym/portage/update.py b/pym/portage/update.py index 5c53f57bc..8d6df0143 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()) -- cgit v1.2.3-1-g7c22