New issue
Advanced search Search tips

Issue 751852 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Oct 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Feature

Blocked on:
issue 776279



Sign in to add a comment

integrate rust into the sdk

Project Member Reported by vapier@chromium.org, Aug 2 2017

Issue description

this is a bit tricky as the rust package also needs the cross-compilers to be available before it can build.  and we'll want to add some rust packages to the sdk which needs rust to build.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Sep 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/07534cffc5aa7aa5da666549a409c3fa65734bb4

commit 07534cffc5aa7aa5da666549a409c3fa65734bb4
Author: Mike Frysinger <vapier@chromium.org>
Date: Wed Sep 13 08:51:03 2017

cros_setup_toolchains: refactor parser setup

No functional changes here, just tidies up the main func a bit and makes
it easier to test things.

BUG= chromium:751852 
TEST=precqs pass

Change-Id: I1c377b344a4685d8860ca231a6c16457b45aa13c
Reviewed-on: https://chromium-review.googlesource.com/663440
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Manoj Gupta <manojgupta@chromium.org>

[modify] https://crrev.com/07534cffc5aa7aa5da666549a409c3fa65734bb4/scripts/cros_setup_toolchains.py

Project Member

Comment 2 by bugdroid1@chromium.org, Sep 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/145921a5e59edd9176165a5d0da25a7bf51143e0

commit 145921a5e59edd9176165a5d0da25a7bf51143e0
Author: Mike Frysinger <vapier@chromium.org>
Date: Wed Sep 13 11:06:52 2017

cros_setup_toolchains: delete unused constant

Doesn't seem like this has ever been used in the history.

BUG= chromium:751852 
TEST=precqs pass

Change-Id: I7bc08b4ac569db87012a5f4ef2cad40732eea0ca
Reviewed-on: https://chromium-review.googlesource.com/663959
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Manoj Gupta <manojgupta@chromium.org>

[modify] https://crrev.com/145921a5e59edd9176165a5d0da25a7bf51143e0/scripts/cros_setup_toolchains.py

Project Member

Comment 3 by bugdroid1@chromium.org, Sep 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/fe2c2f72875bbdc1304d6648cbea4e6c8939c5e5

commit fe2c2f72875bbdc1304d6648cbea4e6c8939c5e5
Author: Mike Frysinger <vapier@chromium.org>
Date: Wed Sep 13 22:12:09 2017

cros_setup_toolchains: clean up old clean up code

This clean up logic was deployed in 2012.  It's unlikely anyone is
going to be doing an upgrade from an SDK of that vintage.  If they
are, they can recreate from scratch.

BUG= chromium:751852 
TEST=precqs pass

Change-Id: I69c8a33f26a3363bc59a96bd3dc0e302efd49de5
Reviewed-on: https://chromium-review.googlesource.com/664265
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Manoj Gupta <manojgupta@chromium.org>

[modify] https://crrev.com/fe2c2f72875bbdc1304d6648cbea4e6c8939c5e5/scripts/cros_setup_toolchains.py

Project Member

Comment 4 by bugdroid1@chromium.org, Sep 13 2017

Project Member

Comment 5 by bugdroid1@chromium.org, Sep 14 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/66bfde5bbfc7eed4d942385f38d428579e29e345

commit 66bfde5bbfc7eed4d942385f38d428579e29e345
Author: Mike Frysinger <vapier@chromium.org>
Date: Thu Sep 14 04:47:08 2017

cros_setup_toolchains: take direct control of host packages

We've been relying on crossdev to provide a list of packages for the
host toolchain, and then either undoing the results (like gdb) or
inserting more results by hand (like llvm) or munging the categories
(and thus partially ignoring the crossdev results).  Since we don't
need or want crossdev to manage config files for the host sdk like
we do with target packages (e.g. /etc/portage/*/cross-$CHOST and
/usr/local/portage/crossdev/cross-$CHOST/ paths), we end up gaining
very little from this.

Instead, lets manage the list of host toolchain packages directly.
This makes the code clearer and easier to add more packages (which
we seem to be doing more of).

BUG= chromium:751852 
TEST=precqs pass
TEST=`cros tryjob chromiumos-sdk` passes
TEST=`cros tryjob --latest-toolchain lumpy-release` passes

Change-Id: Ic61cd26cc763a600134b80da73e7144251abadc3
Reviewed-on: https://chromium-review.googlesource.com/664099
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Manoj Gupta <manojgupta@chromium.org>

[modify] https://crrev.com/66bfde5bbfc7eed4d942385f38d428579e29e345/scripts/cros_setup_toolchains.py

Project Member

Comment 6 by bugdroid1@chromium.org, Sep 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/7f0e198cd2b78d1a98240ad5dacf6acfc6d43d1a

commit 7f0e198cd2b78d1a98240ad5dacf6acfc6d43d1a
Author: Mike Frysinger <vapier@chromium.org>
Date: Fri Sep 15 01:01:50 2017

cros_setup_toolchains: drop support for disabling packages

This has only ever been used to disable some packages that were added
implicitly to the host toolchain, and those were only there because we
were forcing the host packages through crossdev code paths.  Now that
we've rewritten/simplified the host toolchain paths, this code is all
dead, so punt it.

BUG= chromium:751852 
TEST=precqs pass
TEST=`cbuildbot chromiumos-sdk` passes

Change-Id: I094e9543c3e6da814ef5228c8d4c14b4f0c26d9f
Reviewed-on: https://chromium-review.googlesource.com/666558
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Manoj Gupta <manojgupta@chromium.org>

[modify] https://crrev.com/7f0e198cd2b78d1a98240ad5dacf6acfc6d43d1a/scripts/cros_setup_toolchains.py

Project Member

Comment 7 by bugdroid1@chromium.org, Sep 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/91f528850299b518da501d19a89b178e5191ad94

commit 91f528850299b518da501d19a89b178e5191ad94
Author: Mike Frysinger <vapier@chromium.org>
Date: Fri Sep 15 03:14:16 2017

cros_setup_toolchains: add a helper for listing target packages

Other tools (notably update_chroot) want the list of packages for a
specific target, so add an option for it.

BUG= chromium:751852 
TEST=precqs pass

Change-Id: I550aaea1c3f6fc5ce384354ed5a6c6d4b8c8c544
Reviewed-on: https://chromium-review.googlesource.com/664840
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Manoj Gupta <manojgupta@chromium.org>

[modify] https://crrev.com/91f528850299b518da501d19a89b178e5191ad94/scripts/cros_setup_toolchains.py

Project Member

Comment 8 by bugdroid1@chromium.org, Sep 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/d23be273f3294ae8af4daefaef8ecaf996704280

commit d23be273f3294ae8af4daefaef8ecaf996704280
Author: Mike Frysinger <vapier@chromium.org>
Date: Fri Sep 15 07:24:04 2017

cros_setup_toolchains: drop support for setting specific versions

We've largely used this just to disable host packages that were being
implicitly added (see previous cleanup CL here), and long long ago we
would pin some toolchain package versions in this script.  We've moved
to controlling versions directly in the ebuild overlays (which makes it
easier to reason about and update), so this code is unused complicated
noise now.  Delete it.

Note: There is further cleanup we can achieve here by collapsing all of
the GetDesiredPackageVersions calls, but the refactoring in this CL is
already a bit large, so lets keep them separate.

BUG= chromium:751852 
TEST=precqs pass
TEST=`cbuildbot chromiumos-sdk` passes

Change-Id: If680adfab7e276a85589db600117d7a548ed99ef
Reviewed-on: https://chromium-review.googlesource.com/665619
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Manoj Gupta <manojgupta@chromium.org>

[modify] https://crrev.com/d23be273f3294ae8af4daefaef8ecaf996704280/scripts/cros_setup_toolchains.py

Project Member

Comment 9 by bugdroid1@chromium.org, Sep 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/crosutils/+/d0e4af7d85db644e6e7ae22f3e290ab15eb275fd

commit d0e4af7d85db644e6e7ae22f3e290ab15eb275fd
Author: Mike Frysinger <vapier@chromium.org>
Date: Fri Sep 15 17:50:29 2017

update_chroot: get pkg list from cros_setup_toolchains

Rather than hardcode the list of packages here, get the list from
cros_setup_toolchains and its new config option.

BUG= chromium:751852 
TEST=precqs pass
CQ-DEPEND=CL:664840

Change-Id: I0c70d0ded77f41c5cd51c723073620922958992d
Reviewed-on: https://chromium-review.googlesource.com/665058
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Manoj Gupta <manojgupta@chromium.org>

[modify] https://crrev.com/d0e4af7d85db644e6e7ae22f3e290ab15eb275fd/update_chroot

Project Member

Comment 10 by bugdroid1@chromium.org, Sep 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/crosutils/+/bd3a447c6667d26b8614c482ba02c57fc4133fc4

commit bd3a447c6667d26b8614c482ba02c57fc4133fc4
Author: Mike Frysinger <vapier@chromium.org>
Date: Fri Sep 15 17:50:28 2017

setup_board: automatically include sdk toolchain packages in host boards

Rather than requiring the list of toolchain packages that we are managing
by hand be listed in the virtual/target-sdk tree, pull in the list when
we are creating a new host board from scratch.  This shouldn't currently
be functionally different, but should smooth over future changes since
there will be only one place to maintain this list.

BUG= chromium:751852 
TEST=precqs pass
CQ-DEPEND=CL:664840

Change-Id: Ia54472b80efd8c3fa7695d42df10027e1470105f
Reviewed-on: https://chromium-review.googlesource.com/666297
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Manoj Gupta <manojgupta@chromium.org>

[modify] https://crrev.com/bd3a447c6667d26b8614c482ba02c57fc4133fc4/setup_board

Project Member

Comment 11 by bugdroid1@chromium.org, Sep 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/crosutils/+/7c29cce881b7511d778237761579ea0609fa745a

commit 7c29cce881b7511d778237761579ea0609fa745a
Author: Manoj Gupta <manojgupta@chromium.org>
Date: Fri Sep 15 22:11:46 2017

Revert "setup_board: automatically include sdk toolchain packages in host boards"

This reverts commit bd3a447c6667d26b8614c482ba02c57fc4133fc4.

Reason for revert: CL will break setup_board (atleast for host) since it will only pass first entry in PACKAGES to emerge.

Original change's description:
> setup_board: automatically include sdk toolchain packages in host boards
> 
> Rather than requiring the list of toolchain packages that we are managing
> by hand be listed in the virtual/target-sdk tree, pull in the list when
> we are creating a new host board from scratch.  This shouldn't currently
> be functionally different, but should smooth over future changes since
> there will be only one place to maintain this list.
> 
> BUG= chromium:751852 
> TEST=precqs pass
> CQ-DEPEND=CL:664840
> 
> Change-Id: Ia54472b80efd8c3fa7695d42df10027e1470105f
> Reviewed-on: https://chromium-review.googlesource.com/666297
> Commit-Ready: Mike Frysinger <vapier@chromium.org>
> Tested-by: Mike Frysinger <vapier@chromium.org>
> Reviewed-by: Manoj Gupta <manojgupta@chromium.org>

Bug:  chromium:751852 
Change-Id: I061dc3eff0b735c9c5f8bd154800d9ff007f1e93
Reviewed-on: https://chromium-review.googlesource.com/669750
Reviewed-by: Manoj Gupta <manojgupta@chromium.org>
Commit-Queue: Manoj Gupta <manojgupta@chromium.org>
Tested-by: Manoj Gupta <manojgupta@chromium.org>

[modify] https://crrev.com/7c29cce881b7511d778237761579ea0609fa745a/setup_board

Project Member

Comment 12 by bugdroid1@chromium.org, Sep 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/crosutils/+/f92651c7160c8bea70bdc53caafb2937b2c01bcc

commit f92651c7160c8bea70bdc53caafb2937b2c01bcc
Author: Mike Frysinger <vapier@chromium.org>
Date: Sat Sep 16 06:39:25 2017

setup_board: automatically include sdk toolchain packages in host boards [reland]

Rather than requiring the list of toolchain packages that we are managing
by hand be listed in the virtual/target-sdk tree, pull in the list when
we are creating a new host board from scratch.  This shouldn't currently
be functionally different, but should smooth over future changes since
there will be only one place to maintain this list.

This version fixes the array usage.

BUG= chromium:751852 
TEST=precqs pass

Change-Id: Ibc901dd7b45d1deacefdd6c6436fc53c4fcd8991
Reviewed-on: https://chromium-review.googlesource.com/669440
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Manoj Gupta <manojgupta@chromium.org>

[modify] https://crrev.com/f92651c7160c8bea70bdc53caafb2937b2c01bcc/setup_board

Cc: za...@chromium.org
rust the toolchain is now installed in the sdk

Zach: what packages do we need still ?  cargo or something ?

Comment 14 by za...@chromium.org, Oct 12 2017

Just cargo for now.

In the future rustfmt would be nice, but it's currently too unstable on its master branch and requires a nightly rustc. The last usable version on stable is 0.8.6. But don't consider this a blocker or anything.
Blockedon: 776279
Project Member

Comment 17 by bugdroid1@chromium.org, Oct 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/61a24395b7c197fe15a21758bd1bbbaf05d4bd49

commit 61a24395b7c197fe15a21758bd1bbbaf05d4bd49
Author: Mike Frysinger <vapier@chromium.org>
Date: Sun Oct 22 06:47:36 2017

cros_setup_toolchains: switch post cross packages to a virtual

Rather than maintain the list of packages to merge here, use the
new virtual.  This way we can do normal dep management there.

BUG= chromium:751852 
TEST=precqs pass
CQ-DEPEND=CL:724108

Change-Id: I8785608157255f1d7b7a8b2978ffbe30acfec065
Reviewed-on: https://chromium-review.googlesource.com/724139
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Manoj Gupta <manojgupta@chromium.org>
Reviewed-by: Zach Reizner <zachr@chromium.org>

[modify] https://crrev.com/61a24395b7c197fe15a21758bd1bbbaf05d4bd49/scripts/cros_setup_toolchains.py

Project Member

Comment 18 by bugdroid1@chromium.org, Oct 23 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/6c4151222f36cc23fb0174e64969bbce552746b9

commit 6c4151222f36cc23fb0174e64969bbce552746b9
Author: Mike Frysinger <vapier@chromium.org>
Date: Mon Oct 23 22:22:23 2017

cros_setup_toolchains: switch to virtual post cross packages fully

Now that we have binpkgs for this available, we can switch it on.

BUG= chromium:751852 
TEST=precqs pass

Change-Id: Ibeb2ae828e606223c0847d58421f7beb56e9d920
Reviewed-on: https://chromium-review.googlesource.com/724140
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Manoj Gupta <manojgupta@chromium.org>
Reviewed-by: Zach Reizner <zachr@chromium.org>

[modify] https://crrev.com/6c4151222f36cc23fb0174e64969bbce552746b9/scripts/cros_setup_toolchains.py

Project Member

Comment 19 by bugdroid1@chromium.org, Oct 24 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/ca96c532749d1572f679c934d23b2803b2ed07ea

commit ca96c532749d1572f679c934d23b2803b2ed07ea
Author: Mike Frysinger <vapier@chromium.org>
Date: Tue Oct 24 01:22:23 2017

crosvm: block the binary version

Make sure when we switch to the source version, the binary version
gets unmerged automatically.

BUG= chromium:751852 
TEST=precq passes

Change-Id: Ic5bfb801f3a33715e7b83b17a8e815381b634e9f
Reviewed-on: https://chromium-review.googlesource.com/733605
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Zach Reizner <zachr@chromium.org>

[modify] https://crrev.com/ca96c532749d1572f679c934d23b2803b2ed07ea/chromeos-base/crosvm/crosvm-9999.ebuild

Status: Fixed (was: Started)
rust & cargo should be available now
Project Member

Comment 21 by bugdroid1@chromium.org, Oct 24 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/docs/+/699f96503a712c318ec794de8e11751c20d8ab34

commit 699f96503a712c318ec794de8e11751c20d8ab34
Author: Zach Reizner <zachr@google.com>
Date: Tue Oct 24 22:30:14 2017

docs: with rust/cargo included in the SDK, update install section

CQ-DEPEND=CL:724140
TEST=None
BUG= chromium:751852 

Change-Id: Ide30b4f89f6b164e041592122d3aad43665bbb18
Reviewed-on: https://chromium-review.googlesource.com/734262
Commit-Ready: Zach Reizner <zachr@chromium.org>
Tested-by: Zach Reizner <zachr@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/699f96503a712c318ec794de8e11751c20d8ab34/rust_on_cros.md

Project Member

Comment 22 by bugdroid1@chromium.org, Oct 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/b485fed094e11f7267d0e76007fa086e96983433

commit b485fed094e11f7267d0e76007fa086e96983433
Author: Mike Frysinger <vapier@chromium.org>
Date: Fri Oct 27 23:14:11 2017

target-chromium-os: build crosvm from source

Now that the SDK has rust in it, we don't need a binpkg anymore.

BUG= chromium:751852 
TEST=precq passes

Change-Id: Iabd29c9acfe3ecc2042cb053e74b4d5d70833374
Reviewed-on: https://chromium-review.googlesource.com/733606
Commit-Ready: Zach Reizner <zachr@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/b485fed094e11f7267d0e76007fa086e96983433/virtual/target-chromium-os/target-chromium-os-1.ebuild
[rename] https://crrev.com/b485fed094e11f7267d0e76007fa086e96983433/virtual/target-chromium-os/target-chromium-os-1-r78.ebuild

Project Member

Comment 23 by bugdroid1@chromium.org, Oct 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/6d0450ed6d146f54a990662310a7f83b93925375

commit 6d0450ed6d146f54a990662310a7f83b93925375
Author: Mike Frysinger <vapier@chromium.org>
Date: Sat Oct 28 14:14:50 2017

crosvm-bin: punt

We use the source package everywhere now, so no need for this.

BUG= chromium:751852 
TEST=precq passes

Change-Id: I76a9fe851d00c2a3f91ef39f66e2b315dd1d3881
Reviewed-on: https://chromium-review.googlesource.com/733607
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Zach Reizner <zachr@chromium.org>

[delete] https://crrev.com/32446e9f5ab976e82e67e4d368892abd63a28c2a/chromeos-base/crosvm-bin/Manifest
[delete] https://crrev.com/32446e9f5ab976e82e67e4d368892abd63a28c2a/chromeos-base/crosvm-bin/crosvm-bin-2-r1.ebuild
[delete] https://crrev.com/32446e9f5ab976e82e67e4d368892abd63a28c2a/chromeos-base/crosvm-bin/crosvm-bin-2.ebuild

Comment 24 by dchan@chromium.org, Jan 22 2018

Status: Archived (was: Fixed)

Comment 25 by dchan@chromium.org, Jan 23 2018

Status: Fixed (was: Archived)
Components: OS>Systems>Containers

Sign in to add a comment