This change adds run_local_tests.sh, a script to run tests on local
builds. It's a comfort wrapper around ci-automation scripts and uses
the latest local build.
Signed-off-by: Thilo Fromm <thilofromm@microsoft.com>
This change refactors base OS sysext builds to use a separate build
script `build_library/sysext_prod_builder`, which is called from
`build_library/prod_image_util.sh` when `build_image` runs.
This allows for better separation of cleanup traps: prod image sysext
builds need its own trap / cleanup function for temporary build
directories and loopback mounts.
Prod sysext builds properly generate lincense and SBOM information, and
provide detailed file listings and disk space usage stats.
- SBOM / licenses JSON now include all packages of the
final image, i.e. a combined list of base image and all base OS
sysexts.
- Packages lists, files list and detailed files list include the sysext
squashfs files for the base image, and separate sections with files /
packages lists for each sysext.
- Disk usage contains both final disk image usage as well as usage of
each individual sysext squashfs.
This change refactors sysext builds during build_image and generalises
the code (no hard-coded containerd and docker anymore).
A command line option is added to build_image for sysexts to include in
the OS image. It defaults to containerd and docker but may be set to
arbitrary packages. The command line supports simple depenencies, i.e.
the "docker" sysext will re-use package information from the
"containerd" sysext and not include another containerd.
Signed-off-by: Thilo Fromm <thilofromm@microsoft.com>
This change removes torcx libraries, references, and commandline options
from build automation scripts and from build_library/.
Containerd and docker are shipped via sysexts which are included in the
base image.
Signed-off-by: Thilo Fromm <thilofromm@microsoft.com>
This change adds 2 optional command line parameters to build_sysext to
handle dependencies in stacked sysexts. The command line parameters
allow exporting portage package db information into a separate squashfs
image as well as using package db information exported by a previous
sysext build.
--generate_pkginfo will generate a separate squashfs
<sysextname>_pkginfo.raw which contains the sysext's /var/db/pkgs.
--base_pkginfo=<pkginfo>[:<pkginfo>[:...]] will use the supplied paths
to pkginfo squashfses as additional lowerdirs when creating a sysext.
Useage example:
./build_sysext --generate_pkginfo containerd app-containers/containerd
./build_sysext --base_pkginfo=containerd_pkginfo.raw docker app-containers/docker
will create a containerd.raw sysext and a dependent docker.raw sysext
that does not have the containerd dependency installed. Both sysexts
must be merged together in order for docker to work.
Signed-off-by: Thilo Fromm <thilofromm@microsoft.com>
- Apply cross-compiling changes.
- Remove dependency on sys-apps/lsb-release, which conflicts with
sys-apps/baselayout of Flatcar.
- Remove rust-src to keep the SDK size minimal.
- Add a comment about keeping the patchlevel 0 of stage0.
- Update Rust version from 1.72.1 to 1.73.0 in profiles.
Based on commit 82f9e1b8db
Get rust-toolchain.eclass in sync with Gentoo to be able to build
Rust 1.73+.
Otherwise build will fail due to a missing file from the upstream repo
rust-1.72.0-mips-unknown-linux-gnu.tar.xz.
Gentoo ref: f66c64d25bc04fc2ef3bd3cba6a8fbc48f42be9f