Go to file
Peter Hoyes 34983c13ee libcmds: Only checkout "missing" repositories in SetupReposStep
There is a subtle bug in SetupReposStep that occurs when:
 * One or more repositories are reported as "missing" in InitSetupRepos.
 * SetupReposStep checks out the missing repositories.
 * SetupReposStep updates the repo_dict with all repositories in the
   configuration, some of which may only be partially defined and/or
   not checked out.
 * SetupReposStep passes this new, incorrect list of checked out
   repositories to the include handler in the next pass.
 * The include handler attempts to include a file from a partially
   defined repository, likely resulting in a "File not found" error
   because it is assumed to be a local repository.

To fix this, keep track of the repositories that have been checked out
by only adding repositories that have been reported as "missing" to
ctx.config.repo_dict

Now that ctx.config.repo_dict only contains checked out repositories, it
is necessary to check missing repo names against the config dict
instead.

Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2022-07-12 09:21:07 +02:00
.github ci: Add basic tests for built kas and kas-isar containers 2022-01-11 22:05:29 +01:00
contrib Dockerfile: Carry oe-git-proxy locally 2021-08-30 21:56:04 +02:00
docs add NETRC_FILE to allow passing credentials into kas home 2022-06-23 17:58:37 +02:00
image-tests ci: Add basic tests for built kas and kas-isar containers 2022-01-11 22:05:29 +01:00
kas libcmds: Only checkout "missing" repositories in SetupReposStep 2022-07-12 09:21:07 +02:00
scripts checkcode.sh: Add container-entrypoint 2022-01-11 15:06:04 +01:00
tests use relative layer dirs to make build relocatable 2022-04-27 15:57:08 +02:00
.dockerignore add dockerignore 2017-06-26 09:29:07 +02:00
.flake8 flake8: Ignore obsolete warning W503 2020-11-13 20:54:20 +01:00
.gitignore Add release artifact to .gitignore 2020-11-20 12:05:51 +01:00
.readthedocs.yaml readthedocs: Add configuration file 2021-11-22 19:20:14 +01:00
CHANGELOG.md Release 3.0.2 2022-03-08 15:52:55 +01:00
container-entrypoint container-entrypoint: Address shellcheck findings 2022-01-11 15:04:47 +01:00
CONTRIBUTING.md CONTRIBUTING: Drop reference to non-existing maintainer list 2020-12-17 18:13:19 +01:00
Dockerfile Dockerfile: Add telnet 2022-06-21 12:57:24 +02:00
Dockerfile.isar Dockerfile.isar: Add missing escape in output redirection rule 2022-03-08 15:21:01 +01:00
kas-container add NETRC_FILE to allow passing credentials into kas home 2022-06-23 17:58:37 +02:00
kas-docker rename kas-docker to kas-container, leave symlink in place 2020-09-29 08:30:10 +02:00
LICENSE Correct grammar, spelling and copyright year in files 2018-09-05 12:46:35 +02:00
pyproject.toml Provide a pyproject.toml 2021-11-25 09:14:21 +01:00
README.rst Switch to github workflow 2020-09-24 13:13:12 +02:00
run-kas Correct grammar, spelling and copyright year in files 2018-09-05 12:46:35 +02:00
setup.py setup.py: bundle kas-container script 2022-03-29 09:24:37 +02:00

Setup tool for bitbake based projects
=====================================

+--------------------+
|    Build Status    |
+====================+
| |workflow-master|_ |
+--------------------+
| |workflow-next|_   |
+--------------------+

.. |workflow-master| image:: https://github.com/siemens/kas/workflows/master/badge.svg
.. _workflow-master: https://github.com/siemens/kas/actions?query=workflow%3Amaster
.. |workflow-next| image:: https://github.com/siemens/kas/workflows/next/badge.svg
.. _workflow-next: https://github.com/siemens/kas/actions?query=workflow%3Anext

This tool provides an easy mechanism to setup bitbake based
projects.

The OpenEmbedded tooling support starts at step 2 with bitbake. The
downloading of sources and then configuration has to be done by
hand. Usually, this is explained in a README. Instead kas is using a
project configuration file and does the download and configuration
phase.

Key features provided by the build tool:

- clone and checkout bitbake layers
- create default bitbake settings (machine, arch, ...)
- launch minimal build environment, reducing risk of host contamination
- initiate bitbake build process

See the `kas documentation <https://kas.readthedocs.io>`_ for further details.