| #!/usr/bin/python -b |
| # Copyright 2015 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| |
| import os |
| import sys |
| |
| from portage.util import apply_recursive_permissions |
| |
| # Change back to original cwd _after_ all imports (bug #469338). |
| os.chdir(os.environ["__PORTAGE_HELPER_CWD"]) |
| |
| def main(files): |
| |
| if sys.hexversion >= 0x3000000: |
| # We can't trust that the filesystem encoding (locale dependent) |
| # correctly matches the arguments, so use surrogateescape to |
| # pass through the original argv bytes for Python 3. |
| fs_encoding = sys.getfilesystemencoding() |
| files = [x.encode(fs_encoding, 'surrogateescape') for x in files] |
| |
| for filename in files: |
| # Emulate 'chmod -fR a+rX,u+w,g-w,o-w' with minimal chmod calls. |
| apply_recursive_permissions(filename, filemode=0o644, |
| filemask=0o022, dirmode=0o755, dirmask=0o022) |
| |
| return os.EX_OK |
| |
| if __name__ == "__main__": |
| sys.exit(main(sys.argv[1:])) |