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

Side by Side Diff: parallel_emerge

Issue 6085001: Prebuilts should not gate normal builds if the server responds with an error. (Closed) Base URL: http://git.chromium.org/git/crosutils.git@master
Patch Set: Rebase Created 9 years, 11 months 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/python2.6 1 #!/usr/bin/python2.6
2 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved. 2 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 """Program to run emerge in parallel, for significant speedup. 6 """Program to run emerge in parallel, for significant speedup.
7 7
8 Usage: 8 Usage:
9 ./parallel_emerge [--board=BOARD] [--workon=PKGS] [--no-workon-deps] 9 ./parallel_emerge [--board=BOARD] [--workon=PKGS] [--no-workon-deps]
10 [--force-remote-binary=PKGS] [emerge args] package 10 [--force-remote-binary=PKGS] [emerge args] package
(...skipping 730 matching lines...) Expand 10 before | Expand all | Expand 10 after
741 url: The specified url. 741 url: The specified url.
742 tries: The number of times to try. 742 tries: The number of times to try.
743 743
744 Returns: 744 Returns:
745 The result of urllib2.urlopen(url). 745 The result of urllib2.urlopen(url).
746 """ 746 """
747 for i in range(tries): 747 for i in range(tries):
748 try: 748 try:
749 return urllib2.urlopen(url) 749 return urllib2.urlopen(url)
750 except urllib2.HTTPError as e: 750 except urllib2.HTTPError as e:
751 print "Cannot GET %s: %s" % (url, str(e))
751 if i + 1 >= tries or e.code < 500: 752 if i + 1 >= tries or e.code < 500:
752 raise 753 raise
753 else:
754 print "Cannot GET %s: %s" % (url, str(e))
755 except urllib2.URLError as e: 754 except urllib2.URLError as e:
755 print "Cannot GET %s: %s" % (url, str(e))
756 if i + 1 >= tries: 756 if i + 1 >= tries:
757 raise 757 raise
758 else:
759 print "Cannot GET %s: %s" % (url, str(e))
760 print "Sleeping for 10 seconds before retrying..." 758 print "Sleeping for 10 seconds before retrying..."
761 time.sleep(10) 759 time.sleep(10)
762 760
763 url = os.path.join(binhost_url, "Packages") 761 url = os.path.join(binhost_url, "Packages")
764 try: 762 try:
765 f = retry_urlopen(url) 763 f = retry_urlopen(url)
766 except urllib2.HTTPError as e: 764 except urllib2.HTTPError as e:
767 if e.code == 404: 765 if e.code == 404:
768 return {} 766 return {}
769 else: 767 else:
(...skipping 1058 matching lines...) Expand 10 before | Expand all | Expand 10 after
1828 print "Starting fast-emerge." 1826 print "Starting fast-emerge."
1829 print " Building package %s on %s" % (cmdline_packages, 1827 print " Building package %s on %s" % (cmdline_packages,
1830 deps.board or "root") 1828 deps.board or "root")
1831 if nomerge_packages: 1829 if nomerge_packages:
1832 print " Skipping package %s on %s" % (nomerge_packages, 1830 print " Skipping package %s on %s" % (nomerge_packages,
1833 deps.board or "root") 1831 deps.board or "root")
1834 1832
1835 remote_pkgs = {} 1833 remote_pkgs = {}
1836 if "--getbinpkg" in emerge.opts: 1834 if "--getbinpkg" in emerge.opts:
1837 binhost = emerge.settings["PORTAGE_BINHOST"] 1835 binhost = emerge.settings["PORTAGE_BINHOST"]
1838 remote_pkgs = deps.RemotePackageDatabase(binhost) 1836 try:
1837 remote_pkgs = deps.RemotePackageDatabase(binhost)
1838 except (urllib2.HTTPError, urllib2.URLError):
1839 print "Cannot resolve binhost. Building from source..."
1840 del emerge.opts["--getbinpkg"]
1839 1841
1840 deps_tree, deps_info = deps.GenDependencyTree(remote_pkgs) 1842 deps_tree, deps_info = deps.GenDependencyTree(remote_pkgs)
1841 1843
1842 # You want me to be verbose? I'll give you two trees! Twice as much value. 1844 # You want me to be verbose? I'll give you two trees! Twice as much value.
1843 if "--tree" in emerge.opts and "--verbose" in emerge.opts: 1845 if "--tree" in emerge.opts and "--verbose" in emerge.opts:
1844 deps.PrintTree(deps_tree) 1846 deps.PrintTree(deps_tree)
1845 1847
1846 deps_graph = deps.GenDependencyGraph(deps_tree, deps_info, remote_pkgs) 1848 deps_graph = deps.GenDependencyGraph(deps_tree, deps_info, remote_pkgs)
1847 1849
1848 # OK, time to print out our progress so far. 1850 # OK, time to print out our progress so far.
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
1892 # need to upgrade the rest of the packages. So we'll go ahead and do that. 1894 # need to upgrade the rest of the packages. So we'll go ahead and do that.
1893 if portage_upgrade: 1895 if portage_upgrade:
1894 args = sys.argv[1:] + ["--nomerge=sys-apps/portage"] 1896 args = sys.argv[1:] + ["--nomerge=sys-apps/portage"]
1895 os.execvp(os.path.realpath(sys.argv[0]), args) 1897 os.execvp(os.path.realpath(sys.argv[0]), args)
1896 1898
1897 print "Done" 1899 print "Done"
1898 sys.exit(0) 1900 sys.exit(0)
1899 1901
1900 if __name__ == "__main__": 1902 if __name__ == "__main__":
1901 main() 1903 main()
OLDNEW
« 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