New issue
Advanced search Search tips

Issue 773607 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug



Sign in to add a comment

factory: Able to build outside chroot

Project Member Reported by hungte@chromium.org, Oct 11 2017

Issue description

Building factory toolkit may be painful when we're doing onsite support with very limited (or restricted) network access.

Most of factory code are Python so we should consider making it more convenient to fetch and make toolkits outside chroot, even able to build on Mac.

In fact I think we're very close. For current Makefile:
 1. Need logic to download and unpack closure-library, just like how we download webgl-aquarium.
 2. Need to solve makeself. Newer makeself has files in different location, and would raise MD5sum error for how we updated the toolkit installer today.

If it's really hard to write makefile logic working with different versions of builder programs, we may even create a docker "builder" for it.
 
Status: Assigned (was: Untriaged)
Project Member

Comment 2 by bugdroid1@chromium.org, Aug 15

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/factory/+/76ad08537c0b9e6a36b8edac1a7623c06e2125dd

commit 76ad08537c0b9e6a36b8edac1a7623c06e2125dd
Author: Hung-Te Lin <hungte@chromium.org>
Date: Wed Aug 15 11:42:43 2018

Makefile: Download closure-library if not found (and outside chroot).

To build toolkit outside chroot, we have to prepare and download
closure-library without relying on closure-library inside chroot.

BUG=chromium:773607
TEST=make toolkit # outside and inside chroot

Change-Id: I965b8497ec90c7cd5c1e7da01f3c81f8121b6668
Reviewed-on: https://chromium-review.googlesource.com/1170924
Commit-Ready: Hung-Te Lin <hungte@chromium.org>
Tested-by: Hung-Te Lin <hungte@chromium.org>
Reviewed-by: Wei-Han Chen <stimim@chromium.org>

[modify] https://crrev.com/76ad08537c0b9e6a36b8edac1a7623c06e2125dd/Makefile

Project Member

Comment 3 by bugdroid1@chromium.org, Aug 15

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/factory/+/8cfe5ed0343b61eedd25cab69bb3c561c0830544

commit 8cfe5ed0343b61eedd25cab69bb3c561c0830544
Author: Hung-Te Lin <hungte@chromium.org>
Date: Wed Aug 15 11:42:43 2018

Makefile: Support makeself outside chroot

On Debian and Ubuntu systems, makeself is installed as
/usr/bin/makeself and /usr/share/makeself/makeself-header.sh; but inside
chroot, the files are /usr/bin/makeself*.sh.

To support both environment, we have to check both location and copy
right files.

BUG=chromium:773607
TEST=make toolkit # outside and inside chroot

Change-Id: Idccaf6f6852438ce5b9a42cc255a5f2ba5a67c8e
Reviewed-on: https://chromium-review.googlesource.com/1170925
Commit-Ready: Hung-Te Lin <hungte@chromium.org>
Tested-by: Hung-Te Lin <hungte@chromium.org>
Reviewed-by: Yong Hong <yhong@google.com>

[modify] https://crrev.com/8cfe5ed0343b61eedd25cab69bb3c561c0830544/Makefile

Project Member

Comment 4 by bugdroid1@chromium.org, Sep 5

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/factory/+/42a9bfca2402223d88a835ed2ba01c98e8282c92

commit 42a9bfca2402223d88a835ed2ba01c98e8282c92
Author: Hung-Te Lin <hungte@chromium.org>
Date: Wed Sep 05 08:25:57 2018

devtools: Add a special Docker file for build environment.

The Docker file contains minimal tools to build factory toolkit.

BUG=chromium:773607
TEST=docker build mk -t cros/factory_build;
     docker run -it -v $HOME/chromiumos/src/platform/factory:/src/factory \
       cros/factory_build;
     cd /src/factory
     make toolkit

Change-Id: I0300ef6b3d531ce81ee1e91b83eef3111fca7e7b
Reviewed-on: https://chromium-review.googlesource.com/1171962
Commit-Ready: Hung-Te Lin <hungte@chromium.org>
Tested-by: Hung-Te Lin <hungte@chromium.org>
Reviewed-by: Yong Hong <yhong@google.com>

[add] https://crrev.com/42a9bfca2402223d88a835ed2ba01c98e8282c92/devtools/mk/Dockerfile

Sign in to add a comment