OLD | NEW |
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 [emerge args] package" | 10 [emerge args] package" |
(...skipping 620 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
631 | 631 |
632 # final_pkgs is a set of the packages we found in the final_db. These | 632 # final_pkgs is a set of the packages we found in the final_db. These |
633 # packages are either already installed, or will be installed by the time | 633 # packages are either already installed, or will be installed by the time |
634 # we're done. It's populated in BuildFinalPackageSet() | 634 # we're done. It's populated in BuildFinalPackageSet() |
635 final_pkgs = set() | 635 final_pkgs = set() |
636 | 636 |
637 # These packages take a really long time to build, so, for expediency, we | 637 # These packages take a really long time to build, so, for expediency, we |
638 # are blacklisting them from automatic rebuilds because one of their | 638 # are blacklisting them from automatic rebuilds because one of their |
639 # dependencies needs to be recompiled. | 639 # dependencies needs to be recompiled. |
640 rebuild_blacklist = set() | 640 rebuild_blacklist = set() |
641 for pkg in ("media-plugins/o3d", "dev-java/icedtea"): | 641 for pkg in ("chromeos-base/chromeos-chrome", "media-plugins/o3d", |
| 642 "dev-java/icedtea"): |
642 for match in final_db.match_pkgs(pkg): | 643 for match in final_db.match_pkgs(pkg): |
643 rebuild_blacklist.add(str(match.cpv)) | 644 rebuild_blacklist.add(str(match.cpv)) |
644 | 645 |
645 # deps_map is the actual dependency graph. | 646 # deps_map is the actual dependency graph. |
646 # | 647 # |
647 # Each package specifies a "needs" list and a "provides" list. The "needs" | 648 # Each package specifies a "needs" list and a "provides" list. The "needs" |
648 # list indicates which packages we depend on. The "provides" list | 649 # list indicates which packages we depend on. The "provides" list |
649 # indicates the reverse dependencies -- what packages need us. | 650 # indicates the reverse dependencies -- what packages need us. |
650 # | 651 # |
651 # We also provide some other information in the dependency graph: | 652 # We also provide some other information in the dependency graph: |
(...skipping 1113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1765 # need to upgrade the rest of the packages. So we'll go ahead and do that. | 1766 # need to upgrade the rest of the packages. So we'll go ahead and do that. |
1766 if portage_upgrade: | 1767 if portage_upgrade: |
1767 args = sys.argv[1:] + ["--nomerge=sys-apps/portage"] | 1768 args = sys.argv[1:] + ["--nomerge=sys-apps/portage"] |
1768 os.execvp(os.path.realpath(sys.argv[0]), args) | 1769 os.execvp(os.path.realpath(sys.argv[0]), args) |
1769 | 1770 |
1770 print "Done" | 1771 print "Done" |
1771 sys.exit(0) | 1772 sys.exit(0) |
1772 | 1773 |
1773 if __name__ == "__main__": | 1774 if __name__ == "__main__": |
1774 main() | 1775 main() |
OLD | NEW |