Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
michael@0 | 1 | #!/usr/bin/env python |
michael@0 | 2 | # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
michael@0 | 3 | # Use of this source code is governed by a BSD-style license that can be |
michael@0 | 4 | # found in the LICENSE file. |
michael@0 | 5 | |
michael@0 | 6 | """Windows can't run .sh files, so this is a small python wrapper around |
michael@0 | 7 | update.sh. |
michael@0 | 8 | """ |
michael@0 | 9 | |
michael@0 | 10 | import os |
michael@0 | 11 | import subprocess |
michael@0 | 12 | import sys |
michael@0 | 13 | |
michael@0 | 14 | |
michael@0 | 15 | def main(): |
michael@0 | 16 | if sys.platform in ['win32', 'cygwin']: |
michael@0 | 17 | return 0 |
michael@0 | 18 | |
michael@0 | 19 | # This script is called by gclient. gclient opens its hooks subprocesses with |
michael@0 | 20 | # (stdout=subprocess.PIPE, stderr=subprocess.STDOUT) and then does custom |
michael@0 | 21 | # output processing that breaks printing '\r' characters for single-line |
michael@0 | 22 | # updating status messages as printed by curl and wget. |
michael@0 | 23 | # Work around this by setting stderr of the update.sh process to stdin (!): |
michael@0 | 24 | # gclient doesn't redirect stdin, and while stdin itself is read-only, a |
michael@0 | 25 | # dup()ed sys.stdin is writable, try |
michael@0 | 26 | # fd2 = os.dup(sys.stdin.fileno()); os.write(fd2, 'hi') |
michael@0 | 27 | # TODO: Fix gclient instead, http://crbug.com/95350 |
michael@0 | 28 | return subprocess.call( |
michael@0 | 29 | [os.path.join(os.path.dirname(__file__), 'update.sh')] + sys.argv[1:], |
michael@0 | 30 | stderr=os.fdopen(os.dup(sys.stdin.fileno()))) |
michael@0 | 31 | |
michael@0 | 32 | |
michael@0 | 33 | if __name__ == '__main__': |
michael@0 | 34 | sys.exit(main()) |