Add check_checkmedia_used_with_msdos_table runtime check
to check if the used partition table type is compatible
with the selected checkmedia/tagmedia tool. So far only
plain MBR tables are supported bei checkmedia.
This Fixes#2722
With the move to open-vmdk the only ovftype supported is
vmware. Should there be support for other OVA platforms
in the open-vmdk project we are going to add them on
demand. This Fixes#2627
Add a Trusted Execution Environment in form of an image as
a read-only system that is also dm-verity baked. The image
build provides PCR measuerd UKI image (kernel+initrd+bootloader).
The PCR values can be checked against the attestation document
and can also serve as AWS KMS key to enforce boot restrictions.
The image includes an example workflow in form of an enclave
image also build via kiwi using the native eif_build tool from
AWS. The enclave runs a little server/client example application
which creates the attestion document and sends the enclave
PCR measurements as response back to the Trusted Execution
instance. The image serves as example into the AWS Nitro TPM
Attestation and AWS Nitro Enclaves services to establish a
confidential compute workflow.
Update the --add-repo argument for image info to work
in the same way as it can be specified in the system prepare/build
commands. This now also allows for using metalink repos from
the commandline as follows:
kiwi-ng image info \
--description build-tests/x86/rawhide/test-image-erofs/ \
--resolve-package-list \
--ignore-repos \
--add-repo 'https://mirrors.fedoraproject.org/metalink?repo=rawhide&arch=x86_64,,,,,,,,,,metalink'
This Fixes#2908
retry `postinst configure` with second parameter '0'
As described in #2956 some newer postinst scripts like the one of
libselinux1 fail when called without the second parameter. On the other
hand it turned out that older versions like libgcrypt20 in Debian 12
fail installation if the get a second paramter because of faulty
implmentation.
With this patch kiwi calls it the old way without a second parameter and
retries with 0 as old version if it fails on the first attempt.
* Update unit tests
---------
Co-authored-by: Marcus Schäfer <marcus.schaefer@gmail.com>
The PARTUUID value for the root partition is expected
to be present in the profile for any build time.
However, due to a bug certain layouts e.g LUKS or
RAID did try to retrieve the partition UUID from
the wrong device. This commit fixes it.
This Fixes#2949
Fixes: #2956
This patch avoids problems when building images for current Debian Sid
which currently is raising the following error:
```
[ 59s] [ ERROR ]: 08:20:03 | KiwiDebianBootstrapError: KiwiCommandError: chroot: stderr: /kiwi_debpost.rhgtuuvo/libselinux1.deb/postinst: 4: 2: parameter not set
```
Some arguments are not supported/implemented with these
repository classes. Make sure to sort them out and log
a warning that their use has no effect.
This Fixes#2953
Using --add-repo/--set-repo options on the commandline
allows to skip the repo alias setting by passing in an empty
value. That empty value however caused the alias attribute
in a repository section to be set to an empty string which
is not allowed by the schema. Instead an empty alias should
lead to no alias attribute set at all. This commit fixes it
zypper no longer provides /etc/zypp/zypp.conf. Instead the
concept of /etc/zypp/zypp.conf.d/*.conf was introduced. This
broke all integration tests which modified the former zypp.conf.
I dropped all this modifications from the integration tests
as they seem to be obsolete anyway.
When calling dracut --printconfig it creates a temporary directory
and some dracut template in it below /var/tmp. On readonly systems
this location is not writable. As such make sure that the location
is a writable tmpfs during call time
In case CommandCapabilities is called from a command
that does not exist and raise_on_error is requested
make sure to provide a better error message pointing
out that the command does not exist instead of the
misleading "Could not parse ... output" error message
In https://github.com/OSInside/kiwi/pull/2921 , based on the
commit message and the fact that the code uses an `if`, it's
pretty clear the use of `dracut --printconfig` is meant to be
optional. But setting the misleadingly-named `raise_on_error`
to `True` means it isn't. `raise_on_error` makes
`has_option_in_help` raise an exception if it *fails* - doesn't
find the specified flag - not if it *errors*. Since it does not
handle the exception, this code crashes if dracut does not have
the argument:
https://koji.fedoraproject.org/koji/taskinfo?taskID=141808928
DEBUG util.py:459: [ ERROR ]: 06:03:28 | KiwiCommandCapabilitiesError: Could not parse dracut output
I've sent https://github.com/OSInside/kiwi/pull/2943 to make the
message less of a lie, and this makes us stop crashing if the
arg isn't available.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
If I'm following this code correctly, we're not raising here
because we "could not parse" the output. We're raising because
we parsed it and it did not have the flag we were looking for.
Signed-off-by: Adam Williamson <awilliam@redhat.com>