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 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
199 ('ebuild', '/', 'dev-lang/perl-5.8.8-r8', 'merge') (buildtime) | 199 ('ebuild', '/', 'dev-lang/perl-5.8.8-r8', 'merge') (buildtime) |
200 ('binary', '/.../rootfs/', 'sys-auth/policykit-0.9-r1', 'merge') depends on | 200 ('binary', '/.../rootfs/', 'sys-auth/policykit-0.9-r1', 'merge') depends on |
201 ('binary', '/.../rootfs/', 'x11-misc/xbitmaps-1.1.0', 'merge') (no children) | 201 ('binary', '/.../rootfs/', 'x11-misc/xbitmaps-1.1.0', 'merge') (no children) |
202 """ | 202 """ |
203 | 203 |
204 re_deps = re.compile(r"(?P<indent>\W*)\(\'(?P<pkgtype>\w+)\', " | 204 re_deps = re.compile(r"(?P<indent>\W*)\(\'(?P<pkgtype>\w+)\', " |
205 r"\'(?P<destination>[\w/\.-]+)\'," | 205 r"\'(?P<destination>[\w/\.-]+)\'," |
206 r" \'(?P<pkgdir>[\w\+-]+)/(?P<pkgname>[\w\+-]+)-" | 206 r" \'(?P<pkgdir>[\w\+-]+)/(?P<pkgname>[\w\+-]+)-" |
207 r"(?P<version>\d+[\w\.-]*)\', \'(?P<action>\w+)\'\) " | 207 r"(?P<version>\d+[\w\.-]*)\', \'(?P<action>\w+)\'\) " |
208 r"(?P<deptype>(depends on|\(.*\)))") | 208 r"(?P<deptype>(depends on|\(.*\)))") |
209 re_origdeps = re.compile(r"(?P<pkgname>[\w\+/-]+) depends on") | 209 re_origdeps = re.compile(r"(?P<pkgname>[\w\+/=.<>~*-]+) depends on") |
210 re_installed_package = re.compile( | 210 re_installed_package = re.compile( |
211 r"\[(?P<desc>[^\]]*)\] " | 211 r"\[(?P<desc>[^\]]*)\] " |
212 r"(?P<pkgdir>[\w\+-]+)/" | 212 r"(?P<pkgdir>[\w\+-]+)/" |
213 r"(?P<pkgname>[\w\+-]+)-" | 213 r"(?P<pkgname>[\w\+-]+)-" |
214 r"(?P<version>\d+[\w\.-]*)( \[" | 214 r"(?P<version>\d+[\w\.-]*)( \[" |
215 r"(?P<oldversion>\d+[\w\.-]*)\])?" | 215 r"(?P<oldversion>\d+[\w\.-]*)\])?" |
216 ) | 216 ) |
217 re_failed = re.compile(r".*\) depends on.*") | 217 re_failed = re.compile(r".*\) depends on.*") |
218 deps_tree = {} | 218 deps_tree = {} |
219 deps_stack = [] | 219 deps_stack = [] |
(...skipping 568 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
788 | 788 |
789 if VERBOSE: | 789 if VERBOSE: |
790 PrintDepsMap(dependency_graph) | 790 PrintDepsMap(dependency_graph) |
791 | 791 |
792 # Run the queued emerges. | 792 # Run the queued emerges. |
793 scheduler = EmergeQueue(dependency_graph) | 793 scheduler = EmergeQueue(dependency_graph) |
794 scheduler.Run() | 794 scheduler.Run() |
795 | 795 |
796 print "Done" | 796 print "Done" |
797 | 797 |
OLD | NEW |