diff options
author | Zac Medico <zmedico@gentoo.org> | 2007-08-22 21:39:45 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2007-08-22 21:39:45 +0000 |
commit | eb2f7b1014324d36e1ce1543cc9c06c918c3e703 (patch) | |
tree | 34858e50d4962d53e7a541e580cefed01b15d288 | |
parent | c6a13282f89e40ee980f3e318481c468fd4716e2 (diff) | |
download | portage-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
-rw-r--r-- | pym/portage_update.py | 9 |
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()) |