The ostro-os repository is a combination of several different components in a single repository. It contains everything that is needed to build Ostro OS:
The top-level directory comes from openembedded-core and meta-ostro (including this README.rst), everything else is in its own sub-directory. The ostro-os repository gets updated by importing commits from the component's repostories.
For more information about each of these components including exact URL,
branch and current revision used, please refer to the conf/combo-layer.conf
file in your top-level ostro-os
repository.
Everyone with a copy of the repository can use scripts/combo-layer
to
import commits from the components. However, typically this happens
automatically as part of the continous integration setup and only core
maintainers will ever need to do that manually.
Normal developers can either:
conf/bblayers.conf
of
the build.The first approach is more suitable for changes affecting many different repositories, the second more for localized changes.
Shared maintenance of ostro-os via combo-layer works because the
last_revision
property which gets changed after each import gets
committed to the combined repostory.
To do this, first copy conf/combo-layer-local-sample.conf
into
conf/combo-layer-local.conf
and set the paths for each component
repository to a suitable location.
Then run:
scripts/combo-layer init
(only once)scripts/combo-layer update <component>
where git commit --amend
the last auto-generated commitEach branch in this repository tracks one branch in each component. To create a new branch:
conf/combo-layer.conf
last_revision
sectionsThis works best if the last imported revision from each component is
the branching point of that component. Ensure that by updating before
the components branch. If it is too late, either select commits
interactively (combo-layer --interactive
) or import too many commits
and then drop unwanted ones via git rebase
or git reset --hard
. Remember to keep last_revision
correct when doing that.