]> code.ossystems Code Review - openembedded-core.git/commitdiff
scripts: fix file writing in convert-variable-renames
authorScott Murray <scott.murray@konsulko.com>
Tue, 22 Feb 2022 04:21:38 +0000 (23:21 -0500)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 22 Feb 2022 08:23:45 +0000 (08:23 +0000)
In my test environments (Fedora 35 and Debian 10.10 on AMD 2970WX),
running the convert-variable-renames.py rename script was resulting
in empty files instead of updated ones.  From inspection, the new
files are never flushed/closed before moving them into place, which
seems inherently racy.  Adding an explicit close to flush the modified
contents out before moving into place fixes the issue for me.

Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
scripts/contrib/convert-variable-renames.py

index fca59ca9e1fbffd2524bdf297d8f6ee47a501027..ed012610db0dee17a17c04bb375b13d3bbfce2d1 100755 (executable)
@@ -84,6 +84,7 @@ def processfile(fn):
                         if re.search(check_word, line, re.IGNORECASE):
                             print("%s needs further work at line %s since it contains %s"% (fn, lineno, check_word))
                     new_file.write(line)
+            new_file.close()
             if modified:
                 print("*** Modified file '%s'" % (fn))
                 shutil.copymode(fn, abs_path)