Index: bin/cbuildbot.py |
diff --git a/bin/cbuildbot.py b/bin/cbuildbot.py |
index 076487fb2007aadbd3b57a6c80aea8ceb3cff980..fb408eb58046ca24cabfbc2dd0b5f035c3c8744e 100755 |
--- a/bin/cbuildbot.py |
+++ b/bin/cbuildbot.py |
@@ -27,6 +27,7 @@ ARCHIVE_BASE = '/var/www/archive' |
ARCHIVE_COUNT = 10 |
PUBLIC_OVERLAY = '%(buildroot)s/src/third_party/chromiumos-overlay' |
PRIVATE_OVERLAY = '%(buildroot)s/src/private-overlays/chromeos-overlay' |
+CHROME_KEYWORDS_FILE = ('/build/%(board)s/etc/portage/package.keywords/chrome') |
# Currently, both the full buildbot and the preflight buildbot store their |
# data in a variable named PORTAGE_BINHOST, but they're in different files. |
@@ -217,7 +218,7 @@ def _UprevFromRevisionList(buildroot, tracking_branch, revision_list, board, |
cwd=cwd, enter_chroot=True) |
-def _MarkChromeAsStable(buildroot, tracking_branch, chrome_rev): |
+def _MarkChromeAsStable(buildroot, tracking_branch, chrome_rev, board): |
"""Returns the portage atom for the revved chrome ebuild - see man emerge.""" |
cwd = os.path.join(buildroot, 'src', 'scripts') |
portage_atom_string = RunCommand(['bin/cros_mark_chrome_as_stable', |
@@ -228,7 +229,12 @@ def _MarkChromeAsStable(buildroot, tracking_branch, chrome_rev): |
Info('Found nothing to rev.') |
return None |
else: |
- return portage_atom_string.split('=')[1] |
+ chrome_atom = portage_atom_string.split('=')[1] |
+ # TODO(sosa): Workaround to build unstable chrome ebuild we uprevved. |
+ RunCommand(['sudo', 'tee', CHROME_KEYWORDS_FILE % {'board': board}], |
+ input='=%s\n' % chrome_atom, enter_chroot=True, |
+ cwd=cwd) |
+ return chrome_atom |
def _UprevAllPackages(buildroot, tracking_branch, board, overlays): |
@@ -416,7 +422,7 @@ def _Build(buildroot, emptytree): |
def _BuildChrome(buildroot, board, chrome_atom_to_build): |
"""Wrapper for emerge call to build Chrome.""" |
cwd = os.path.join(buildroot, 'src', 'scripts') |
- RunCommand(['ACCEPT_KEYWORDS="* ~*"', 'emerge-%s' % board, |
+ RunCommand(['emerge-%s' % board, |
'=%s' % chrome_atom_to_build], |
cwd=cwd, enter_chroot=True) |
@@ -734,7 +740,7 @@ def main(): |
# Perform uprev. If chrome_uprev is set, rev Chrome ebuilds. |
if options.chrome_rev: |
chrome_atom_to_build = _MarkChromeAsStable(buildroot, tracking_branch, |
- options.chrome_rev) |
+ options.chrome_rev, board) |
# If we found nothing to rev, we're done here. |
if not chrome_atom_to_build: |
return |