diff options
Diffstat (limited to 'pym/portage.py')
-rw-r--r-- | pym/portage.py | 27 |
1 files changed, 1 insertions, 26 deletions
diff --git a/pym/portage.py b/pym/portage.py index 5f260b133..8b3f289cd 100644 --- a/pym/portage.py +++ b/pym/portage.py @@ -106,6 +106,7 @@ try: from portage_checksum import perform_md5,perform_checksum,prelink_capable import eclass_cache from portage_localization import _ + from portage_update import fixdbentries # Need these functions directly in portage namespace to not break every external tool in existence from portage_versions import ververify,vercmp,catsplit,catpkgsplit,pkgsplit,pkgcmp @@ -3651,32 +3652,6 @@ def getmaskingstatus(mycpv): rValue.append(kmask+" keyword") return rValue -def fixdbentries(update_iter, dbdir): - """Performs update commands which result in search and replace operations - for each of the files in dbdir (excluding CONTENTS and environment.bz2). - Returns True when actual modifications are necessary and False otherwise.""" - modified = False - for myfile in [f for f in os.listdir(dbdir) if f not in ("CONTENTS", "environment.bz2")]: - file_path = os.path.join(dbdir, myfile) - f = open(file_path, "r") - mycontent = f.read() - f.close() - orig_content = mycontent - for update_cmd in update_iter: - if update_cmd[0] == "move": - old_value, new_value = update_cmd[1], update_cmd[2] - if not mycontent.count(old_value): - continue - old_value = re.escape(old_value); - mycontent = re.sub(old_value+"$", new_value, mycontent) - mycontent = re.sub(old_value+"(\\s)", new_value+"\\1", mycontent) - mycontent = re.sub(old_value+"(-[^a-zA-Z])", new_value+"\\1", mycontent) - mycontent = re.sub(old_value+"([^a-zA-Z0-9-])", new_value+"\\1", mycontent) - if mycontent is not orig_content: - write_atomic(file_path, mycontent) - modified = True - return modified - class packagetree: def __init__(self,virtual,clone=None): if clone: |