diff options
| author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2018-05-09 15:13:51 +0200 |
|---|---|---|
| committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2018-05-09 15:14:14 +0200 |
| commit | 5fce76074c01e52a22151133a1e3a2cf71cfe535 (patch) | |
| tree | 2d391fff868b398c1e2d77bd334f9a05b1d75394 /build_scripts/utils.py | |
| parent | 278c05bd61c69afe5ec3d30a56931aeadc17cae8 (diff) | |
| parent | 9dc1aa57dfbf9c684e5c75451dd028b88099c348 (diff) | |
Merge remote-tracking branch 'origin/5.9' into 5.11
Change-Id: Ic7aa7796dffda87ef492a99af7859c909ec607a2
Diffstat (limited to 'build_scripts/utils.py')
| -rw-r--r-- | build_scripts/utils.py | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/build_scripts/utils.py b/build_scripts/utils.py index db95df8a8..af40916b7 100644 --- a/build_scripts/utils.py +++ b/build_scripts/utils.py @@ -39,6 +39,7 @@ import sys import os +import stat import re import stat import errno @@ -274,7 +275,8 @@ def init_msvc_env(platform_arch, build_type): log.info("Done initializing MSVC env") -def copyfile(src, dst, force=True, vars=None, force_copy_symlink=False): +def copyfile(src, dst, force=True, vars=None, force_copy_symlink=False, + make_writable_by_owner=False): if vars is not None: src = src.format(**vars) dst = dst.format(**vars) @@ -287,6 +289,9 @@ def copyfile(src, dst, force=True, vars=None, force_copy_symlink=False): if not os.path.islink(src) or force_copy_symlink: log.info("Copying file {} to {}.".format(src, dst)) shutil.copy2(src, dst) + if make_writable_by_owner: + make_file_writable_by_owner(dst) + else: linkTargetPath = os.path.realpath(src) if os.path.dirname(linkTargetPath) == os.path.dirname(src): @@ -400,6 +405,9 @@ def copydir(src, dst, filter=None, ignore=None, force=True, recursive=True, raise EnvironmentError(errors) return results +def make_file_writable_by_owner(path): + current_permissions = stat.S_IMODE(os.lstat(path).st_mode) + os.chmod(path, current_permissions | stat.S_IWUSR) def rmtree(dirname): def handleRemoveReadonly(func, path, exc): |
