Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(205)

Unified Diff: download_from_google_storage.py

Issue 107323002: Add executable bit to all files downloaded under cygwin. (Closed) Base URL: http://src.chromium.org/svn/trunk/tools/depot_tools/
Patch Set: Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: download_from_google_storage.py
===================================================================
--- download_from_google_storage.py (revision 239047)
+++ download_from_google_storage.py (working copy)
@@ -199,13 +199,21 @@
out_q.put('%d> %s' % (thread_num, err))
ret_codes.put((code, err))
- # Mark executable if necessary. We key off of the custom header
- # "x-goog-meta-executable".
- #
- # TODO(hinoka): It is supposedly faster to use "gsutil stat" but that
- # doesn't appear to be supported by the gsutil currently in our tree. When
- # we update, this code should use that instead of "gsutil ls -L".
- if sys.platform != 'win32':
+ # Set executable bit.
+ if sys.platform == 'cygwin':
+ # Under cygwin, mark all files as executable. The executable flag in
+ # Google Storage will not be set when uploading from Windows, so if
+ # this script is running under cygwin and we're downloading an
+ # executable, it will be unrunnable from inside cygwin without this.
+ st = os.stat(output_filename)
+ os.chmod(output_filename, st.st_mode | stat.S_IEXEC)
+ elif sys.platform != 'win32':
+ # On non-Windows platforms, key off of the custom header
+ # "x-goog-meta-executable".
+ #
+ # TODO(hinoka): It is supposedly faster to use "gsutil stat" but that
+ # doesn't appear to be supported by the gsutil currently in our tree. When
+ # we update, this code should use that instead of "gsutil ls -L".
code, out, _ = gsutil.check_call('ls', '-L', file_url)
if code != 0:
out_q.put('%d> %s' % (thread_num, err))
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698