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

Side by Side Diff: parallel_emerge

Issue 3622003: Added support for boards with only private overlays. (crosutils) (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/crosutils.git
Patch Set: Removed requirement for a public variant overlay if a variant is specified Created 10 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « bin/cros_overlay_list ('k') | 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 279 matching lines...) Expand 10 before | Expand all | Expand 10 after
290 # Setup various environment variables based on our current board. These 290 # Setup various environment variables based on our current board. These
291 # variables are normally setup inside emerge-${BOARD}, but since we don't 291 # variables are normally setup inside emerge-${BOARD}, but since we don't
292 # call that script, we have to set it up here. These variables serve to 292 # call that script, we have to set it up here. These variables serve to
293 # point our tools at /build/BOARD and to setup cross compiles to the 293 # point our tools at /build/BOARD and to setup cross compiles to the
294 # appropriate board as configured in toolchain.conf. 294 # appropriate board as configured in toolchain.conf.
295 if self.board: 295 if self.board:
296 os.environ["PORTAGE_CONFIGROOT"] = "/build/" + self.board 296 os.environ["PORTAGE_CONFIGROOT"] = "/build/" + self.board
297 os.environ["PORTAGE_SYSROOT"] = "/build/" + self.board 297 os.environ["PORTAGE_SYSROOT"] = "/build/" + self.board
298 os.environ["SYSROOT"] = "/build/" + self.board 298 os.environ["SYSROOT"] = "/build/" + self.board
299 scripts_dir = os.path.dirname(os.path.realpath(__file__)) 299 scripts_dir = os.path.dirname(os.path.realpath(__file__))
300 toolchain_path = "%s/../overlays/overlay-%s/toolchain.conf"
301 # Strip the variant out of the board name to look for the toolchain. This 300 # Strip the variant out of the board name to look for the toolchain. This
302 # is similar to what setup_board does. 301 # is similar to what setup_board does.
303 board_no_variant = self.board.split('_')[0] 302 board_no_variant = self.board.split('_')[0]
304 f = open(toolchain_path % (scripts_dir, board_no_variant)) 303 public_toolchain_path = ("%s/../overlays/overlay-%s/toolchain.conf" %
304 (scripts_dir, board_no_variant))
305 private_toolchain_path = (
306 "%s/../private-overlays/overlay-%s-private/toolchain.conf" %
307 (scripts_dir, board_no_variant))
308 if os.path.isfile(public_toolchain_path):
309 toolchain_path = public_toolchain_path
310 elif os.path.isfile(private_toolchain_path):
311 toolchain_path = private_toolchain_path
312 else:
313 print "Not able to locate toolchain.conf in board overlays"
314 sys.exit(1)
315
316 f = open(toolchain_path)
305 os.environ["CHOST"] = f.readline().strip() 317 os.environ["CHOST"] = f.readline().strip()
306 f.close() 318 f.close()
307 319
308 # Although CHROMEOS_ROOT isn't specific to boards, it's normally setup 320 # Although CHROMEOS_ROOT isn't specific to boards, it's normally setup
309 # inside emerge-${BOARD}, so we set it up here for compatibility. It 321 # inside emerge-${BOARD}, so we set it up here for compatibility. It
310 # will be going away soon as we migrate to CROS_WORKON_SRCROOT. 322 # will be going away soon as we migrate to CROS_WORKON_SRCROOT.
311 os.environ.setdefault("CHROMEOS_ROOT", os.environ["HOME"] + "/trunk") 323 os.environ.setdefault("CHROMEOS_ROOT", os.environ["HOME"] + "/trunk")
312 324
313 # Turn off interactive delays 325 # Turn off interactive delays
314 os.environ["EBEEP_IGNORE"] = "1" 326 os.environ["EBEEP_IGNORE"] = "1"
(...skipping 1520 matching lines...) Expand 10 before | Expand all | Expand 10 after
1835 # need to upgrade the rest of the packages. So we'll go ahead and do that. 1847 # need to upgrade the rest of the packages. So we'll go ahead and do that.
1836 if portage_upgrade: 1848 if portage_upgrade:
1837 args = sys.argv[1:] + ["--nomerge=sys-apps/portage"] 1849 args = sys.argv[1:] + ["--nomerge=sys-apps/portage"]
1838 os.execvp(os.path.realpath(sys.argv[0]), args) 1850 os.execvp(os.path.realpath(sys.argv[0]), args)
1839 1851
1840 print "Done" 1852 print "Done"
1841 sys.exit(0) 1853 sys.exit(0)
1842 1854
1843 if __name__ == "__main__": 1855 if __name__ == "__main__":
1844 main() 1856 main()
OLDNEW
« no previous file with comments | « bin/cros_overlay_list ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698