blob: c00dc94d8803c0f3f3bfceac439efd80948643ad [file] [log] [blame] [edit]
This directory contains board and variant overlays. When a board is
configured using "setup_board --board <board>" the following overlays are added
to the make.conf PORTDIR_OVERLAY if they exist:
src/overlays/overlay-<board>
src/private-overlays/overlay-<board>-private
When a board is configured using "setup_board --board <board> --variant
<variant>" or "setup_board --board <board>_<variant>" the following overlays
are added if they exist:
src/overlays/overlay-<board>
src/overlays/overlay-variant-<board>-<variant>
src/private-overlays/overlay-<board>-private
src/private-overlays/overlay-variant-<board>-<variant>-private
If --variant is supplied to setup_board or the <board>_<variant> version
of --board is supplied to setup_board then the primary variant overlay must
exist.
All overlays and variants should contain a make.conf. If this file exists
it will be sourced in the order that the overlays and variants are listed above.
The board and variant names can not have underscores or spaces in them.
REPO_NAME and LAYOUT.CONF
-------------------------
All overlays and variants must contain a profiles directory with a
repo_name file therein. Overlays and variants should also contain a metadata
directory with a layout.conf file therein.
The repo_name file is used to give each overlay or variant a unique name
that is used by portage to identify said overlay or variant.
The layout.conf file specifies the "masters" list. This is a list of
repository names (taken from the repo_name files in the overlays). This list
is used to dissambiguate the selection of ebuilds. When two overlays supply
the same ebuild the overlay who's repo_name is listed later in the masters list
will be used. The masters list also effects the way that portage searches for
eclasses. By having the repo_name "chromiumos" as the last entry in the
masters list portage will correctly find the chromiumos specific eclasses.
PRIMARY BOARD OVERLAY
---------------------
Each board must have a primary board overlay containing make.conf and a
toolchain.conf file.
If src/overlays/overlay-<board> exists, it is used as as the primary board
overlay. If there is no src/overlays/overlay-<board> but there is a
src/private-overlays/overlay-<board>-private directory, it is used as the
primary board overlay.
In order to be useful the primary overlay should also contain ebuilds for
chromeos-base/board-devices. The board-devices ebuild is used to override the
board-devices ebuild provided by the base chromiumos-overlay.
If src/overlays/overlay-<board> is the primary board overlay it should
also contain a chromeos-base/board-devices-private ebuild. The
board-devices-private ebuild should be a "null" ebuild that is provided so that
a private overlay may override it.