a2fcaf1777
The linux-yocto git repo clone is added for CENTOS based StarlingX. Now the master branch is for DEBIAN based StarlingX support. The build system uses source code tar archive snapshots downloaded instead of the kernel git repo from "git.yoctoproject.org". So we remove linux-yocto git repo from manifest and don't clone it anymore when "repo sync" to avoid waste of bandwidth and disk resources. Test Plan: PASS: Run "repo init" and "repo sync" following the DEBIAN based StarlingX build instructions, and the linux-yocto-std and linux-yocto-rt folders don't exist under this path: /localdisk/designer/$USER/stx/cgcs-root/stx/git PASS: Run "build-pkgs -p linux,linux-rt" and the build is OK. Closes-bug: 2037028 Change-Id: I49ce817c48520c8a227e9fbf19473854b2eab9e9 Signed-off-by: Li Zhou <li.zhou@windriver.com> |
||
---|---|---|
.gitignore | ||
.gitreview | ||
.zuul.yaml | ||
bindep.txt | ||
common.xml | ||
compiler.xml | ||
containers.xml | ||
default.xml | ||
distro.xml | ||
flock.xml | ||
README.rst | ||
stx-openstack.xml | ||
test-requirements.txt | ||
tox.ini |
StarlingX Manifest
Download
The StarlingX source code can be downloaded from the default manifest XML file, by using the git-repo tool1, with the following commands:
export MANIFEST_URL="https://opendev.org/starlingx/manifest.git"
export MANIFEST_BRANCH="master"
export MANIFEST="default.xml"
repo init -u ${MANIFEST_URL} -b ${MANIFEST_BRANCH} -m ${MANIFEST}
repo sync
StarlingX Build Environment
The StarlingX Build Environment2 is a set of containers designed to run in a Kubernetes environment.
As an alternative, a Vagrant-based StarlingX Build Environment is available in the starlingx/tis-repo3.
Layered Build
Build layering4 is a feature to accelerate development within StarlingX. It optimizes the build of a small set of most-used top level packages, while avoiding rebuild of a large amount of infrequently used packages.
The packages are partitioned into the following layers, according to the corresponding manifests:
- compiler: Low level build tools: compilers, scripts, and packaging tools;
- distro: Linux and third party packages, e.g. ceph, openstack;
- flock: Basic StarlingX packages. These are the most used ones.
Reserved Manifests
The following manifests are reserved:
- common: packages always included in the build, regardless of layer;
- containers: packages to build containers;
- default: used as a means to download the StarlingX source code.
Developer Notes
When updating XML files, please remember to update the appropriate .gitignore file in https://opendev.org/starlingx/root otherwise the "repo status" command will show the new repo as an untracked change.
When updating the default.xml manifest, please also remember to update the appropriate layer manifest as well.