New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 747477 link

Starred by 0 users

Issue metadata

Status: Fixed
Owner:
Closed: Aug 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Feature



Sign in to add a comment

Consolidate reef family chromeos-bsp-* in baseboard-reef

Project Member Reported by jclinton@chromium.org, Jul 21 2017

Issue description

(Moved from b/63920478)

Now that we've unified all of the configuration that lives in the chromeos-bsp-* packages (audio, camera, board-hardware-features, powerd, bluetooth), we should move the individual board chromeos-bsp packages to a single ebuild in baseboard reef (public or private) so that pyro, reef, reef-uni, sand, and snappy all use a non-duplicated copy of that package's configuration (and dependencies) so that partners don't accidentally introduce forks that affect the legacy build but not the Unified Build.

private changes:
board-hardware-feature was done in b/63386917
camera was done in b/63387838
audio was done in b/63350999

public configs that were moved to reef-uni-private:
powerd was done in b/63094714
bluetooth was done in b/63111731

To fix this, we'll need to have everything that was public back in public in baseboard-reef/chromeos-base/chromeos-bsp so that we can delete the public model-specific chromeos-bsp overrides.

 
(Clarification: model-specific public chromeos-bsp will still exist as a package because that's where the appid is defined. model-specific private will be deleted, though.)

Comment 2 by sjg@google.com, Jul 21 2017

LGTM!
Untying this knot will require many steps which I need to document for clarity. What we have today:

overlays/baseboard-reef/chromeos-base/chromeos-bsp-baseboard-reef (empty ebuild, no deps)
overlays/overlay-sand/chromeos-base/chromeos-bsp-sand (appid, powerd)
overlays/overlay-pyro/chromeos-base/chromeos-bsp-pyro (appid, powerd, bluetooth)
overlays/overlay-snappy/chromeos-base/chromeos-bsp-snappy (appid, powerd, bluetooth)
overlays/overlay-reef/chromeos-base/chromeos-bsp-reef (appid, powerd, bluetooth)
(public reef-uni doesn't exist)

overlays/overlay-*/chromeos-base/chromeos-bsp-* depend on chromeos-base/chromeos-bsp-baseboard-reef

private-overlays/baseboard-reef-private/chromeos-base/board-hardware-features (unified board-hardware-features)
private-overlays/baseboard-reef-private/chromeos-base/camera-characteristics (unified camera)
private-overlays/overlay-pyro-private/chromeos-base/chromeos-bsp-pyro-private (audio)
private-overlays/overlay-reef-private/chromeos-base/chromeos-bsp-reef-private (audio)
private-overlays/overlay-reef-uni-private/chromeos-base/chromeos-bsp-reef-uni (appid, unified audio in unshared location, unified powerd in non-public/shared, unified bluetooth in non-public/shared)
private-overlays/overlay-sand-private/chromeos-base/chromeos-bsp-sand-private (audio)
private-overlays/overlay-snappy-private/chromeos-base/chromeos-bsp-snappy-private (audio)

private-overlays/overlay-*-private/chromeos-base/chromeos-bsp-*-private depends on board-hardware-features and camera-characteristics

Each model virtual/chromeos-bsp/chromeos-bsp-3.ebuild depends on the chromeos-bsp-$MODEL *and* chromeos-bsp-$MODEL-private ebuilds.

At the end of this process we will have only:
overlays/baseboard-reef/chromeos-base/chromeos-bsp-baseboard-reef (unified powerd, bluetooth)
overlays/overlay-sand/chromeos-base/chromeos-bsp-sand (appid)
overlays/overlay-pyro/chromeos-base/chromeos-bsp-pyro (appid)
overlays/overlay-snappy/chromeos-base/chromeos-bsp-snappy (appid)
overlays/overlay-reef/chromeos-base/chromeos-bsp-reef (appid)
private-overlays/baseboard-reef-private/chromeos-base/chromeos-bsp-baseboard-reef-private (unified board-hardware features, camera, audio)

We go from 12 directories to 6 directories correcting some issue with reef-uni-private at the same time. Reiterating: all of the code changes to support this are already done; we just need to end up with a clean, sane package layout that is easy to understand.

Everything else above will be deleted.

Steps:
1. In 1 CL: empty out private-overlays/overlay-reef-uni-private/chromeos-base/chromeos-bsp-reef-uni installed files in preparation for next step. (temp breakage of reef-uni HWTest but not the build)
2. In 1 CL: empty out all of overlays/overlay-*/chromeos-base/chromeos-bsp-* powerd and bluetooth settings and import into overlays/baseboard-reef/chromeos-base/chromeos-bsp-baseboard-reef unified powerd and bluetooth settings deleted in previous CL.
3. Move remaining unified audio config from private-overlays/overlay-reef-uni-private/chromeos-base/chromeos-bsp-reef-uni to private-overlays/baseboard-reef-private/chromeos-base/chromeos-bsp-baseboard-reef-private (new), update private-overlays/overlay-reef-uni-private/chromeos-base/chromeos-bsp-reef-uni to depend on private-overlays/baseboard-reef-private/chromeos-base/chromeos-bsp-baseboard-reef-private
4. Delete all audio configuration from private-overlays/overlay-*-private/chromeos-base/chromeos-bsp-*-private and update all those ebuilds to depend on private-overlays/baseboard-reef-private/chromeos-base/chromeos-bsp-baseboard-reef-private (being careful to do tests on real hardware to confirm this is working as expected).
5. Move the transitional contents of private-overlays/baseboard-reef-private/chromeos-base/board-hardware-features and private-overlays/baseboard-reef-private/chromeos-base/camera-characteristics into private-overlays/baseboard-reef-private/chromeos-base/chromeos-bsp-baseboard-reef-private leaving the source ebuilds empty.
6. At this point, all of overlays/overlay-*/chromeos-base/chromeos-bsp-*, private-overlays/overlay-*-private/chromeos-base/chromeos-bsp-*-private, private-overlays/baseboard-reef-private/chromeos-base/board-hardware-features, and private-overlays/baseboard-reef-private/chromeos-base/camera-characteristics are nothing but shell dependency ebuilds.
7. Create new overlays/overlay-reef-uni/chromeos-base/chromeos-bsp-reef-uni to hold appid
8. Update all virtual/chromeos-bsp/chromeos-bsp-3.ebuild's to depend directly on private-overlays/baseboard-reef-private/chromeos-base/ deleting those model's dependency ebuilds in each CL. For reef-uni, add new dependency on new overlays/overlay-reef-uni/chromeos-base/chromeos-bsp-reef-uni at the same time.
9. Delete private-overlays/baseboard-reef-private/chromeos-base/board-hardware-features and private-overlays/baseboard-reef-private/chromeos-base/camera-characteristics.

A further optimization would be to move appid into baseboard-reef reducing the number of directories from 6 to just 2 (!!!).

Comment 4 by sjg@google.com, Jul 21 2017

SGTM. Re the last point, how do you put the appids into one ebuild? They are different aren't they? Do you mean after everything has moved to reef-uni?
My thought was to programmatically select the appid. However, maybe this doesn't makes sense so we should just leave it in the 6 ebuild end-state described above. Anyway, this would be a follow-up.

Comment 6 by sjg@google.com, Jul 21 2017

Ah OK I see, yes we could do that. In any case these go away after migration.
Project Member

Comment 7 by bugdroid1@chromium.org, Jul 24 2017

Project Member

Comment 8 by bugdroid1@chromium.org, Jul 25 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/board-overlays/+/90a17e091258b9feb5a35eb05a8ed805538c15cd

commit 90a17e091258b9feb5a35eb05a8ed805538c15cd
Author: Jason D. Clinton <jclinton@chromium.org>
Date: Tue Jul 25 03:32:49 2017

Use Unified Reef bluetooth and powerd across all Reef family builds

This CL will cause legacy reef builds and reef-uni to use the same
powerd and bluetooth unified configuration stored in public
baseboard-reef/chromeos-bsp/chrome-bsp-baseboard-reef. All old
configuration is deleted at the same time.

BUG= chromium:747477 
TEST=Build and deploy pyro and reef-uni builds to Pyro board; confirm
that audio and bluetooth not broken in either case.
CQ-DEPEND=CL:*416209

Change-Id: I002003e41a57c259f3e0114fdc246ed30ae9bc7f
Reviewed-on: https://chromium-review.googlesource.com/583439
Commit-Ready: Jason Clinton <jclinton@chromium.org>
Tested-by: Jason Clinton <jclinton@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Jason Clinton <jclinton@chromium.org>
Reviewed-by: C Shapiro <shapiroc@google.com>

[rename] https://crrev.com/90a17e091258b9feb5a35eb05a8ed805538c15cd/baseboard-reef/chromeos-base/chromeos-bsp-baseboard-reef/files/powerd_prefs/board_specific/power_supply_full_factor
[modify] https://crrev.com/90a17e091258b9feb5a35eb05a8ed805538c15cd/baseboard-reef/chromeos-base/chromeos-bsp-baseboard-reef/chromeos-bsp-baseboard-reef-0.0.1.ebuild
[modify] https://crrev.com/90a17e091258b9feb5a35eb05a8ed805538c15cd/overlay-reef/chromeos-base/chromeos-bsp-reef/chromeos-bsp-reef-0.0.1.ebuild
[rename] https://crrev.com/90a17e091258b9feb5a35eb05a8ed805538c15cd/baseboard-reef/chromeos-base/chromeos-bsp-baseboard-reef/files/powerd_prefs/board_specific/low_battery_shutdown_percent
[rename] https://crrev.com/90a17e091258b9feb5a35eb05a8ed805538c15cd/baseboard-reef/chromeos-base/chromeos-bsp-baseboard-reef/files/bluetooth/models/pyro.conf
[rename] https://crrev.com/90a17e091258b9feb5a35eb05a8ed805538c15cd/baseboard-reef/chromeos-base/chromeos-bsp-baseboard-reef/files/powerd_prefs/board_specific/suspend_to_idle
[rename] https://crrev.com/90a17e091258b9feb5a35eb05a8ed805538c15cd/baseboard-reef/chromeos-base/chromeos-bsp-baseboard-reef/files/bluetooth/models/reef.conf
[delete] https://crrev.com/cff6a9381956c1a399d0efa8f5b63e9e05d094e5/overlay-snappy/chromeos-base/chromeos-bsp-snappy/files/powerd_prefs/power_supply_full_factor
[rename] https://crrev.com/90a17e091258b9feb5a35eb05a8ed805538c15cd/baseboard-reef/chromeos-base/chromeos-bsp-baseboard-reef/files/bluetooth/models/snappy.conf
[rename] https://crrev.com/90a17e091258b9feb5a35eb05a8ed805538c15cd/baseboard-reef/chromeos-base/chromeos-bsp-baseboard-reef/files/powerd_prefs/board_specific/charging_ports
[rename] https://crrev.com/90a17e091258b9feb5a35eb05a8ed805538c15cd/overlay-snappy/chromeos-base/chromeos-bsp-snappy/chromeos-bsp-snappy-0.0.1-r12.ebuild
[delete] https://crrev.com/cff6a9381956c1a399d0efa8f5b63e9e05d094e5/overlay-sand/chromeos-base/chromeos-bsp-sand/files/powerd_prefs/low_battery_shutdown_percent
[modify] https://crrev.com/90a17e091258b9feb5a35eb05a8ed805538c15cd/overlay-snappy/chromeos-base/chromeos-bsp-snappy/chromeos-bsp-snappy-0.0.1.ebuild
[delete] https://crrev.com/cff6a9381956c1a399d0efa8f5b63e9e05d094e5/overlay-reef/chromeos-base/chromeos-bsp-reef/files/powerd_prefs/suspend_to_idle
[rename] https://crrev.com/90a17e091258b9feb5a35eb05a8ed805538c15cd/overlay-pyro/chromeos-base/chromeos-bsp-pyro/chromeos-bsp-pyro-0.0.1-r13.ebuild
[delete] https://crrev.com/cff6a9381956c1a399d0efa8f5b63e9e05d094e5/overlay-reef/chromeos-base/chromeos-bsp-reef/files/powerd_prefs/charging_ports
[delete] https://crrev.com/cff6a9381956c1a399d0efa8f5b63e9e05d094e5/overlay-reef/chromeos-base/chromeos-bsp-reef/files/powerd_prefs/low_battery_shutdown_percent
[rename] https://crrev.com/90a17e091258b9feb5a35eb05a8ed805538c15cd/overlay-reef/chromeos-base/chromeos-bsp-reef/chromeos-bsp-reef-0.0.1-r14.ebuild
[delete] https://crrev.com/cff6a9381956c1a399d0efa8f5b63e9e05d094e5/overlay-snappy/chromeos-base/chromeos-bsp-snappy/files/powerd_prefs/charging_ports
[modify] https://crrev.com/90a17e091258b9feb5a35eb05a8ed805538c15cd/overlay-sand/chromeos-base/chromeos-bsp-sand/chromeos-bsp-sand-0.0.1.ebuild
[delete] https://crrev.com/cff6a9381956c1a399d0efa8f5b63e9e05d094e5/overlay-reef/chromeos-base/chromeos-bsp-reef/files/powerd_prefs/power_supply_full_factor
[modify] https://crrev.com/90a17e091258b9feb5a35eb05a8ed805538c15cd/overlay-pyro/chromeos-base/chromeos-bsp-pyro/chromeos-bsp-pyro-0.0.1.ebuild
[rename] https://crrev.com/90a17e091258b9feb5a35eb05a8ed805538c15cd/baseboard-reef/chromeos-base/chromeos-bsp-baseboard-reef/chromeos-bsp-baseboard-reef-0.0.1-r2.ebuild
[delete] https://crrev.com/cff6a9381956c1a399d0efa8f5b63e9e05d094e5/overlay-snappy/chromeos-base/chromeos-bsp-snappy/files/powerd_prefs/low_battery_shutdown_percent
[delete] https://crrev.com/cff6a9381956c1a399d0efa8f5b63e9e05d094e5/overlay-snappy/chromeos-base/chromeos-bsp-snappy/files/powerd_prefs/suspend_to_idle
[rename] https://crrev.com/90a17e091258b9feb5a35eb05a8ed805538c15cd/overlay-sand/chromeos-base/chromeos-bsp-sand/chromeos-bsp-sand-0.0.1-r3.ebuild
[rename] https://crrev.com/90a17e091258b9feb5a35eb05a8ed805538c15cd/baseboard-reef/chromeos-base/chromeos-bsp-baseboard-reef/files/powerd_prefs/model_specific/reef/set_wifi_transmit_power_for_tablet_mode

Project Member

Comment 9 by bugdroid1@chromium.org, Jul 25 2017

Project Member

Comment 10 by bugdroid1@chromium.org, Jul 26 2017

Project Member

Comment 11 by bugdroid1@chromium.org, Jul 26 2017

Project Member

Comment 12 by bugdroid1@chromium.org, Jul 26 2017

Project Member

Comment 13 by bugdroid1@chromium.org, Jul 28 2017

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/chromeos/overlays/overlay-reef-private/+/bba96cf3fc08878fc76b6a93c7f077d879e14ea8

commit bba96cf3fc08878fc76b6a93c7f077d879e14ea8
Author: Jason D. Clinton <jclinton@chromium.org>
Date: Fri Jul 28 00:55:41 2017

Project Member

Comment 14 by bugdroid1@chromium.org, Jul 28 2017

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/chromeos/overlays/overlay-pyro-private/+/4b3db78d527de018868bd3a6ba74f299b8263839

commit 4b3db78d527de018868bd3a6ba74f299b8263839
Author: Jason D. Clinton <jclinton@chromium.org>
Date: Fri Jul 28 00:55:41 2017

Project Member

Comment 15 by bugdroid1@chromium.org, Jul 28 2017

Project Member

Comment 16 by bugdroid1@chromium.org, Jul 28 2017

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

commit ceec9c2b23c0879fadfdad9cea4e7816aab42e1e
Author: Jason D. Clinton <jclinton@chromium.org>
Date: Fri Jul 28 06:24:10 2017

All Snappy boards should return model of 'snappy'

There were some Snappy boards produced that return 'Morgan' as their
model. See:
http://cs/chromeos_internal/src/private-overlays/overlay-snappy-private/chromeos-base/chromeos-touch-firmware-snappy/chromeos-touch-firmware-snappy-0.0.1.ebuild?l=37&rcl=7772175b5bdb6d66f59b68f855dfccc1cf4c4a28

This is not correct and breaks runtime Unified Build configuration logic.

BUG= chromium:747477 
TEST=Build and deploy to Snappy in lab. Run mosys platform model and
see 'snappy' return.
BRANCH=none

Change-Id: Id2239c59146001e09e6458874efc1c13bb05fdb1
Reviewed-on: https://chromium-review.googlesource.com/590848
Commit-Ready: Jason Clinton <jclinton@chromium.org>
Tested-by: Jason Clinton <jclinton@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>

[modify] https://crrev.com/ceec9c2b23c0879fadfdad9cea4e7816aab42e1e/platform/reef/reef.c

Project Member

Comment 17 by bugdroid1@chromium.org, Jul 28 2017

Project Member

Comment 18 by bugdroid1@chromium.org, Jul 28 2017

Project Member

Comment 19 by bugdroid1@chromium.org, Jul 28 2017

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/chromeos/overlays/overlay-pyro-private/+/12a6d99859e039968a989573770e20721d3c0624

commit 12a6d99859e039968a989573770e20721d3c0624
Author: Jason D. Clinton <jclinton@chromium.org>
Date: Fri Jul 28 22:04:27 2017

Project Member

Comment 20 by bugdroid1@chromium.org, Jul 28 2017

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/chromeos/overlays/overlay-sand-private/+/11a560a4803e9022328fcc7d6eb6fa3135796b0b

commit 11a560a4803e9022328fcc7d6eb6fa3135796b0b
Author: Jason D. Clinton <jclinton@chromium.org>
Date: Fri Jul 28 22:04:25 2017

Project Member

Comment 21 by bugdroid1@chromium.org, Jul 29 2017

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/chromeos/overlays/overlay-sand-private/+/b8a35dbfac2fc721ca01a40a82d4c302975e4f21

commit b8a35dbfac2fc721ca01a40a82d4c302975e4f21
Author: Jason D. Clinton <jclinton@chromium.org>
Date: Sat Jul 29 00:45:14 2017

Project Member

Comment 22 by bugdroid1@chromium.org, Jul 31 2017

Project Member

Comment 23 by bugdroid1@chromium.org, Jul 31 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/board-overlays/+/3685260024efe4a2b98607ff83b7e7534ffcef4f

commit 3685260024efe4a2b98607ff83b7e7534ffcef4f
Author: Jason D. Clinton <jclinton@chromium.org>
Date: Mon Jul 31 21:56:35 2017

Add public reef-uni overlay

This must be added before we delete the appid from reef-uni-private.

BUG= chromium:747477 
TEST=Build reef-uni to ensure that the build is not broken.

Change-Id: I6890f02da5c4c1dd36113d063ea1c8e5a6332c67
Reviewed-on: https://chromium-review.googlesource.com/592527
Commit-Ready: Jason Clinton <jclinton@chromium.org>
Tested-by: Jason Clinton <jclinton@chromium.org>
Reviewed-by: Jason Clinton <jclinton@chromium.org>

[add] https://crrev.com/3685260024efe4a2b98607ff83b7e7534ffcef4f/overlay-reef-uni/profiles/base/parent
[add] https://crrev.com/3685260024efe4a2b98607ff83b7e7534ffcef4f/overlay-reef-uni/toolchain.conf
[add] https://crrev.com/3685260024efe4a2b98607ff83b7e7534ffcef4f/overlay-reef-uni/make.conf
[add] https://crrev.com/3685260024efe4a2b98607ff83b7e7534ffcef4f/overlay-reef-uni/metadata/layout.conf
[add] https://crrev.com/3685260024efe4a2b98607ff83b7e7534ffcef4f/overlay-reef-uni/chromeos-base/chromeos-bsp-reef-uni/chromeos-bsp-reef-uni-0.0.1-r1.ebuild
[add] https://crrev.com/3685260024efe4a2b98607ff83b7e7534ffcef4f/overlay-reef-uni/chromeos-base/chromeos-bsp-reef-uni/chromeos-bsp-reef-uni-0.0.1.ebuild
[add] https://crrev.com/3685260024efe4a2b98607ff83b7e7534ffcef4f/overlay-reef-uni/COMMIT-QUEUE.ini

Project Member

Comment 24 by bugdroid1@chromium.org, Aug 1 2017

Project Member

Comment 25 by bugdroid1@chromium.org, Aug 3 2017

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/chromeos/overlays/overlay-reef-private/+/16a9ded7404c635fb370f397ef1c1794c271cc4a

commit 16a9ded7404c635fb370f397ef1c1794c271cc4a
Author: Jason D. Clinton <jclinton@chromium.org>
Date: Thu Aug 03 22:13:56 2017

Project Member

Comment 26 by bugdroid1@chromium.org, Aug 3 2017

Project Member

Comment 27 by bugdroid1@chromium.org, Aug 3 2017

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/chromeos/overlays/overlay-pyro-private/+/c0521b9e754f23a4224cfdd4c229914c24d82b02

commit c0521b9e754f23a4224cfdd4c229914c24d82b02
Author: Jason D. Clinton <jclinton@chromium.org>
Date: Thu Aug 03 22:13:55 2017

Project Member

Comment 28 by bugdroid1@chromium.org, Aug 3 2017

Project Member

Comment 29 by bugdroid1@chromium.org, Aug 3 2017

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/chromeos/overlays/overlay-sand-private/+/f56a7a21416628b17d87421b3be9c24c6000a7e0

commit f56a7a21416628b17d87421b3be9c24c6000a7e0
Author: Jason D. Clinton <jclinton@chromium.org>
Date: Thu Aug 03 22:13:57 2017

Status: Fixed (was: Started)

Sign in to add a comment