summaryrefslogtreecommitdiffstats
path: root/mkosi.images (follow)
Commit message (Collapse)AuthorAgeFilesLines
* mkosi: Ignore version from versioned dependencies in .SRCINFODaan De Meyer2024-04-281-1/+1
| | | | | | Dependencies in .SRCINFO can be versioned. Let's make sure we ignore any specified versions when grepping it for dependencies. Also update the arch submodule to the latest to make sure the change works.
* mkosi: use generic ubuntu kernel for udev and nvme testsRichard Maw2024-04-261-1/+1
| | | | | | | | | TEST-17-UDEV expects to find scsi_debug and TEST-84-STORAGETM expects to find nvmet-tcp. This isn't ideal as it adds firmware, microcode and other drivers to the initramfs, but there's no linux-modules-extra virtual package to just include the extra modules.
* mkosi: Use default opensuse kernel for testsRichard Maw2024-04-261-1/+1
| | | | | The kvmsmall kernel lacks important modules like the dummy network device which TEST-17-UDEV requires very early on.
* mkosi: Set CleanPackageMetadata=yes for minimal-baseDaan De Meyer2024-04-261-0/+1
| | | | | We don't want to install any more packages in derived images so let's not store repository metadata in the image to make it smaller.
* mkosi: Build minimal images and enable related integration testsDaan De Meyer2024-04-2518-0/+167
| | | | | | | | | | | | | | This commit adds definitions to build the minimal_0 and minimal_1 images with mkosi and includes them into the system image. We also move the building of the various app-xxx and similar images that are extremely minimal into the tests itself by moving the related logic from install_verity_minimal() into a new function install_extension_images() in util.sh. Because the mkosi /usr is read-only, we now place the extension images in /tmp instead of /usr/share. Co-authored-by: Richard Maw <richard.maw@codethink.co.uk> Co-authored-by: sam-leonard-ct <sam.leonard@codethink.co.uk>
* mkosi: Make sure systemd-resolved is started on bootDaan De Meyer2024-04-251-0/+3
|
* mkosi: Add squashfs-toolsDaan De Meyer2024-04-254-0/+4
| | | | Required for various integration tests.
* mkosi: Add attrDaan De Meyer2024-04-241-0/+1
| | | | Required for messing around with xattrs in integration tests.
* mkosi: Add nvme-cliDaan De Meyer2024-04-241-0/+1
| | | | The nvme command is needed for TEST-84-STORAGETM.
* mkosi: Add psmisc to opensuse for killallRichard Maw2024-04-241-0/+1
|
* mkosi: Add psmisc to debian-ubuntu for killallRichard Maw2024-04-241-0/+1
|
* mkosi: Add psmisc to arch for killallRichard Maw2024-04-241-0/+1
|
* Merge pull request #32352 from DaanDeMeyer/testDaan De Meyer2024-04-235-40/+8
|\ | | | | test: Various mkosi integration test improvements
| * mkosi: Run integration tests in CIDaan De Meyer2024-04-232-35/+0
| | | | | | | | | | | | | | | | | | | | We do the image build and run the tests in a btrfs loopback so we can make use of btrfs subvolumes and COW to keep the disk space requirements to a minimum and speed up the ephemeral copies we make of the image to run the tests. We also switch to building debug packages and publishing the built packages as artifacts.
| * mkosi: Deal with ubuntu's special debug packagesDaan De Meyer2024-04-231-3/+6
| | | | | | | | | | | | | | Building debug packages on ubuntu requires the "debug" option to be specified explicitly. Debug packages on Ubuntu have the .ddeb extension, so let's make sure we handle that by copying the .ddeb packages in the build script as well.
| * mkosi: Use -fdebug-prefix-map= instead of -ffile-prefix-map=Daan De Meyer2024-04-232-2/+2
| | | | | | | | | | | | | | | | | | -ffile-prefix-map= implies -fmacro-prefix-map= which is incompatible with our definition of PROJECT_FILE. See https://github.com/systemd/systemd/issues/32417. -fdebug-prefix-map= only affects debuginfo without affecting macros.
* | mkosi: mask isc-dhcp-serverLuca Boccassi2024-04-231-0/+0
|/ | | | | | | | | isc-dhcp-server does not ship units, only sysv scripts, so the mkosi presets that disable it have no effect. The generated unit is started on each boot and fails, causing delays and noise. Mask it so that the generated unit is overridden. It is installed only to bring in binaries used by the networkd tests anyway.
* mkosi: Drop workaround to re-enable serial console line wrappingDaan De Meyer2024-04-221-4/+0
| | | | | Since we do it in reset_terminal_fd() now, there's no need to carry this workaround anymore.
* mkosi: Explicitly disable fortify for debian/ubuntuDaan De Meyer2024-04-221-0/+1
| | | | | We do the same for the other distributions, so let's do so for debian/ubuntu as well.
* mkosi: Use awk to avoid dpkg-buildpackage warningDaan De Meyer2024-04-221-4/+4
| | | | | Let's strip unnecessary whitespace to avoid a dpkg-buildpackage warning.
* mkosi: Add environment variable to set the optimization levelDaan De Meyer2024-04-224-4/+4
|
* mkosi: Install various system users/groups in opensuse imagesDaan De Meyer2024-04-221-0/+10
| | | | | | These don't get pulled in automatically and there doesn't seem to be a "system-users" package so install the ones we need for the integration tests manually.
* mkosi: Backport Fedora basic users/groups sysusers files to CentOSDaan De Meyer2024-04-222-0/+37
| | | | | | | CentOS does not ship these sysusers dropins which set up basic system users and groups. Until we can move to CentOS Stream 10, let's add the dropins ourselves to make sure the base system users/groups are available on CentOS.
* mkosi: Install procps-ng in all imagesDaan De Meyer2024-04-222-0/+2
| | | | Required for TEST-01-BASIC.
* mkosi: Make sure systemd-libs is updated on ArchDaan De Meyer2024-04-221-2/+4
| | | | | | | | The Arch Linux PKGBUILD does not (yet) have versioned dependencies between the systemd packages, causing systemd-libs to not get updated to 256-devel if systemd 256-devel is installed. Let's explicitly install the newer version of systemd-libs as well for now until this problem is fixed.
* mkosi: Make sure ping is installedDaan De Meyer2024-04-224-1/+5
| | | | Required for test-bpf-firewall.
* mkosi: Disable rpm package notesDaan De Meyer2024-04-221-0/+1
| | | | | | | This introduces dependencies on various environment variables set by rpmbuild which will not be set when rerunning meson inside the VM/container so let's disable package notes to avoid these dependencies, as the package notes aren't terribly useful in this scenario anyway.
* mkosi: Make sure serial console line wrapping is re-enabledDaan De Meyer2024-04-221-0/+4
|
* mkosi: Fix FORTIFY_SOURCE (again)Daan De Meyer2024-04-191-4/+4
| | | | | | | | | CentOS/Fedora use annobin which will complain if FORTIFY_SOURCE=0 is used so we disable those checks to avoid the warnings. We also make sure that when we query the compilation flags so we can add more, we set _fortify_level=0 and undefine _lto_flags so that we don't get those flags in the result.
* test: Add mkosi-based integration test runnerRichard Maw2024-04-182-0/+5
| | | | | The first two tests are included to ensure parallel test execution is demonstrable.
* mkosi: undefine FORTIFY_SOURCE instead of setting it zeroDaan De Meyer2024-04-183-4/+4
| | | | | Newer gcc complains if FORTIFY_SOURCE=0 is set so just undefine it instead.
* mkosi: Disable bash debugging in Arch build scriptDaan De Meyer2024-04-181-1/+1
|
* mkosi: Install debug packages when WITH_DEBUG=1 is enabledDaan De Meyer2024-04-184-0/+73
| | | | | | When we're building debuginfo packages, the original binaries and libraries are stripped so make sure we install the debuginfo packages to make sure debugging in the container/VM still works.
* mkosi: Setup --ffile-prefix-map= for opensuse as wellDaan De Meyer2024-04-181-2/+18
| | | | | | This doesn't actually work because the opensuse spec doesn't allow adding extra build flags, but I'm working on fixing that, so let's already set things up for later.
* mkosi: Undefine FORTIFY_SOURCE before setting it againDaan De Meyer2024-04-182-2/+2
| | | | Otherwise we get warnings from gcc.
* mkosi: Install more packagesDaan De Meyer2024-04-183-16/+29
| | | | | Let's install everything we can to get more coverage and make sure all build outputs are available in mkosi containers or VMs.
* mkosi: Drop systemd-repart from package listsDaan De Meyer2024-04-181-1/+0
| | | | This is just a Provides for systemd-udev.
* mkosi: Drop workaroundsDaan De Meyer2024-04-171-1/+0
| | | | | With the latest Github Actions image release none of these should be required anymore (20240414.1.1).
* mkosi: Switch to O0 and disable FORTIFY_SOURCEDaan De Meyer2024-04-173-8/+10
| | | | | | -Og still causes a lot of "<optimized out>" in GDB so let's use -O0 instead and disable FORTIFY_SOURCE as it doesn't work without optimizations enabled.
* mkosi: Disable DWARF debug info optimizationDaan De Meyer2024-04-171-0/+1
| | | | | We care more about fast builds in this case so disable the DWARF debug optimization that's done by default.
* mkosi: Override build_cflags instead of _distro_extra_cflagsDaan De Meyer2024-04-171-1/+1
| | | | The latter is not supported on CentOS Stream 9.
* mkosi: Set up -ffile-prefix-map= correctly when building debuginfo packagesDaan De Meyer2024-04-171-3/+15
| | | | | | | | | | | | | | This makes sure that the debuginfo files contain source files pointing to the source files shipped by the debugsource package. Normally this should be done automatically by rpm invoking debugedit but for some unknown reason debugedit refuses to rewrite the source files in our binaries. Given that debugedit is completely undebugable (does not generate any logs at all, and its source code is ridiculously obtuse), let's set -ffile-prefix-map= when building instead which achieves the same effect.
* mkosi: Add support for building debug packagesDaan De Meyer2024-04-164-6/+46
| | | | | | This allows building debug packages by setting WITH_DEBUG=1. This slows down the build a lot so it's opt in. We don't yet install these but can do so in a future commit.
* mkosi: Add --noclean when running rpmbuildDaan De Meyer2024-04-162-0/+2
| | | | | | The entire build environment is ephemeral anyway so everything is cleaned regardless. By specifying --noclean, we make debugging easier as the rpm build root can be inspected when using --debug-shell.
* mkosi: Install which in imageDaan De Meyer2024-04-161-0/+1
| | | | | | | | gdb-headless in Fedora is missing a dependency on which: https://bugzilla.redhat.com/show_bug.cgi?id=2275274 This happens all the time so let's make sure which is always installed in the image.
* Update debugging with vscode sectionDaan De Meyer2024-04-162-3/+1
| | | | | | | - We have ssh-generator now, so need for mkosi's Ssh= option anymore. - By enabling RuntimeBuildSources= by default, we don't need the gdb config file in the image anymore, since the build and source directories will be mounted at the expected locations.
* mkosi: Use new volatile package settingsDaan De Meyer2024-04-147-58/+66
| | | | | | mkosi just learned to do natively what we currently do with environment variables and a postinst script, so let's update to the latest version and start using the new settings instead.
* mkosi; Fix permissions of mkosi.postinst scriptDaan De Meyer2024-04-091-0/+0
| | | | Must be executable.
* mkosi: Drop out-of-date commentDaan De Meyer2024-04-091-2/+0
|
* mkosi: Unify initrd post-install scriptsDaan De Meyer2024-04-099-30/+12
| | | | | | Just like we already have $SYSTEMD_PACKAGES for systemd packages to re-install in the main image, let's add $INITRD_PACKAGES for all systemd packages to re-install in the initrd.