diff --git a/.gitignore b/.gitignore index 4a6c7d3..a13eeba 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/osbuild-composer-76.tar.gz +SOURCES/osbuild-composer-88.tar.gz diff --git a/.osbuild-composer.metadata b/.osbuild-composer.metadata index 91847e3..d221ecb 100644 --- a/.osbuild-composer.metadata +++ b/.osbuild-composer.metadata @@ -1 +1 @@ -f68a24e9d6a407708e33d72240b140e9c60378f1 SOURCES/osbuild-composer-76.tar.gz +9566fbe6bba91c7b3aba1a57c900aa6c00f77397 SOURCES/osbuild-composer-88.tar.gz diff --git a/SOURCES/0001-tests-ostree-Change-centos-8-BOOT_LOCATION-to-a-work.patch b/SOURCES/0001-tests-ostree-Change-centos-8-BOOT_LOCATION-to-a-work.patch deleted file mode 100644 index 14b76b0..0000000 --- a/SOURCES/0001-tests-ostree-Change-centos-8-BOOT_LOCATION-to-a-work.patch +++ /dev/null @@ -1,83 +0,0 @@ -From 30f4b0753691841e232701a3ad17f018e8799ebe Mon Sep 17 00:00:00 2001 -From: Jakub Rusz -Date: Mon, 20 Mar 2023 15:29:42 +0100 -Subject: [PATCH 1/3] tests/ostree: Change centos-8 BOOT_LOCATION to a working - boot.iso - -The latest boot.iso stopped working. Changing to an older version to -unblock CI. RHBZ#2180024 opened with this issue. ---- - test/cases/ostree-rebase-bios.sh | 4 ++-- - test/cases/ostree-rebase-uefi.sh | 4 ++-- - test/cases/ostree.sh | 4 ++-- - 3 files changed, 6 insertions(+), 6 deletions(-) - -diff --git a/test/cases/ostree-rebase-bios.sh b/test/cases/ostree-rebase-bios.sh -index 702b506c8..7390c2a0e 100755 ---- a/test/cases/ostree-rebase-bios.sh -+++ b/test/cases/ostree-rebase-bios.sh -@@ -108,7 +108,7 @@ case "${ID}-${VERSION_ID}" in - "centos-8") - OSTREE_REF="centos/8/${ARCH}/edge" - OS_VARIANT="centos8" -- BOOT_LOCATION="http://mirror.centos.org/centos/8-stream/BaseOS/x86_64/os/" -+ BOOT_LOCATION="https://composes.centos.org/latest-CentOS-Stream-8/compose/BaseOS/x86_64/os/" - PARENT_REF="centos/8/${ARCH}/edge" - KERNEL_RT_PKG="kernel-rt-core" - ;; -@@ -356,7 +356,7 @@ echo -e 'admin\tALL=(ALL)\tNOPASSWD: ALL' >> /etc/sudoers - STOPHERE - - # Get the boot.iso from BOOT_LOCATION --curl -O "$BOOT_LOCATION"/images/boot.iso -+curl -O "$BOOT_LOCATION"images/boot.iso - sudo mv boot.iso /var/lib/libvirt/images - LOCAL_BOOT_LOCATION="/var/lib/libvirt/images/boot.iso" - -diff --git a/test/cases/ostree-rebase-uefi.sh b/test/cases/ostree-rebase-uefi.sh -index c0697f543..7c3fd7721 100755 ---- a/test/cases/ostree-rebase-uefi.sh -+++ b/test/cases/ostree-rebase-uefi.sh -@@ -108,7 +108,7 @@ case "${ID}-${VERSION_ID}" in - "centos-8") - OSTREE_REF="centos/8/${ARCH}/edge" - OS_VARIANT="centos8" -- BOOT_LOCATION="http://mirror.centos.org/centos/8-stream/BaseOS/x86_64/os/" -+ BOOT_LOCATION="https://composes.centos.org/latest-CentOS-Stream-8/compose/BaseOS/x86_64/os/" - PARENT_REF="centos/8/${ARCH}/edge" - KERNEL_RT_PKG="kernel-rt-core" - ;; -@@ -358,7 +358,7 @@ LIBVIRT_IMAGE_PATH=/var/lib/libvirt/images/${IMAGE_KEY}-uefi.qcow2 - sudo qemu-img create -f qcow2 "${LIBVIRT_IMAGE_PATH}" 20G - - # Get the boot.iso from BOOT_LOCATION --curl -O "$BOOT_LOCATION"/images/boot.iso -+curl -O "$BOOT_LOCATION"images/boot.iso - sudo mv boot.iso /var/lib/libvirt/images - LOCAL_BOOT_LOCATION="/var/lib/libvirt/images/boot.iso" - -diff --git a/test/cases/ostree.sh b/test/cases/ostree.sh -index f2841d953..0cfe6d02a 100755 ---- a/test/cases/ostree.sh -+++ b/test/cases/ostree.sh -@@ -104,7 +104,7 @@ case "${ID}-${VERSION_ID}" in - OSTREE_REF="centos/8/${ARCH}/edge" - OS_VARIANT="centos8" - USER_IN_COMMIT="true" -- BOOT_LOCATION="http://mirror.centos.org/centos/8-stream/BaseOS/x86_64/os/" -+ BOOT_LOCATION="https://composes.centos.org/latest-CentOS-Stream-8/compose/BaseOS/x86_64/os/" - EMBEDED_CONTAINER="true" - FIREWALL_FEATURE="false" - DIRS_FILES_CUSTOMIZATION="true" -@@ -486,7 +486,7 @@ if [[ "${USER_IN_COMMIT}" == "true" ]]; then - fi - - # Get the boot.iso from BOOT_LOCATION --curl -O "$BOOT_LOCATION"/images/boot.iso -+curl -O "$BOOT_LOCATION"images/boot.iso - sudo mv boot.iso /var/lib/libvirt/images - LOCAL_BOOT_LOCATION="/var/lib/libvirt/images/boot.iso" - --- -2.39.2 - diff --git a/SOURCES/0002-distro-rhel-add-payload-repos-to-os-package-set.patch b/SOURCES/0002-distro-rhel-add-payload-repos-to-os-package-set.patch deleted file mode 100644 index a55add6..0000000 --- a/SOURCES/0002-distro-rhel-add-payload-repos-to-os-package-set.patch +++ /dev/null @@ -1,3803 +0,0 @@ -From 772ed6506029dc323756720bd03bab40fb942565 Mon Sep 17 00:00:00 2001 -From: Sanne Raymaekers -Date: Fri, 10 Mar 2023 15:43:36 +0100 -Subject: [PATCH 2/3] distro/rhel: add payload repos to os package set - -Before instantiating the manifest, any repositories that contain a -package set key contained in `PayloadPackageSets()` should be added to -the os package set in order to correctly generate the `org.osbuild.rpm` -stage for the os pipeline. - -Otherwise options like GPG keys are not set correctly. - -Fixes #3326 ---- - go.mod | 5 +- - go.sum | 10 +- - internal/distro/distro_test.go | 34 +- - internal/distro/fedora/distro.go | 21 +- - internal/distro/rhel7/distro.go | 24 +- - internal/distro/rhel8/imagetype.go | 24 +- - internal/distro/rhel9/imagetype.go | 24 +- - vendor/golang.org/x/exp/LICENSE | 27 + - vendor/golang.org/x/exp/PATENTS | 22 + - .../x/exp/constraints/constraints.go | 50 ++ - vendor/golang.org/x/exp/slices/slices.go | 258 ++++++++++ - vendor/golang.org/x/exp/slices/sort.go | 126 +++++ - vendor/golang.org/x/exp/slices/zsortfunc.go | 479 +++++++++++++++++ - .../golang.org/x/exp/slices/zsortordered.go | 481 ++++++++++++++++++ - vendor/golang.org/x/mod/module/module.go | 4 +- - .../internal/fastwalk/fastwalk_darwin.go | 119 +++++ - .../internal/fastwalk/fastwalk_dirent_ino.go | 6 +- - .../fastwalk/fastwalk_dirent_namlen_bsd.go | 4 +- - .../tools/internal/fastwalk/fastwalk_unix.go | 4 +- - .../x/tools/internal/gocommand/invoke.go | 83 ++- - .../x/tools/internal/gocommand/version.go | 13 +- - .../x/tools/internal/imports/fix.go | 9 +- - .../x/tools/internal/imports/mod.go | 22 +- - .../x/tools/internal/imports/zstdlib.go | 418 +++++++++------ - vendor/modules.txt | 8 +- - 25 files changed, 2081 insertions(+), 194 deletions(-) - create mode 100644 vendor/golang.org/x/exp/LICENSE - create mode 100644 vendor/golang.org/x/exp/PATENTS - create mode 100644 vendor/golang.org/x/exp/constraints/constraints.go - create mode 100644 vendor/golang.org/x/exp/slices/slices.go - create mode 100644 vendor/golang.org/x/exp/slices/sort.go - create mode 100644 vendor/golang.org/x/exp/slices/zsortfunc.go - create mode 100644 vendor/golang.org/x/exp/slices/zsortordered.go - create mode 100644 vendor/golang.org/x/tools/internal/fastwalk/fastwalk_darwin.go - -diff --git a/go.mod b/go.mod -index 2d7559a5d..c667d94d6 100644 ---- a/go.mod -+++ b/go.mod -@@ -44,6 +44,7 @@ require ( - github.com/stretchr/testify v1.8.1 - github.com/ubccr/kerby v0.0.0-20170626144437-201a958fc453 - github.com/vmware/govmomi v0.29.0 -+ golang.org/x/exp v0.0.0-20230307190834-24139beb5833 - golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1 - golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 - golang.org/x/sys v0.3.0 -@@ -149,12 +150,12 @@ require ( - go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1 // indirect - go.opencensus.io v0.23.0 // indirect - golang.org/x/crypto v0.2.0 // indirect -- golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect -+ golang.org/x/mod v0.6.0 // indirect - golang.org/x/net v0.4.0 // indirect - golang.org/x/term v0.3.0 // indirect - golang.org/x/text v0.5.0 // indirect - golang.org/x/time v0.2.0 // indirect -- golang.org/x/tools v0.1.12 // indirect -+ golang.org/x/tools v0.2.0 // indirect - golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f // indirect - google.golang.org/appengine v1.6.7 // indirect - google.golang.org/grpc v1.49.0 // indirect -diff --git a/go.sum b/go.sum -index 62eabdff5..72d378086 100644 ---- a/go.sum -+++ b/go.sum -@@ -1464,6 +1464,8 @@ golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u0 - golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= - golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= - golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= -+golang.org/x/exp v0.0.0-20230307190834-24139beb5833 h1:SChBja7BCQewoTAU7IgvucQKMIXrEpFxNMs0spT3/5s= -+golang.org/x/exp v0.0.0-20230307190834-24139beb5833/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= - golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= - golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= - golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -@@ -1491,8 +1493,8 @@ golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= - golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= - golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= - golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= --golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 h1:6zppjxzCulZykYSLyVDYbneBfbaBIQPYMevg0bEwv2s= --golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -+golang.org/x/mod v0.6.0 h1:b9gGHsz9/HhJ3HF5DHQytPpuwocVTChQJK3AvoLRD5I= -+golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= - golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= - golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= - golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -@@ -1876,8 +1878,8 @@ golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= - golang.org/x/tools v0.1.6/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo= - golang.org/x/tools v0.1.7/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo= - golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= --golang.org/x/tools v0.1.12 h1:VveCTK38A2rkS8ZqFY25HIDFscX5X9OoEhJd3quQmXU= --golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -+golang.org/x/tools v0.2.0 h1:G6AHpWxTMGY1KyEYoAQ5WTtIekUUvDNjan3ugu60JvE= -+golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= - golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= - golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= - golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -diff --git a/internal/distro/distro_test.go b/internal/distro/distro_test.go -index aa747e997..1e92f8f0b 100644 ---- a/internal/distro/distro_test.go -+++ b/internal/distro/distro_test.go -@@ -157,8 +157,16 @@ func TestImageType_PackageSetsChains(t *testing.T) { - // results. - func TestImageTypePipelineNames(t *testing.T) { - // types for parsing the opaque manifest with just the fields we care about -+ type rpmStageOptions struct { -+ GPGKeys []string `json:"gpgkeys"` -+ } -+ type stage struct { -+ Type string `json:"type"` -+ Options rpmStageOptions `json:"options"` -+ } - type pipeline struct { -- Name string `json:"name"` -+ Name string `json:"name"` -+ Stages []stage `json:"stages"` - } - type manifest struct { - Pipelines []pipeline `json:"pipelines"` -@@ -187,7 +195,17 @@ func TestImageTypePipelineNames(t *testing.T) { - Customizations: customizations, - } - options := distro.ImageOptions{} -- repos := make([]rpmmd.RepoConfig, 0) -+ // this repo's gpg keys should get included in the os -+ // pipeline's rpm stage -+ repos := []rpmmd.RepoConfig{ -+ { -+ Name: "payload", -+ BaseURL: "http://payload.example.com", -+ PackageSets: imageType.PayloadPackageSets(), -+ GPGKeys: []string{"payload-gpg-key"}, -+ CheckGPG: true, -+ }, -+ } - containers := make([]container.Spec, 0) - seed := int64(0) - -@@ -224,6 +242,18 @@ func TestImageTypePipelineNames(t *testing.T) { - // manifest pipeline names should be identical to the ones - // defined in the image type and in the same order - require.Equal(allPipelines[idx], pm.Pipelines[idx].Name) -+ -+ if pm.Pipelines[idx].Name == "os" { -+ rpmStagePresent := false -+ for _, s := range pm.Pipelines[idx].Stages { -+ if s.Type == "org.osbuild.rpm" { -+ rpmStagePresent = true -+ require.Equal(repos[0].GPGKeys, s.Options.GPGKeys) -+ } -+ } -+ // make sure the gpg keys check was reached -+ require.True(rpmStagePresent) -+ } - } - - // The last pipeline should match the export pipeline. -diff --git a/internal/distro/fedora/distro.go b/internal/distro/fedora/distro.go -index 163087d50..c6c733a91 100644 ---- a/internal/distro/fedora/distro.go -+++ b/internal/distro/fedora/distro.go -@@ -9,6 +9,7 @@ import ( - "strings" - - "github.com/sirupsen/logrus" -+ "golang.org/x/exp/slices" - - "github.com/osbuild/osbuild-composer/internal/blueprint" - "github.com/osbuild/osbuild-composer/internal/common" -@@ -730,7 +731,25 @@ func (t *imageType) Manifest(customizations *blueprint.Customizations, - } - bp.Customizations = customizations - -- manifest, err := t.initializeManifest(bp, options, repos, nil, containers, seed) -+ // the os pipeline filters repos based on the `osPkgsKey` package set, merge the repos which -+ // contain a payload package set into the `osPkgsKey`, so those repos are included when -+ // building the rpm stage in the os pipeline -+ // TODO: roll this into workloads -+ mergedRepos := make([]rpmmd.RepoConfig, 0, len(repos)) -+ for _, repo := range repos { -+ for _, pkgsKey := range t.PayloadPackageSets() { -+ // If the repo already contains the osPkgsKey, skip -+ if slices.Contains(repo.PackageSets, osPkgsKey) { -+ break -+ } -+ if slices.Contains(repo.PackageSets, pkgsKey) { -+ repo.PackageSets = append(repo.PackageSets, osPkgsKey) -+ } -+ } -+ mergedRepos = append(mergedRepos, repo) -+ } -+ -+ manifest, err := t.initializeManifest(bp, options, mergedRepos, nil, containers, seed) - if err != nil { - return distro.Manifest{}, err - } -diff --git a/internal/distro/rhel7/distro.go b/internal/distro/rhel7/distro.go -index 65c12d3c4..32a965793 100644 ---- a/internal/distro/rhel7/distro.go -+++ b/internal/distro/rhel7/distro.go -@@ -7,6 +7,9 @@ import ( - "sort" - "strings" - -+ "github.com/sirupsen/logrus" -+ "golang.org/x/exp/slices" -+ - "github.com/osbuild/osbuild-composer/internal/blueprint" - "github.com/osbuild/osbuild-composer/internal/common" - "github.com/osbuild/osbuild-composer/internal/container" -@@ -21,7 +24,6 @@ import ( - "github.com/osbuild/osbuild-composer/internal/rpmmd" - "github.com/osbuild/osbuild-composer/internal/runner" - "github.com/osbuild/osbuild-composer/internal/workload" -- "github.com/sirupsen/logrus" - ) - - const ( -@@ -391,7 +393,25 @@ func (t *imageType) Manifest(customizations *blueprint.Customizations, - } - bp.Customizations = customizations - -- manifest, err := t.initializeManifest(bp, options, repos, nil, containers, seed) -+ // the os pipeline filters repos based on the `osPkgsKey` package set, merge the repos which -+ // contain a payload package set into the `osPkgsKey`, so those repos are included when -+ // building the rpm stage in the os pipeline -+ // TODO: roll this into workloads -+ mergedRepos := make([]rpmmd.RepoConfig, 0, len(repos)) -+ for _, repo := range repos { -+ for _, pkgsKey := range t.PayloadPackageSets() { -+ // If the repo already contains the osPkgsKey, skip -+ if slices.Contains(repo.PackageSets, osPkgsKey) { -+ break -+ } -+ if slices.Contains(repo.PackageSets, pkgsKey) { -+ repo.PackageSets = append(repo.PackageSets, osPkgsKey) -+ } -+ } -+ mergedRepos = append(mergedRepos, repo) -+ } -+ -+ manifest, err := t.initializeManifest(bp, options, mergedRepos, nil, containers, seed) - if err != nil { - return distro.Manifest{}, err - } -diff --git a/internal/distro/rhel8/imagetype.go b/internal/distro/rhel8/imagetype.go -index a81089af2..597f4d045 100644 ---- a/internal/distro/rhel8/imagetype.go -+++ b/internal/distro/rhel8/imagetype.go -@@ -6,6 +6,9 @@ import ( - "math/rand" - "strings" - -+ "github.com/sirupsen/logrus" -+ "golang.org/x/exp/slices" -+ - "github.com/osbuild/osbuild-composer/internal/blueprint" - "github.com/osbuild/osbuild-composer/internal/common" - "github.com/osbuild/osbuild-composer/internal/container" -@@ -19,7 +22,6 @@ import ( - "github.com/osbuild/osbuild-composer/internal/platform" - "github.com/osbuild/osbuild-composer/internal/rpmmd" - "github.com/osbuild/osbuild-composer/internal/workload" -- "github.com/sirupsen/logrus" - ) - - const ( -@@ -238,7 +240,25 @@ func (t *imageType) Manifest(customizations *blueprint.Customizations, - } - bp.Customizations = customizations - -- manifest, err := t.initializeManifest(bp, options, repos, nil, containers, seed) -+ // the os pipeline filters repos based on the `osPkgsKey` package set, merge the repos which -+ // contain a payload package set into the `osPkgsKey`, so those repos are included when -+ // building the rpm stage in the os pipeline -+ // TODO: roll this into workloads -+ mergedRepos := make([]rpmmd.RepoConfig, 0, len(repos)) -+ for _, repo := range repos { -+ for _, pkgsKey := range t.PayloadPackageSets() { -+ // If the repo already contains the osPkgsKey, skip -+ if slices.Contains(repo.PackageSets, osPkgsKey) { -+ break -+ } -+ if slices.Contains(repo.PackageSets, pkgsKey) { -+ repo.PackageSets = append(repo.PackageSets, osPkgsKey) -+ } -+ } -+ mergedRepos = append(mergedRepos, repo) -+ } -+ -+ manifest, err := t.initializeManifest(bp, options, mergedRepos, nil, containers, seed) - if err != nil { - return distro.Manifest{}, err - } -diff --git a/internal/distro/rhel9/imagetype.go b/internal/distro/rhel9/imagetype.go -index b90365b7a..b10dae7fe 100644 ---- a/internal/distro/rhel9/imagetype.go -+++ b/internal/distro/rhel9/imagetype.go -@@ -6,6 +6,9 @@ import ( - "math/rand" - "strings" - -+ "github.com/sirupsen/logrus" -+ "golang.org/x/exp/slices" -+ - "github.com/osbuild/osbuild-composer/internal/blueprint" - "github.com/osbuild/osbuild-composer/internal/common" - "github.com/osbuild/osbuild-composer/internal/container" -@@ -19,7 +22,6 @@ import ( - "github.com/osbuild/osbuild-composer/internal/platform" - "github.com/osbuild/osbuild-composer/internal/rpmmd" - "github.com/osbuild/osbuild-composer/internal/workload" -- "github.com/sirupsen/logrus" - ) - - const ( -@@ -238,7 +240,25 @@ func (t *imageType) Manifest(customizations *blueprint.Customizations, - } - bp.Customizations = customizations - -- manifest, err := t.initializeManifest(bp, options, repos, nil, containers, seed) -+ // the os pipeline filters repos based on the `osPkgsKey` package set, merge the repos which -+ // contain a payload package set into the `osPkgsKey`, so those repos are included when -+ // building the rpm stage in the os pipeline -+ // TODO: roll this into workloads -+ mergedRepos := make([]rpmmd.RepoConfig, 0, len(repos)) -+ for _, repo := range repos { -+ for _, pkgsKey := range t.PayloadPackageSets() { -+ // If the repo already contains the osPkgsKey, skip -+ if slices.Contains(repo.PackageSets, osPkgsKey) { -+ break -+ } -+ if slices.Contains(repo.PackageSets, pkgsKey) { -+ repo.PackageSets = append(repo.PackageSets, osPkgsKey) -+ } -+ } -+ mergedRepos = append(mergedRepos, repo) -+ } -+ -+ manifest, err := t.initializeManifest(bp, options, mergedRepos, nil, containers, seed) - if err != nil { - return distro.Manifest{}, err - } -diff --git a/vendor/golang.org/x/exp/LICENSE b/vendor/golang.org/x/exp/LICENSE -new file mode 100644 -index 000000000..6a66aea5e ---- /dev/null -+++ b/vendor/golang.org/x/exp/LICENSE -@@ -0,0 +1,27 @@ -+Copyright (c) 2009 The Go Authors. All rights reserved. -+ -+Redistribution and use in source and binary forms, with or without -+modification, are permitted provided that the following conditions are -+met: -+ -+ * Redistributions of source code must retain the above copyright -+notice, this list of conditions and the following disclaimer. -+ * Redistributions in binary form must reproduce the above -+copyright notice, this list of conditions and the following disclaimer -+in the documentation and/or other materials provided with the -+distribution. -+ * Neither the name of Google Inc. nor the names of its -+contributors may be used to endorse or promote products derived from -+this software without specific prior written permission. -+ -+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -diff --git a/vendor/golang.org/x/exp/PATENTS b/vendor/golang.org/x/exp/PATENTS -new file mode 100644 -index 000000000..733099041 ---- /dev/null -+++ b/vendor/golang.org/x/exp/PATENTS -@@ -0,0 +1,22 @@ -+Additional IP Rights Grant (Patents) -+ -+"This implementation" means the copyrightable works distributed by -+Google as part of the Go project. -+ -+Google hereby grants to You a perpetual, worldwide, non-exclusive, -+no-charge, royalty-free, irrevocable (except as stated in this section) -+patent license to make, have made, use, offer to sell, sell, import, -+transfer and otherwise run, modify and propagate the contents of this -+implementation of Go, where such license applies only to those patent -+claims, both currently owned or controlled by Google and acquired in -+the future, licensable by Google that are necessarily infringed by this -+implementation of Go. This grant does not include claims that would be -+infringed only as a consequence of further modification of this -+implementation. If you or your agent or exclusive licensee institute or -+order or agree to the institution of patent litigation against any -+entity (including a cross-claim or counterclaim in a lawsuit) alleging -+that this implementation of Go or any code incorporated within this -+implementation of Go constitutes direct or contributory patent -+infringement, or inducement of patent infringement, then any patent -+rights granted to you under this License for this implementation of Go -+shall terminate as of the date such litigation is filed. -diff --git a/vendor/golang.org/x/exp/constraints/constraints.go b/vendor/golang.org/x/exp/constraints/constraints.go -new file mode 100644 -index 000000000..2c033dff4 ---- /dev/null -+++ b/vendor/golang.org/x/exp/constraints/constraints.go -@@ -0,0 +1,50 @@ -+// Copyright 2021 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// Package constraints defines a set of useful constraints to be used -+// with type parameters. -+package constraints -+ -+// Signed is a constraint that permits any signed integer type. -+// If future releases of Go add new predeclared signed integer types, -+// this constraint will be modified to include them. -+type Signed interface { -+ ~int | ~int8 | ~int16 | ~int32 | ~int64 -+} -+ -+// Unsigned is a constraint that permits any unsigned integer type. -+// If future releases of Go add new predeclared unsigned integer types, -+// this constraint will be modified to include them. -+type Unsigned interface { -+ ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr -+} -+ -+// Integer is a constraint that permits any integer type. -+// If future releases of Go add new predeclared integer types, -+// this constraint will be modified to include them. -+type Integer interface { -+ Signed | Unsigned -+} -+ -+// Float is a constraint that permits any floating-point type. -+// If future releases of Go add new predeclared floating-point types, -+// this constraint will be modified to include them. -+type Float interface { -+ ~float32 | ~float64 -+} -+ -+// Complex is a constraint that permits any complex numeric type. -+// If future releases of Go add new predeclared complex numeric types, -+// this constraint will be modified to include them. -+type Complex interface { -+ ~complex64 | ~complex128 -+} -+ -+// Ordered is a constraint that permits any ordered type: any type -+// that supports the operators < <= >= >. -+// If future releases of Go add new ordered types, -+// this constraint will be modified to include them. -+type Ordered interface { -+ Integer | Float | ~string -+} -diff --git a/vendor/golang.org/x/exp/slices/slices.go b/vendor/golang.org/x/exp/slices/slices.go -new file mode 100644 -index 000000000..cff0cd49e ---- /dev/null -+++ b/vendor/golang.org/x/exp/slices/slices.go -@@ -0,0 +1,258 @@ -+// Copyright 2021 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// Package slices defines various functions useful with slices of any type. -+// Unless otherwise specified, these functions all apply to the elements -+// of a slice at index 0 <= i < len(s). -+// -+// Note that the less function in IsSortedFunc, SortFunc, SortStableFunc requires a -+// strict weak ordering (https://en.wikipedia.org/wiki/Weak_ordering#Strict_weak_orderings), -+// or the sorting may fail to sort correctly. A common case is when sorting slices of -+// floating-point numbers containing NaN values. -+package slices -+ -+import "golang.org/x/exp/constraints" -+ -+// Equal reports whether two slices are equal: the same length and all -+// elements equal. If the lengths are different, Equal returns false. -+// Otherwise, the elements are compared in increasing index order, and the -+// comparison stops at the first unequal pair. -+// Floating point NaNs are not considered equal. -+func Equal[E comparable](s1, s2 []E) bool { -+ if len(s1) != len(s2) { -+ return false -+ } -+ for i := range s1 { -+ if s1[i] != s2[i] { -+ return false -+ } -+ } -+ return true -+} -+ -+// EqualFunc reports whether two slices are equal using a comparison -+// function on each pair of elements. If the lengths are different, -+// EqualFunc returns false. Otherwise, the elements are compared in -+// increasing index order, and the comparison stops at the first index -+// for which eq returns false. -+func EqualFunc[E1, E2 any](s1 []E1, s2 []E2, eq func(E1, E2) bool) bool { -+ if len(s1) != len(s2) { -+ return false -+ } -+ for i, v1 := range s1 { -+ v2 := s2[i] -+ if !eq(v1, v2) { -+ return false -+ } -+ } -+ return true -+} -+ -+// Compare compares the elements of s1 and s2. -+// The elements are compared sequentially, starting at index 0, -+// until one element is not equal to the other. -+// The result of comparing the first non-matching elements is returned. -+// If both slices are equal until one of them ends, the shorter slice is -+// considered less than the longer one. -+// The result is 0 if s1 == s2, -1 if s1 < s2, and +1 if s1 > s2. -+// Comparisons involving floating point NaNs are ignored. -+func Compare[E constraints.Ordered](s1, s2 []E) int { -+ s2len := len(s2) -+ for i, v1 := range s1 { -+ if i >= s2len { -+ return +1 -+ } -+ v2 := s2[i] -+ switch { -+ case v1 < v2: -+ return -1 -+ case v1 > v2: -+ return +1 -+ } -+ } -+ if len(s1) < s2len { -+ return -1 -+ } -+ return 0 -+} -+ -+// CompareFunc is like Compare but uses a comparison function -+// on each pair of elements. The elements are compared in increasing -+// index order, and the comparisons stop after the first time cmp -+// returns non-zero. -+// The result is the first non-zero result of cmp; if cmp always -+// returns 0 the result is 0 if len(s1) == len(s2), -1 if len(s1) < len(s2), -+// and +1 if len(s1) > len(s2). -+func CompareFunc[E1, E2 any](s1 []E1, s2 []E2, cmp func(E1, E2) int) int { -+ s2len := len(s2) -+ for i, v1 := range s1 { -+ if i >= s2len { -+ return +1 -+ } -+ v2 := s2[i] -+ if c := cmp(v1, v2); c != 0 { -+ return c -+ } -+ } -+ if len(s1) < s2len { -+ return -1 -+ } -+ return 0 -+} -+ -+// Index returns the index of the first occurrence of v in s, -+// or -1 if not present. -+func Index[E comparable](s []E, v E) int { -+ for i, vs := range s { -+ if v == vs { -+ return i -+ } -+ } -+ return -1 -+} -+ -+// IndexFunc returns the first index i satisfying f(s[i]), -+// or -1 if none do. -+func IndexFunc[E any](s []E, f func(E) bool) int { -+ for i, v := range s { -+ if f(v) { -+ return i -+ } -+ } -+ return -1 -+} -+ -+// Contains reports whether v is present in s. -+func Contains[E comparable](s []E, v E) bool { -+ return Index(s, v) >= 0 -+} -+ -+// ContainsFunc reports whether at least one -+// element e of s satisfies f(e). -+func ContainsFunc[E any](s []E, f func(E) bool) bool { -+ return IndexFunc(s, f) >= 0 -+} -+ -+// Insert inserts the values v... into s at index i, -+// returning the modified slice. -+// In the returned slice r, r[i] == v[0]. -+// Insert panics if i is out of range. -+// This function is O(len(s) + len(v)). -+func Insert[S ~[]E, E any](s S, i int, v ...E) S { -+ tot := len(s) + len(v) -+ if tot <= cap(s) { -+ s2 := s[:tot] -+ copy(s2[i+len(v):], s[i:]) -+ copy(s2[i:], v) -+ return s2 -+ } -+ s2 := make(S, tot) -+ copy(s2, s[:i]) -+ copy(s2[i:], v) -+ copy(s2[i+len(v):], s[i:]) -+ return s2 -+} -+ -+// Delete removes the elements s[i:j] from s, returning the modified slice. -+// Delete panics if s[i:j] is not a valid slice of s. -+// Delete modifies the contents of the slice s; it does not create a new slice. -+// Delete is O(len(s)-j), so if many items must be deleted, it is better to -+// make a single call deleting them all together than to delete one at a time. -+// Delete might not modify the elements s[len(s)-(j-i):len(s)]. If those -+// elements contain pointers you might consider zeroing those elements so that -+// objects they reference can be garbage collected. -+func Delete[S ~[]E, E any](s S, i, j int) S { -+ _ = s[i:j] // bounds check -+ -+ return append(s[:i], s[j:]...) -+} -+ -+// Replace replaces the elements s[i:j] by the given v, and returns the -+// modified slice. Replace panics if s[i:j] is not a valid slice of s. -+func Replace[S ~[]E, E any](s S, i, j int, v ...E) S { -+ _ = s[i:j] // verify that i:j is a valid subslice -+ tot := len(s[:i]) + len(v) + len(s[j:]) -+ if tot <= cap(s) { -+ s2 := s[:tot] -+ copy(s2[i+len(v):], s[j:]) -+ copy(s2[i:], v) -+ return s2 -+ } -+ s2 := make(S, tot) -+ copy(s2, s[:i]) -+ copy(s2[i:], v) -+ copy(s2[i+len(v):], s[j:]) -+ return s2 -+} -+ -+// Clone returns a copy of the slice. -+// The elements are copied using assignment, so this is a shallow clone. -+func Clone[S ~[]E, E any](s S) S { -+ // Preserve nil in case it matters. -+ if s == nil { -+ return nil -+ } -+ return append(S([]E{}), s...) -+} -+ -+// Compact replaces consecutive runs of equal elements with a single copy. -+// This is like the uniq command found on Unix. -+// Compact modifies the contents of the slice s; it does not create a new slice. -+// When Compact discards m elements in total, it might not modify the elements -+// s[len(s)-m:len(s)]. If those elements contain pointers you might consider -+// zeroing those elements so that objects they reference can be garbage collected. -+func Compact[S ~[]E, E comparable](s S) S { -+ if len(s) < 2 { -+ return s -+ } -+ i := 1 -+ last := s[0] -+ for _, v := range s[1:] { -+ if v != last { -+ s[i] = v -+ i++ -+ last = v -+ } -+ } -+ return s[:i] -+} -+ -+// CompactFunc is like Compact but uses a comparison function. -+func CompactFunc[S ~[]E, E any](s S, eq func(E, E) bool) S { -+ if len(s) < 2 { -+ return s -+ } -+ i := 1 -+ last := s[0] -+ for _, v := range s[1:] { -+ if !eq(v, last) { -+ s[i] = v -+ i++ -+ last = v -+ } -+ } -+ return s[:i] -+} -+ -+// Grow increases the slice's capacity, if necessary, to guarantee space for -+// another n elements. After Grow(n), at least n elements can be appended -+// to the slice without another allocation. If n is negative or too large to -+// allocate the memory, Grow panics. -+func Grow[S ~[]E, E any](s S, n int) S { -+ if n < 0 { -+ panic("cannot be negative") -+ } -+ if n -= cap(s) - len(s); n > 0 { -+ // TODO(https://go.dev/issue/53888): Make using []E instead of S -+ // to workaround a compiler bug where the runtime.growslice optimization -+ // does not take effect. Revert when the compiler is fixed. -+ s = append([]E(s)[:cap(s)], make([]E, n)...)[:len(s)] -+ } -+ return s -+} -+ -+// Clip removes unused capacity from the slice, returning s[:len(s):len(s)]. -+func Clip[S ~[]E, E any](s S) S { -+ return s[:len(s):len(s)] -+} -diff --git a/vendor/golang.org/x/exp/slices/sort.go b/vendor/golang.org/x/exp/slices/sort.go -new file mode 100644 -index 000000000..f14f40da7 ---- /dev/null -+++ b/vendor/golang.org/x/exp/slices/sort.go -@@ -0,0 +1,126 @@ -+// Copyright 2022 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+package slices -+ -+import ( -+ "math/bits" -+ -+ "golang.org/x/exp/constraints" -+) -+ -+// Sort sorts a slice of any ordered type in ascending order. -+// Sort may fail to sort correctly when sorting slices of floating-point -+// numbers containing Not-a-number (NaN) values. -+// Use slices.SortFunc(x, func(a, b float64) bool {return a < b || (math.IsNaN(a) && !math.IsNaN(b))}) -+// instead if the input may contain NaNs. -+func Sort[E constraints.Ordered](x []E) { -+ n := len(x) -+ pdqsortOrdered(x, 0, n, bits.Len(uint(n))) -+} -+ -+// SortFunc sorts the slice x in ascending order as determined by the less function. -+// This sort is not guaranteed to be stable. -+// -+// SortFunc requires that less is a strict weak ordering. -+// See https://en.wikipedia.org/wiki/Weak_ordering#Strict_weak_orderings. -+func SortFunc[E any](x []E, less func(a, b E) bool) { -+ n := len(x) -+ pdqsortLessFunc(x, 0, n, bits.Len(uint(n)), less) -+} -+ -+// SortStableFunc sorts the slice x while keeping the original order of equal -+// elements, using less to compare elements. -+func SortStableFunc[E any](x []E, less func(a, b E) bool) { -+ stableLessFunc(x, len(x), less) -+} -+ -+// IsSorted reports whether x is sorted in ascending order. -+func IsSorted[E constraints.Ordered](x []E) bool { -+ for i := len(x) - 1; i > 0; i-- { -+ if x[i] < x[i-1] { -+ return false -+ } -+ } -+ return true -+} -+ -+// IsSortedFunc reports whether x is sorted in ascending order, with less as the -+// comparison function. -+func IsSortedFunc[E any](x []E, less func(a, b E) bool) bool { -+ for i := len(x) - 1; i > 0; i-- { -+ if less(x[i], x[i-1]) { -+ return false -+ } -+ } -+ return true -+} -+ -+// BinarySearch searches for target in a sorted slice and returns the position -+// where target is found, or the position where target would appear in the -+// sort order; it also returns a bool saying whether the target is really found -+// in the slice. The slice must be sorted in increasing order. -+func BinarySearch[E constraints.Ordered](x []E, target E) (int, bool) { -+ // Inlining is faster than calling BinarySearchFunc with a lambda. -+ n := len(x) -+ // Define x[-1] < target and x[n] >= target. -+ // Invariant: x[i-1] < target, x[j] >= target. -+ i, j := 0, n -+ for i < j { -+ h := int(uint(i+j) >> 1) // avoid overflow when computing h -+ // i ≤ h < j -+ if x[h] < target { -+ i = h + 1 // preserves x[i-1] < target -+ } else { -+ j = h // preserves x[j] >= target -+ } -+ } -+ // i == j, x[i-1] < target, and x[j] (= x[i]) >= target => answer is i. -+ return i, i < n && x[i] == target -+} -+ -+// BinarySearchFunc works like BinarySearch, but uses a custom comparison -+// function. The slice must be sorted in increasing order, where "increasing" is -+// defined by cmp. cmp(a, b) is expected to return an integer comparing the two -+// parameters: 0 if a == b, a negative number if a < b and a positive number if -+// a > b. -+func BinarySearchFunc[E, T any](x []E, target T, cmp func(E, T) int) (int, bool) { -+ n := len(x) -+ // Define cmp(x[-1], target) < 0 and cmp(x[n], target) >= 0 . -+ // Invariant: cmp(x[i - 1], target) < 0, cmp(x[j], target) >= 0. -+ i, j := 0, n -+ for i < j { -+ h := int(uint(i+j) >> 1) // avoid overflow when computing h -+ // i ≤ h < j -+ if cmp(x[h], target) < 0 { -+ i = h + 1 // preserves cmp(x[i - 1], target) < 0 -+ } else { -+ j = h // preserves cmp(x[j], target) >= 0 -+ } -+ } -+ // i == j, cmp(x[i-1], target) < 0, and cmp(x[j], target) (= cmp(x[i], target)) >= 0 => answer is i. -+ return i, i < n && cmp(x[i], target) == 0 -+} -+ -+type sortedHint int // hint for pdqsort when choosing the pivot -+ -+const ( -+ unknownHint sortedHint = iota -+ increasingHint -+ decreasingHint -+) -+ -+// xorshift paper: https://www.jstatsoft.org/article/view/v008i14/xorshift.pdf -+type xorshift uint64 -+ -+func (r *xorshift) Next() uint64 { -+ *r ^= *r << 13 -+ *r ^= *r >> 17 -+ *r ^= *r << 5 -+ return uint64(*r) -+} -+ -+func nextPowerOfTwo(length int) uint { -+ return 1 << bits.Len(uint(length)) -+} -diff --git a/vendor/golang.org/x/exp/slices/zsortfunc.go b/vendor/golang.org/x/exp/slices/zsortfunc.go -new file mode 100644 -index 000000000..2a632476c ---- /dev/null -+++ b/vendor/golang.org/x/exp/slices/zsortfunc.go -@@ -0,0 +1,479 @@ -+// Code generated by gen_sort_variants.go; DO NOT EDIT. -+ -+// Copyright 2022 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+package slices -+ -+// insertionSortLessFunc sorts data[a:b] using insertion sort. -+func insertionSortLessFunc[E any](data []E, a, b int, less func(a, b E) bool) { -+ for i := a + 1; i < b; i++ { -+ for j := i; j > a && less(data[j], data[j-1]); j-- { -+ data[j], data[j-1] = data[j-1], data[j] -+ } -+ } -+} -+ -+// siftDownLessFunc implements the heap property on data[lo:hi]. -+// first is an offset into the array where the root of the heap lies. -+func siftDownLessFunc[E any](data []E, lo, hi, first int, less func(a, b E) bool) { -+ root := lo -+ for { -+ child := 2*root + 1 -+ if child >= hi { -+ break -+ } -+ if child+1 < hi && less(data[first+child], data[first+child+1]) { -+ child++ -+ } -+ if !less(data[first+root], data[first+child]) { -+ return -+ } -+ data[first+root], data[first+child] = data[first+child], data[first+root] -+ root = child -+ } -+} -+ -+func heapSortLessFunc[E any](data []E, a, b int, less func(a, b E) bool) { -+ first := a -+ lo := 0 -+ hi := b - a -+ -+ // Build heap with greatest element at top. -+ for i := (hi - 1) / 2; i >= 0; i-- { -+ siftDownLessFunc(data, i, hi, first, less) -+ } -+ -+ // Pop elements, largest first, into end of data. -+ for i := hi - 1; i >= 0; i-- { -+ data[first], data[first+i] = data[first+i], data[first] -+ siftDownLessFunc(data, lo, i, first, less) -+ } -+} -+ -+// pdqsortLessFunc sorts data[a:b]. -+// The algorithm based on pattern-defeating quicksort(pdqsort), but without the optimizations from BlockQuicksort. -+// pdqsort paper: https://arxiv.org/pdf/2106.05123.pdf -+// C++ implementation: https://github.com/orlp/pdqsort -+// Rust implementation: https://docs.rs/pdqsort/latest/pdqsort/ -+// limit is the number of allowed bad (very unbalanced) pivots before falling back to heapsort. -+func pdqsortLessFunc[E any](data []E, a, b, limit int, less func(a, b E) bool) { -+ const maxInsertion = 12 -+ -+ var ( -+ wasBalanced = true // whether the last partitioning was reasonably balanced -+ wasPartitioned = true // whether the slice was already partitioned -+ ) -+ -+ for { -+ length := b - a -+ -+ if length <= maxInsertion { -+ insertionSortLessFunc(data, a, b, less) -+ return -+ } -+ -+ // Fall back to heapsort if too many bad choices were made. -+ if limit == 0 { -+ heapSortLessFunc(data, a, b, less) -+ return -+ } -+ -+ // If the last partitioning was imbalanced, we need to breaking patterns. -+ if !wasBalanced { -+ breakPatternsLessFunc(data, a, b, less) -+ limit-- -+ } -+ -+ pivot, hint := choosePivotLessFunc(data, a, b, less) -+ if hint == decreasingHint { -+ reverseRangeLessFunc(data, a, b, less) -+ // The chosen pivot was pivot-a elements after the start of the array. -+ // After reversing it is pivot-a elements before the end of the array. -+ // The idea came from Rust's implementation. -+ pivot = (b - 1) - (pivot - a) -+ hint = increasingHint -+ } -+ -+ // The slice is likely already sorted. -+ if wasBalanced && wasPartitioned && hint == increasingHint { -+ if partialInsertionSortLessFunc(data, a, b, less) { -+ return -+ } -+ } -+ -+ // Probably the slice contains many duplicate elements, partition the slice into -+ // elements equal to and elements greater than the pivot. -+ if a > 0 && !less(data[a-1], data[pivot]) { -+ mid := partitionEqualLessFunc(data, a, b, pivot, less) -+ a = mid -+ continue -+ } -+ -+ mid, alreadyPartitioned := partitionLessFunc(data, a, b, pivot, less) -+ wasPartitioned = alreadyPartitioned -+ -+ leftLen, rightLen := mid-a, b-mid -+ balanceThreshold := length / 8 -+ if leftLen < rightLen { -+ wasBalanced = leftLen >= balanceThreshold -+ pdqsortLessFunc(data, a, mid, limit, less) -+ a = mid + 1 -+ } else { -+ wasBalanced = rightLen >= balanceThreshold -+ pdqsortLessFunc(data, mid+1, b, limit, less) -+ b = mid -+ } -+ } -+} -+ -+// partitionLessFunc does one quicksort partition. -+// Let p = data[pivot] -+// Moves elements in data[a:b] around, so that data[i]

=p for inewpivot. -+// On return, data[newpivot] = p -+func partitionLessFunc[E any](data []E, a, b, pivot int, less func(a, b E) bool) (newpivot int, alreadyPartitioned bool) { -+ data[a], data[pivot] = data[pivot], data[a] -+ i, j := a+1, b-1 // i and j are inclusive of the elements remaining to be partitioned -+ -+ for i <= j && less(data[i], data[a]) { -+ i++ -+ } -+ for i <= j && !less(data[j], data[a]) { -+ j-- -+ } -+ if i > j { -+ data[j], data[a] = data[a], data[j] -+ return j, true -+ } -+ data[i], data[j] = data[j], data[i] -+ i++ -+ j-- -+ -+ for { -+ for i <= j && less(data[i], data[a]) { -+ i++ -+ } -+ for i <= j && !less(data[j], data[a]) { -+ j-- -+ } -+ if i > j { -+ break -+ } -+ data[i], data[j] = data[j], data[i] -+ i++ -+ j-- -+ } -+ data[j], data[a] = data[a], data[j] -+ return j, false -+} -+ -+// partitionEqualLessFunc partitions data[a:b] into elements equal to data[pivot] followed by elements greater than data[pivot]. -+// It assumed that data[a:b] does not contain elements smaller than the data[pivot]. -+func partitionEqualLessFunc[E any](data []E, a, b, pivot int, less func(a, b E) bool) (newpivot int) { -+ data[a], data[pivot] = data[pivot], data[a] -+ i, j := a+1, b-1 // i and j are inclusive of the elements remaining to be partitioned -+ -+ for { -+ for i <= j && !less(data[a], data[i]) { -+ i++ -+ } -+ for i <= j && less(data[a], data[j]) { -+ j-- -+ } -+ if i > j { -+ break -+ } -+ data[i], data[j] = data[j], data[i] -+ i++ -+ j-- -+ } -+ return i -+} -+ -+// partialInsertionSortLessFunc partially sorts a slice, returns true if the slice is sorted at the end. -+func partialInsertionSortLessFunc[E any](data []E, a, b int, less func(a, b E) bool) bool { -+ const ( -+ maxSteps = 5 // maximum number of adjacent out-of-order pairs that will get shifted -+ shortestShifting = 50 // don't shift any elements on short arrays -+ ) -+ i := a + 1 -+ for j := 0; j < maxSteps; j++ { -+ for i < b && !less(data[i], data[i-1]) { -+ i++ -+ } -+ -+ if i == b { -+ return true -+ } -+ -+ if b-a < shortestShifting { -+ return false -+ } -+ -+ data[i], data[i-1] = data[i-1], data[i] -+ -+ // Shift the smaller one to the left. -+ if i-a >= 2 { -+ for j := i - 1; j >= 1; j-- { -+ if !less(data[j], data[j-1]) { -+ break -+ } -+ data[j], data[j-1] = data[j-1], data[j] -+ } -+ } -+ // Shift the greater one to the right. -+ if b-i >= 2 { -+ for j := i + 1; j < b; j++ { -+ if !less(data[j], data[j-1]) { -+ break -+ } -+ data[j], data[j-1] = data[j-1], data[j] -+ } -+ } -+ } -+ return false -+} -+ -+// breakPatternsLessFunc scatters some elements around in an attempt to break some patterns -+// that might cause imbalanced partitions in quicksort. -+func breakPatternsLessFunc[E any](data []E, a, b int, less func(a, b E) bool) { -+ length := b - a -+ if length >= 8 { -+ random := xorshift(length) -+ modulus := nextPowerOfTwo(length) -+ -+ for idx := a + (length/4)*2 - 1; idx <= a+(length/4)*2+1; idx++ { -+ other := int(uint(random.Next()) & (modulus - 1)) -+ if other >= length { -+ other -= length -+ } -+ data[idx], data[a+other] = data[a+other], data[idx] -+ } -+ } -+} -+ -+// choosePivotLessFunc chooses a pivot in data[a:b]. -+// -+// [0,8): chooses a static pivot. -+// [8,shortestNinther): uses the simple median-of-three method. -+// [shortestNinther,∞): uses the Tukey ninther method. -+func choosePivotLessFunc[E any](data []E, a, b int, less func(a, b E) bool) (pivot int, hint sortedHint) { -+ const ( -+ shortestNinther = 50 -+ maxSwaps = 4 * 3 -+ ) -+ -+ l := b - a -+ -+ var ( -+ swaps int -+ i = a + l/4*1 -+ j = a + l/4*2 -+ k = a + l/4*3 -+ ) -+ -+ if l >= 8 { -+ if l >= shortestNinther { -+ // Tukey ninther method, the idea came from Rust's implementation. -+ i = medianAdjacentLessFunc(data, i, &swaps, less) -+ j = medianAdjacentLessFunc(data, j, &swaps, less) -+ k = medianAdjacentLessFunc(data, k, &swaps, less) -+ } -+ // Find the median among i, j, k and stores it into j. -+ j = medianLessFunc(data, i, j, k, &swaps, less) -+ } -+ -+ switch swaps { -+ case 0: -+ return j, increasingHint -+ case maxSwaps: -+ return j, decreasingHint -+ default: -+ return j, unknownHint -+ } -+} -+ -+// order2LessFunc returns x,y where data[x] <= data[y], where x,y=a,b or x,y=b,a. -+func order2LessFunc[E any](data []E, a, b int, swaps *int, less func(a, b E) bool) (int, int) { -+ if less(data[b], data[a]) { -+ *swaps++ -+ return b, a -+ } -+ return a, b -+} -+ -+// medianLessFunc returns x where data[x] is the median of data[a],data[b],data[c], where x is a, b, or c. -+func medianLessFunc[E any](data []E, a, b, c int, swaps *int, less func(a, b E) bool) int { -+ a, b = order2LessFunc(data, a, b, swaps, less) -+ b, c = order2LessFunc(data, b, c, swaps, less) -+ a, b = order2LessFunc(data, a, b, swaps, less) -+ return b -+} -+ -+// medianAdjacentLessFunc finds the median of data[a - 1], data[a], data[a + 1] and stores the index into a. -+func medianAdjacentLessFunc[E any](data []E, a int, swaps *int, less func(a, b E) bool) int { -+ return medianLessFunc(data, a-1, a, a+1, swaps, less) -+} -+ -+func reverseRangeLessFunc[E any](data []E, a, b int, less func(a, b E) bool) { -+ i := a -+ j := b - 1 -+ for i < j { -+ data[i], data[j] = data[j], data[i] -+ i++ -+ j-- -+ } -+} -+ -+func swapRangeLessFunc[E any](data []E, a, b, n int, less func(a, b E) bool) { -+ for i := 0; i < n; i++ { -+ data[a+i], data[b+i] = data[b+i], data[a+i] -+ } -+} -+ -+func stableLessFunc[E any](data []E, n int, less func(a, b E) bool) { -+ blockSize := 20 // must be > 0 -+ a, b := 0, blockSize -+ for b <= n { -+ insertionSortLessFunc(data, a, b, less) -+ a = b -+ b += blockSize -+ } -+ insertionSortLessFunc(data, a, n, less) -+ -+ for blockSize < n { -+ a, b = 0, 2*blockSize -+ for b <= n { -+ symMergeLessFunc(data, a, a+blockSize, b, less) -+ a = b -+ b += 2 * blockSize -+ } -+ if m := a + blockSize; m < n { -+ symMergeLessFunc(data, a, m, n, less) -+ } -+ blockSize *= 2 -+ } -+} -+ -+// symMergeLessFunc merges the two sorted subsequences data[a:m] and data[m:b] using -+// the SymMerge algorithm from Pok-Son Kim and Arne Kutzner, "Stable Minimum -+// Storage Merging by Symmetric Comparisons", in Susanne Albers and Tomasz -+// Radzik, editors, Algorithms - ESA 2004, volume 3221 of Lecture Notes in -+// Computer Science, pages 714-723. Springer, 2004. -+// -+// Let M = m-a and N = b-n. Wolog M < N. -+// The recursion depth is bound by ceil(log(N+M)). -+// The algorithm needs O(M*log(N/M + 1)) calls to data.Less. -+// The algorithm needs O((M+N)*log(M)) calls to data.Swap. -+// -+// The paper gives O((M+N)*log(M)) as the number of assignments assuming a -+// rotation algorithm which uses O(M+N+gcd(M+N)) assignments. The argumentation -+// in the paper carries through for Swap operations, especially as the block -+// swapping rotate uses only O(M+N) Swaps. -+// -+// symMerge assumes non-degenerate arguments: a < m && m < b. -+// Having the caller check this condition eliminates many leaf recursion calls, -+// which improves performance. -+func symMergeLessFunc[E any](data []E, a, m, b int, less func(a, b E) bool) { -+ // Avoid unnecessary recursions of symMerge -+ // by direct insertion of data[a] into data[m:b] -+ // if data[a:m] only contains one element. -+ if m-a == 1 { -+ // Use binary search to find the lowest index i -+ // such that data[i] >= data[a] for m <= i < b. -+ // Exit the search loop with i == b in case no such index exists. -+ i := m -+ j := b -+ for i < j { -+ h := int(uint(i+j) >> 1) -+ if less(data[h], data[a]) { -+ i = h + 1 -+ } else { -+ j = h -+ } -+ } -+ // Swap values until data[a] reaches the position before i. -+ for k := a; k < i-1; k++ { -+ data[k], data[k+1] = data[k+1], data[k] -+ } -+ return -+ } -+ -+ // Avoid unnecessary recursions of symMerge -+ // by direct insertion of data[m] into data[a:m] -+ // if data[m:b] only contains one element. -+ if b-m == 1 { -+ // Use binary search to find the lowest index i -+ // such that data[i] > data[m] for a <= i < m. -+ // Exit the search loop with i == m in case no such index exists. -+ i := a -+ j := m -+ for i < j { -+ h := int(uint(i+j) >> 1) -+ if !less(data[m], data[h]) { -+ i = h + 1 -+ } else { -+ j = h -+ } -+ } -+ // Swap values until data[m] reaches the position i. -+ for k := m; k > i; k-- { -+ data[k], data[k-1] = data[k-1], data[k] -+ } -+ return -+ } -+ -+ mid := int(uint(a+b) >> 1) -+ n := mid + m -+ var start, r int -+ if m > mid { -+ start = n - b -+ r = mid -+ } else { -+ start = a -+ r = m -+ } -+ p := n - 1 -+ -+ for start < r { -+ c := int(uint(start+r) >> 1) -+ if !less(data[p-c], data[c]) { -+ start = c + 1 -+ } else { -+ r = c -+ } -+ } -+ -+ end := n - start -+ if start < m && m < end { -+ rotateLessFunc(data, start, m, end, less) -+ } -+ if a < start && start < mid { -+ symMergeLessFunc(data, a, start, mid, less) -+ } -+ if mid < end && end < b { -+ symMergeLessFunc(data, mid, end, b, less) -+ } -+} -+ -+// rotateLessFunc rotates two consecutive blocks u = data[a:m] and v = data[m:b] in data: -+// Data of the form 'x u v y' is changed to 'x v u y'. -+// rotate performs at most b-a many calls to data.Swap, -+// and it assumes non-degenerate arguments: a < m && m < b. -+func rotateLessFunc[E any](data []E, a, m, b int, less func(a, b E) bool) { -+ i := m - a -+ j := b - m -+ -+ for i != j { -+ if i > j { -+ swapRangeLessFunc(data, m-i, m, j, less) -+ i -= j -+ } else { -+ swapRangeLessFunc(data, m-i, m+j-i, i, less) -+ j -= i -+ } -+ } -+ // i == j -+ swapRangeLessFunc(data, m-i, m, i, less) -+} -diff --git a/vendor/golang.org/x/exp/slices/zsortordered.go b/vendor/golang.org/x/exp/slices/zsortordered.go -new file mode 100644 -index 000000000..efaa1c8b7 ---- /dev/null -+++ b/vendor/golang.org/x/exp/slices/zsortordered.go -@@ -0,0 +1,481 @@ -+// Code generated by gen_sort_variants.go; DO NOT EDIT. -+ -+// Copyright 2022 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+package slices -+ -+import "golang.org/x/exp/constraints" -+ -+// insertionSortOrdered sorts data[a:b] using insertion sort. -+func insertionSortOrdered[E constraints.Ordered](data []E, a, b int) { -+ for i := a + 1; i < b; i++ { -+ for j := i; j > a && (data[j] < data[j-1]); j-- { -+ data[j], data[j-1] = data[j-1], data[j] -+ } -+ } -+} -+ -+// siftDownOrdered implements the heap property on data[lo:hi]. -+// first is an offset into the array where the root of the heap lies. -+func siftDownOrdered[E constraints.Ordered](data []E, lo, hi, first int) { -+ root := lo -+ for { -+ child := 2*root + 1 -+ if child >= hi { -+ break -+ } -+ if child+1 < hi && (data[first+child] < data[first+child+1]) { -+ child++ -+ } -+ if !(data[first+root] < data[first+child]) { -+ return -+ } -+ data[first+root], data[first+child] = data[first+child], data[first+root] -+ root = child -+ } -+} -+ -+func heapSortOrdered[E constraints.Ordered](data []E, a, b int) { -+ first := a -+ lo := 0 -+ hi := b - a -+ -+ // Build heap with greatest element at top. -+ for i := (hi - 1) / 2; i >= 0; i-- { -+ siftDownOrdered(data, i, hi, first) -+ } -+ -+ // Pop elements, largest first, into end of data. -+ for i := hi - 1; i >= 0; i-- { -+ data[first], data[first+i] = data[first+i], data[first] -+ siftDownOrdered(data, lo, i, first) -+ } -+} -+ -+// pdqsortOrdered sorts data[a:b]. -+// The algorithm based on pattern-defeating quicksort(pdqsort), but without the optimizations from BlockQuicksort. -+// pdqsort paper: https://arxiv.org/pdf/2106.05123.pdf -+// C++ implementation: https://github.com/orlp/pdqsort -+// Rust implementation: https://docs.rs/pdqsort/latest/pdqsort/ -+// limit is the number of allowed bad (very unbalanced) pivots before falling back to heapsort. -+func pdqsortOrdered[E constraints.Ordered](data []E, a, b, limit int) { -+ const maxInsertion = 12 -+ -+ var ( -+ wasBalanced = true // whether the last partitioning was reasonably balanced -+ wasPartitioned = true // whether the slice was already partitioned -+ ) -+ -+ for { -+ length := b - a -+ -+ if length <= maxInsertion { -+ insertionSortOrdered(data, a, b) -+ return -+ } -+ -+ // Fall back to heapsort if too many bad choices were made. -+ if limit == 0 { -+ heapSortOrdered(data, a, b) -+ return -+ } -+ -+ // If the last partitioning was imbalanced, we need to breaking patterns. -+ if !wasBalanced { -+ breakPatternsOrdered(data, a, b) -+ limit-- -+ } -+ -+ pivot, hint := choosePivotOrdered(data, a, b) -+ if hint == decreasingHint { -+ reverseRangeOrdered(data, a, b) -+ // The chosen pivot was pivot-a elements after the start of the array. -+ // After reversing it is pivot-a elements before the end of the array. -+ // The idea came from Rust's implementation. -+ pivot = (b - 1) - (pivot - a) -+ hint = increasingHint -+ } -+ -+ // The slice is likely already sorted. -+ if wasBalanced && wasPartitioned && hint == increasingHint { -+ if partialInsertionSortOrdered(data, a, b) { -+ return -+ } -+ } -+ -+ // Probably the slice contains many duplicate elements, partition the slice into -+ // elements equal to and elements greater than the pivot. -+ if a > 0 && !(data[a-1] < data[pivot]) { -+ mid := partitionEqualOrdered(data, a, b, pivot) -+ a = mid -+ continue -+ } -+ -+ mid, alreadyPartitioned := partitionOrdered(data, a, b, pivot) -+ wasPartitioned = alreadyPartitioned -+ -+ leftLen, rightLen := mid-a, b-mid -+ balanceThreshold := length / 8 -+ if leftLen < rightLen { -+ wasBalanced = leftLen >= balanceThreshold -+ pdqsortOrdered(data, a, mid, limit) -+ a = mid + 1 -+ } else { -+ wasBalanced = rightLen >= balanceThreshold -+ pdqsortOrdered(data, mid+1, b, limit) -+ b = mid -+ } -+ } -+} -+ -+// partitionOrdered does one quicksort partition. -+// Let p = data[pivot] -+// Moves elements in data[a:b] around, so that data[i]

=p for inewpivot. -+// On return, data[newpivot] = p -+func partitionOrdered[E constraints.Ordered](data []E, a, b, pivot int) (newpivot int, alreadyPartitioned bool) { -+ data[a], data[pivot] = data[pivot], data[a] -+ i, j := a+1, b-1 // i and j are inclusive of the elements remaining to be partitioned -+ -+ for i <= j && (data[i] < data[a]) { -+ i++ -+ } -+ for i <= j && !(data[j] < data[a]) { -+ j-- -+ } -+ if i > j { -+ data[j], data[a] = data[a], data[j] -+ return j, true -+ } -+ data[i], data[j] = data[j], data[i] -+ i++ -+ j-- -+ -+ for { -+ for i <= j && (data[i] < data[a]) { -+ i++ -+ } -+ for i <= j && !(data[j] < data[a]) { -+ j-- -+ } -+ if i > j { -+ break -+ } -+ data[i], data[j] = data[j], data[i] -+ i++ -+ j-- -+ } -+ data[j], data[a] = data[a], data[j] -+ return j, false -+} -+ -+// partitionEqualOrdered partitions data[a:b] into elements equal to data[pivot] followed by elements greater than data[pivot]. -+// It assumed that data[a:b] does not contain elements smaller than the data[pivot]. -+func partitionEqualOrdered[E constraints.Ordered](data []E, a, b, pivot int) (newpivot int) { -+ data[a], data[pivot] = data[pivot], data[a] -+ i, j := a+1, b-1 // i and j are inclusive of the elements remaining to be partitioned -+ -+ for { -+ for i <= j && !(data[a] < data[i]) { -+ i++ -+ } -+ for i <= j && (data[a] < data[j]) { -+ j-- -+ } -+ if i > j { -+ break -+ } -+ data[i], data[j] = data[j], data[i] -+ i++ -+ j-- -+ } -+ return i -+} -+ -+// partialInsertionSortOrdered partially sorts a slice, returns true if the slice is sorted at the end. -+func partialInsertionSortOrdered[E constraints.Ordered](data []E, a, b int) bool { -+ const ( -+ maxSteps = 5 // maximum number of adjacent out-of-order pairs that will get shifted -+ shortestShifting = 50 // don't shift any elements on short arrays -+ ) -+ i := a + 1 -+ for j := 0; j < maxSteps; j++ { -+ for i < b && !(data[i] < data[i-1]) { -+ i++ -+ } -+ -+ if i == b { -+ return true -+ } -+ -+ if b-a < shortestShifting { -+ return false -+ } -+ -+ data[i], data[i-1] = data[i-1], data[i] -+ -+ // Shift the smaller one to the left. -+ if i-a >= 2 { -+ for j := i - 1; j >= 1; j-- { -+ if !(data[j] < data[j-1]) { -+ break -+ } -+ data[j], data[j-1] = data[j-1], data[j] -+ } -+ } -+ // Shift the greater one to the right. -+ if b-i >= 2 { -+ for j := i + 1; j < b; j++ { -+ if !(data[j] < data[j-1]) { -+ break -+ } -+ data[j], data[j-1] = data[j-1], data[j] -+ } -+ } -+ } -+ return false -+} -+ -+// breakPatternsOrdered scatters some elements around in an attempt to break some patterns -+// that might cause imbalanced partitions in quicksort. -+func breakPatternsOrdered[E constraints.Ordered](data []E, a, b int) { -+ length := b - a -+ if length >= 8 { -+ random := xorshift(length) -+ modulus := nextPowerOfTwo(length) -+ -+ for idx := a + (length/4)*2 - 1; idx <= a+(length/4)*2+1; idx++ { -+ other := int(uint(random.Next()) & (modulus - 1)) -+ if other >= length { -+ other -= length -+ } -+ data[idx], data[a+other] = data[a+other], data[idx] -+ } -+ } -+} -+ -+// choosePivotOrdered chooses a pivot in data[a:b]. -+// -+// [0,8): chooses a static pivot. -+// [8,shortestNinther): uses the simple median-of-three method. -+// [shortestNinther,∞): uses the Tukey ninther method. -+func choosePivotOrdered[E constraints.Ordered](data []E, a, b int) (pivot int, hint sortedHint) { -+ const ( -+ shortestNinther = 50 -+ maxSwaps = 4 * 3 -+ ) -+ -+ l := b - a -+ -+ var ( -+ swaps int -+ i = a + l/4*1 -+ j = a + l/4*2 -+ k = a + l/4*3 -+ ) -+ -+ if l >= 8 { -+ if l >= shortestNinther { -+ // Tukey ninther method, the idea came from Rust's implementation. -+ i = medianAdjacentOrdered(data, i, &swaps) -+ j = medianAdjacentOrdered(data, j, &swaps) -+ k = medianAdjacentOrdered(data, k, &swaps) -+ } -+ // Find the median among i, j, k and stores it into j. -+ j = medianOrdered(data, i, j, k, &swaps) -+ } -+ -+ switch swaps { -+ case 0: -+ return j, increasingHint -+ case maxSwaps: -+ return j, decreasingHint -+ default: -+ return j, unknownHint -+ } -+} -+ -+// order2Ordered returns x,y where data[x] <= data[y], where x,y=a,b or x,y=b,a. -+func order2Ordered[E constraints.Ordered](data []E, a, b int, swaps *int) (int, int) { -+ if data[b] < data[a] { -+ *swaps++ -+ return b, a -+ } -+ return a, b -+} -+ -+// medianOrdered returns x where data[x] is the median of data[a],data[b],data[c], where x is a, b, or c. -+func medianOrdered[E constraints.Ordered](data []E, a, b, c int, swaps *int) int { -+ a, b = order2Ordered(data, a, b, swaps) -+ b, c = order2Ordered(data, b, c, swaps) -+ a, b = order2Ordered(data, a, b, swaps) -+ return b -+} -+ -+// medianAdjacentOrdered finds the median of data[a - 1], data[a], data[a + 1] and stores the index into a. -+func medianAdjacentOrdered[E constraints.Ordered](data []E, a int, swaps *int) int { -+ return medianOrdered(data, a-1, a, a+1, swaps) -+} -+ -+func reverseRangeOrdered[E constraints.Ordered](data []E, a, b int) { -+ i := a -+ j := b - 1 -+ for i < j { -+ data[i], data[j] = data[j], data[i] -+ i++ -+ j-- -+ } -+} -+ -+func swapRangeOrdered[E constraints.Ordered](data []E, a, b, n int) { -+ for i := 0; i < n; i++ { -+ data[a+i], data[b+i] = data[b+i], data[a+i] -+ } -+} -+ -+func stableOrdered[E constraints.Ordered](data []E, n int) { -+ blockSize := 20 // must be > 0 -+ a, b := 0, blockSize -+ for b <= n { -+ insertionSortOrdered(data, a, b) -+ a = b -+ b += blockSize -+ } -+ insertionSortOrdered(data, a, n) -+ -+ for blockSize < n { -+ a, b = 0, 2*blockSize -+ for b <= n { -+ symMergeOrdered(data, a, a+blockSize, b) -+ a = b -+ b += 2 * blockSize -+ } -+ if m := a + blockSize; m < n { -+ symMergeOrdered(data, a, m, n) -+ } -+ blockSize *= 2 -+ } -+} -+ -+// symMergeOrdered merges the two sorted subsequences data[a:m] and data[m:b] using -+// the SymMerge algorithm from Pok-Son Kim and Arne Kutzner, "Stable Minimum -+// Storage Merging by Symmetric Comparisons", in Susanne Albers and Tomasz -+// Radzik, editors, Algorithms - ESA 2004, volume 3221 of Lecture Notes in -+// Computer Science, pages 714-723. Springer, 2004. -+// -+// Let M = m-a and N = b-n. Wolog M < N. -+// The recursion depth is bound by ceil(log(N+M)). -+// The algorithm needs O(M*log(N/M + 1)) calls to data.Less. -+// The algorithm needs O((M+N)*log(M)) calls to data.Swap. -+// -+// The paper gives O((M+N)*log(M)) as the number of assignments assuming a -+// rotation algorithm which uses O(M+N+gcd(M+N)) assignments. The argumentation -+// in the paper carries through for Swap operations, especially as the block -+// swapping rotate uses only O(M+N) Swaps. -+// -+// symMerge assumes non-degenerate arguments: a < m && m < b. -+// Having the caller check this condition eliminates many leaf recursion calls, -+// which improves performance. -+func symMergeOrdered[E constraints.Ordered](data []E, a, m, b int) { -+ // Avoid unnecessary recursions of symMerge -+ // by direct insertion of data[a] into data[m:b] -+ // if data[a:m] only contains one element. -+ if m-a == 1 { -+ // Use binary search to find the lowest index i -+ // such that data[i] >= data[a] for m <= i < b. -+ // Exit the search loop with i == b in case no such index exists. -+ i := m -+ j := b -+ for i < j { -+ h := int(uint(i+j) >> 1) -+ if data[h] < data[a] { -+ i = h + 1 -+ } else { -+ j = h -+ } -+ } -+ // Swap values until data[a] reaches the position before i. -+ for k := a; k < i-1; k++ { -+ data[k], data[k+1] = data[k+1], data[k] -+ } -+ return -+ } -+ -+ // Avoid unnecessary recursions of symMerge -+ // by direct insertion of data[m] into data[a:m] -+ // if data[m:b] only contains one element. -+ if b-m == 1 { -+ // Use binary search to find the lowest index i -+ // such that data[i] > data[m] for a <= i < m. -+ // Exit the search loop with i == m in case no such index exists. -+ i := a -+ j := m -+ for i < j { -+ h := int(uint(i+j) >> 1) -+ if !(data[m] < data[h]) { -+ i = h + 1 -+ } else { -+ j = h -+ } -+ } -+ // Swap values until data[m] reaches the position i. -+ for k := m; k > i; k-- { -+ data[k], data[k-1] = data[k-1], data[k] -+ } -+ return -+ } -+ -+ mid := int(uint(a+b) >> 1) -+ n := mid + m -+ var start, r int -+ if m > mid { -+ start = n - b -+ r = mid -+ } else { -+ start = a -+ r = m -+ } -+ p := n - 1 -+ -+ for start < r { -+ c := int(uint(start+r) >> 1) -+ if !(data[p-c] < data[c]) { -+ start = c + 1 -+ } else { -+ r = c -+ } -+ } -+ -+ end := n - start -+ if start < m && m < end { -+ rotateOrdered(data, start, m, end) -+ } -+ if a < start && start < mid { -+ symMergeOrdered(data, a, start, mid) -+ } -+ if mid < end && end < b { -+ symMergeOrdered(data, mid, end, b) -+ } -+} -+ -+// rotateOrdered rotates two consecutive blocks u = data[a:m] and v = data[m:b] in data: -+// Data of the form 'x u v y' is changed to 'x v u y'. -+// rotate performs at most b-a many calls to data.Swap, -+// and it assumes non-degenerate arguments: a < m && m < b. -+func rotateOrdered[E constraints.Ordered](data []E, a, m, b int) { -+ i := m - a -+ j := b - m -+ -+ for i != j { -+ if i > j { -+ swapRangeOrdered(data, m-i, m, j) -+ i -= j -+ } else { -+ swapRangeOrdered(data, m-i, m+j-i, i) -+ j -= i -+ } -+ } -+ // i == j -+ swapRangeOrdered(data, m-i, m, i) -+} -diff --git a/vendor/golang.org/x/mod/module/module.go b/vendor/golang.org/x/mod/module/module.go -index c26d1d29e..e9dec6e61 100644 ---- a/vendor/golang.org/x/mod/module/module.go -+++ b/vendor/golang.org/x/mod/module/module.go -@@ -96,13 +96,13 @@ package module - // Changes to the semantics in this file require approval from rsc. - - import ( -+ "errors" - "fmt" - "path" - "sort" - "strings" - "unicode" - "unicode/utf8" -- "errors" - - "golang.org/x/mod/semver" - ) -@@ -258,7 +258,7 @@ func modPathOK(r rune) bool { - return false - } - --// modPathOK reports whether r can appear in a package import path element. -+// importPathOK reports whether r can appear in a package import path element. - // - // Import paths are intermediate between module paths and file paths: we allow - // disallow characters that would be confusing or ambiguous as arguments to -diff --git a/vendor/golang.org/x/tools/internal/fastwalk/fastwalk_darwin.go b/vendor/golang.org/x/tools/internal/fastwalk/fastwalk_darwin.go -new file mode 100644 -index 000000000..0ca55e0d5 ---- /dev/null -+++ b/vendor/golang.org/x/tools/internal/fastwalk/fastwalk_darwin.go -@@ -0,0 +1,119 @@ -+// Copyright 2022 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+//go:build darwin && cgo -+// +build darwin,cgo -+ -+package fastwalk -+ -+/* -+#include -+ -+// fastwalk_readdir_r wraps readdir_r so that we don't have to pass a dirent** -+// result pointer which triggers CGO's "Go pointer to Go pointer" check unless -+// we allocat the result dirent* with malloc. -+// -+// fastwalk_readdir_r returns 0 on success, -1 upon reaching the end of the -+// directory, or a positive error number to indicate failure. -+static int fastwalk_readdir_r(DIR *fd, struct dirent *entry) { -+ struct dirent *result; -+ int ret = readdir_r(fd, entry, &result); -+ if (ret == 0 && result == NULL) { -+ ret = -1; // EOF -+ } -+ return ret; -+} -+*/ -+import "C" -+ -+import ( -+ "os" -+ "syscall" -+ "unsafe" -+) -+ -+func readDir(dirName string, fn func(dirName, entName string, typ os.FileMode) error) error { -+ fd, err := openDir(dirName) -+ if err != nil { -+ return &os.PathError{Op: "opendir", Path: dirName, Err: err} -+ } -+ defer C.closedir(fd) -+ -+ skipFiles := false -+ var dirent syscall.Dirent -+ for { -+ ret := int(C.fastwalk_readdir_r(fd, (*C.struct_dirent)(unsafe.Pointer(&dirent)))) -+ if ret != 0 { -+ if ret == -1 { -+ break // EOF -+ } -+ if ret == int(syscall.EINTR) { -+ continue -+ } -+ return &os.PathError{Op: "readdir", Path: dirName, Err: syscall.Errno(ret)} -+ } -+ if dirent.Ino == 0 { -+ continue -+ } -+ typ := dtToType(dirent.Type) -+ if skipFiles && typ.IsRegular() { -+ continue -+ } -+ name := (*[len(syscall.Dirent{}.Name)]byte)(unsafe.Pointer(&dirent.Name))[:] -+ name = name[:dirent.Namlen] -+ for i, c := range name { -+ if c == 0 { -+ name = name[:i] -+ break -+ } -+ } -+ // Check for useless names before allocating a string. -+ if string(name) == "." || string(name) == ".." { -+ continue -+ } -+ if err := fn(dirName, string(name), typ); err != nil { -+ if err != ErrSkipFiles { -+ return err -+ } -+ skipFiles = true -+ } -+ } -+ -+ return nil -+} -+ -+func dtToType(typ uint8) os.FileMode { -+ switch typ { -+ case syscall.DT_BLK: -+ return os.ModeDevice -+ case syscall.DT_CHR: -+ return os.ModeDevice | os.ModeCharDevice -+ case syscall.DT_DIR: -+ return os.ModeDir -+ case syscall.DT_FIFO: -+ return os.ModeNamedPipe -+ case syscall.DT_LNK: -+ return os.ModeSymlink -+ case syscall.DT_REG: -+ return 0 -+ case syscall.DT_SOCK: -+ return os.ModeSocket -+ } -+ return ^os.FileMode(0) -+} -+ -+// openDir wraps opendir(3) and handles any EINTR errors. The returned *DIR -+// needs to be closed with closedir(3). -+func openDir(path string) (*C.DIR, error) { -+ name, err := syscall.BytePtrFromString(path) -+ if err != nil { -+ return nil, err -+ } -+ for { -+ fd, err := C.opendir((*C.char)(unsafe.Pointer(name))) -+ if err != syscall.EINTR { -+ return fd, err -+ } -+ } -+} -diff --git a/vendor/golang.org/x/tools/internal/fastwalk/fastwalk_dirent_ino.go b/vendor/golang.org/x/tools/internal/fastwalk/fastwalk_dirent_ino.go -index ea02b9ebf..d3922890b 100644 ---- a/vendor/golang.org/x/tools/internal/fastwalk/fastwalk_dirent_ino.go -+++ b/vendor/golang.org/x/tools/internal/fastwalk/fastwalk_dirent_ino.go -@@ -2,8 +2,8 @@ - // Use of this source code is governed by a BSD-style - // license that can be found in the LICENSE file. - --//go:build (linux || darwin) && !appengine --// +build linux darwin -+//go:build (linux || (darwin && !cgo)) && !appengine -+// +build linux darwin,!cgo - // +build !appengine - - package fastwalk -@@ -11,5 +11,5 @@ package fastwalk - import "syscall" - - func direntInode(dirent *syscall.Dirent) uint64 { -- return uint64(dirent.Ino) -+ return dirent.Ino - } -diff --git a/vendor/golang.org/x/tools/internal/fastwalk/fastwalk_dirent_namlen_bsd.go b/vendor/golang.org/x/tools/internal/fastwalk/fastwalk_dirent_namlen_bsd.go -index d5c9c321e..38a4db6af 100644 ---- a/vendor/golang.org/x/tools/internal/fastwalk/fastwalk_dirent_namlen_bsd.go -+++ b/vendor/golang.org/x/tools/internal/fastwalk/fastwalk_dirent_namlen_bsd.go -@@ -2,8 +2,8 @@ - // Use of this source code is governed by a BSD-style - // license that can be found in the LICENSE file. - --//go:build darwin || freebsd || openbsd || netbsd --// +build darwin freebsd openbsd netbsd -+//go:build (darwin && !cgo) || freebsd || openbsd || netbsd -+// +build darwin,!cgo freebsd openbsd netbsd - - package fastwalk - -diff --git a/vendor/golang.org/x/tools/internal/fastwalk/fastwalk_unix.go b/vendor/golang.org/x/tools/internal/fastwalk/fastwalk_unix.go -index 58bd87841..f12f1a734 100644 ---- a/vendor/golang.org/x/tools/internal/fastwalk/fastwalk_unix.go -+++ b/vendor/golang.org/x/tools/internal/fastwalk/fastwalk_unix.go -@@ -2,8 +2,8 @@ - // Use of this source code is governed by a BSD-style - // license that can be found in the LICENSE file. - --//go:build (linux || darwin || freebsd || openbsd || netbsd) && !appengine --// +build linux darwin freebsd openbsd netbsd -+//go:build (linux || freebsd || openbsd || netbsd || (darwin && !cgo)) && !appengine -+// +build linux freebsd openbsd netbsd darwin,!cgo - // +build !appengine - - package fastwalk -diff --git a/vendor/golang.org/x/tools/internal/gocommand/invoke.go b/vendor/golang.org/x/tools/internal/gocommand/invoke.go -index 67256dc39..d50551693 100644 ---- a/vendor/golang.org/x/tools/internal/gocommand/invoke.go -+++ b/vendor/golang.org/x/tools/internal/gocommand/invoke.go -@@ -10,8 +10,10 @@ import ( - "context" - "fmt" - "io" -+ "log" - "os" - "regexp" -+ "runtime" - "strconv" - "strings" - "sync" -@@ -232,6 +234,12 @@ func (i *Invocation) run(ctx context.Context, stdout, stderr io.Writer) error { - return runCmdContext(ctx, cmd) - } - -+// DebugHangingGoCommands may be set by tests to enable additional -+// instrumentation (including panics) for debugging hanging Go commands. -+// -+// See golang/go#54461 for details. -+var DebugHangingGoCommands = false -+ - // runCmdContext is like exec.CommandContext except it sends os.Interrupt - // before os.Kill. - func runCmdContext(ctx context.Context, cmd *exec.Cmd) error { -@@ -243,11 +251,24 @@ func runCmdContext(ctx context.Context, cmd *exec.Cmd) error { - resChan <- cmd.Wait() - }() - -- select { -- case err := <-resChan: -- return err -- case <-ctx.Done(): -+ // If we're interested in debugging hanging Go commands, stop waiting after a -+ // minute and panic with interesting information. -+ if DebugHangingGoCommands { -+ select { -+ case err := <-resChan: -+ return err -+ case <-time.After(1 * time.Minute): -+ HandleHangingGoCommand(cmd.Process) -+ case <-ctx.Done(): -+ } -+ } else { -+ select { -+ case err := <-resChan: -+ return err -+ case <-ctx.Done(): -+ } - } -+ - // Cancelled. Interrupt and see if it ends voluntarily. - cmd.Process.Signal(os.Interrupt) - select { -@@ -255,11 +276,63 @@ func runCmdContext(ctx context.Context, cmd *exec.Cmd) error { - return err - case <-time.After(time.Second): - } -+ - // Didn't shut down in response to interrupt. Kill it hard. -- cmd.Process.Kill() -+ // TODO(rfindley): per advice from bcmills@, it may be better to send SIGQUIT -+ // on certain platforms, such as unix. -+ if err := cmd.Process.Kill(); err != nil && DebugHangingGoCommands { -+ // Don't panic here as this reliably fails on windows with EINVAL. -+ log.Printf("error killing the Go command: %v", err) -+ } -+ -+ // See above: don't wait indefinitely if we're debugging hanging Go commands. -+ if DebugHangingGoCommands { -+ select { -+ case err := <-resChan: -+ return err -+ case <-time.After(10 * time.Second): // a shorter wait as resChan should return quickly following Kill -+ HandleHangingGoCommand(cmd.Process) -+ } -+ } - return <-resChan - } - -+func HandleHangingGoCommand(proc *os.Process) { -+ switch runtime.GOOS { -+ case "linux", "darwin", "freebsd", "netbsd": -+ fmt.Fprintln(os.Stderr, `DETECTED A HANGING GO COMMAND -+ -+The gopls test runner has detected a hanging go command. In order to debug -+this, the output of ps and lsof/fstat is printed below. -+ -+See golang/go#54461 for more details.`) -+ -+ fmt.Fprintln(os.Stderr, "\nps axo ppid,pid,command:") -+ fmt.Fprintln(os.Stderr, "-------------------------") -+ psCmd := exec.Command("ps", "axo", "ppid,pid,command") -+ psCmd.Stdout = os.Stderr -+ psCmd.Stderr = os.Stderr -+ if err := psCmd.Run(); err != nil { -+ panic(fmt.Sprintf("running ps: %v", err)) -+ } -+ -+ listFiles := "lsof" -+ if runtime.GOOS == "freebsd" || runtime.GOOS == "netbsd" { -+ listFiles = "fstat" -+ } -+ -+ fmt.Fprintln(os.Stderr, "\n"+listFiles+":") -+ fmt.Fprintln(os.Stderr, "-----") -+ listFilesCmd := exec.Command(listFiles) -+ listFilesCmd.Stdout = os.Stderr -+ listFilesCmd.Stderr = os.Stderr -+ if err := listFilesCmd.Run(); err != nil { -+ panic(fmt.Sprintf("running %s: %v", listFiles, err)) -+ } -+ } -+ panic(fmt.Sprintf("detected hanging go command (pid %d): see golang/go#54461 for more details", proc.Pid)) -+} -+ - func cmdDebugStr(cmd *exec.Cmd) string { - env := make(map[string]string) - for _, kv := range cmd.Env { -diff --git a/vendor/golang.org/x/tools/internal/gocommand/version.go b/vendor/golang.org/x/tools/internal/gocommand/version.go -index 713043680..8db5ceb9d 100644 ---- a/vendor/golang.org/x/tools/internal/gocommand/version.go -+++ b/vendor/golang.org/x/tools/internal/gocommand/version.go -@@ -10,8 +10,15 @@ import ( - "strings" - ) - --// GoVersion checks the go version by running "go list" with modules off. --// It returns the X in Go 1.X. -+// GoVersion reports the minor version number of the highest release -+// tag built into the go command on the PATH. -+// -+// Note that this may be higher than the version of the go tool used -+// to build this application, and thus the versions of the standard -+// go/{scanner,parser,ast,types} packages that are linked into it. -+// In that case, callers should either downgrade to the version of -+// go used to build the application, or report an error that the -+// application is too old to use the go command on the PATH. - func GoVersion(ctx context.Context, inv Invocation, r *Runner) (int, error) { - inv.Verb = "list" - inv.Args = []string{"-e", "-f", `{{context.ReleaseTags}}`, `--`, `unsafe`} -@@ -38,7 +45,7 @@ func GoVersion(ctx context.Context, inv Invocation, r *Runner) (int, error) { - if len(stdout) < 3 { - return 0, fmt.Errorf("bad ReleaseTags output: %q", stdout) - } -- // Split up "[go1.1 go1.15]" -+ // Split up "[go1.1 go1.15]" and return highest go1.X value. - tags := strings.Fields(stdout[1 : len(stdout)-2]) - for i := len(tags) - 1; i >= 0; i-- { - var version int -diff --git a/vendor/golang.org/x/tools/internal/imports/fix.go b/vendor/golang.org/x/tools/internal/imports/fix.go -index 9e373d64e..9b7b106fd 100644 ---- a/vendor/golang.org/x/tools/internal/imports/fix.go -+++ b/vendor/golang.org/x/tools/internal/imports/fix.go -@@ -807,6 +807,11 @@ type ProcessEnv struct { - ModFlag string - ModFile string - -+ // SkipPathInScan returns true if the path should be skipped from scans of -+ // the RootCurrentModule root type. The function argument is a clean, -+ // absolute path. -+ SkipPathInScan func(string) bool -+ - // Env overrides the OS environment, and can be used to specify - // GOPROXY, GO111MODULE, etc. PATH cannot be set here, because - // exec.Command will not honor it. -@@ -1367,9 +1372,9 @@ func (r *gopathResolver) scan(ctx context.Context, callback *scanCallback) error - return err - } - var roots []gopathwalk.Root -- roots = append(roots, gopathwalk.Root{filepath.Join(goenv["GOROOT"], "src"), gopathwalk.RootGOROOT}) -+ roots = append(roots, gopathwalk.Root{Path: filepath.Join(goenv["GOROOT"], "src"), Type: gopathwalk.RootGOROOT}) - for _, p := range filepath.SplitList(goenv["GOPATH"]) { -- roots = append(roots, gopathwalk.Root{filepath.Join(p, "src"), gopathwalk.RootGOPATH}) -+ roots = append(roots, gopathwalk.Root{Path: filepath.Join(p, "src"), Type: gopathwalk.RootGOPATH}) - } - // The callback is not necessarily safe to use in the goroutine below. Process roots eagerly. - roots = filterRoots(roots, callback.rootFound) -diff --git a/vendor/golang.org/x/tools/internal/imports/mod.go b/vendor/golang.org/x/tools/internal/imports/mod.go -index 46693f243..7d99d04ca 100644 ---- a/vendor/golang.org/x/tools/internal/imports/mod.go -+++ b/vendor/golang.org/x/tools/internal/imports/mod.go -@@ -129,22 +129,22 @@ func (r *ModuleResolver) init() error { - }) - - r.roots = []gopathwalk.Root{ -- {filepath.Join(goenv["GOROOT"], "/src"), gopathwalk.RootGOROOT}, -+ {Path: filepath.Join(goenv["GOROOT"], "/src"), Type: gopathwalk.RootGOROOT}, - } - r.mainByDir = make(map[string]*gocommand.ModuleJSON) - for _, main := range r.mains { -- r.roots = append(r.roots, gopathwalk.Root{main.Dir, gopathwalk.RootCurrentModule}) -+ r.roots = append(r.roots, gopathwalk.Root{Path: main.Dir, Type: gopathwalk.RootCurrentModule}) - r.mainByDir[main.Dir] = main - } - if vendorEnabled { -- r.roots = append(r.roots, gopathwalk.Root{r.dummyVendorMod.Dir, gopathwalk.RootOther}) -+ r.roots = append(r.roots, gopathwalk.Root{Path: r.dummyVendorMod.Dir, Type: gopathwalk.RootOther}) - } else { - addDep := func(mod *gocommand.ModuleJSON) { - if mod.Replace == nil { - // This is redundant with the cache, but we'll skip it cheaply enough. -- r.roots = append(r.roots, gopathwalk.Root{mod.Dir, gopathwalk.RootModuleCache}) -+ r.roots = append(r.roots, gopathwalk.Root{Path: mod.Dir, Type: gopathwalk.RootModuleCache}) - } else { -- r.roots = append(r.roots, gopathwalk.Root{mod.Dir, gopathwalk.RootOther}) -+ r.roots = append(r.roots, gopathwalk.Root{Path: mod.Dir, Type: gopathwalk.RootOther}) - } - } - // Walk dependent modules before scanning the full mod cache, direct deps first. -@@ -158,7 +158,7 @@ func (r *ModuleResolver) init() error { - addDep(mod) - } - } -- r.roots = append(r.roots, gopathwalk.Root{r.moduleCacheDir, gopathwalk.RootModuleCache}) -+ r.roots = append(r.roots, gopathwalk.Root{Path: r.moduleCacheDir, Type: gopathwalk.RootModuleCache}) - } - - r.scannedRoots = map[gopathwalk.Root]bool{} -@@ -466,6 +466,16 @@ func (r *ModuleResolver) scan(ctx context.Context, callback *scanCallback) error - // We assume cached directories are fully cached, including all their - // children, and have not changed. We can skip them. - skip := func(root gopathwalk.Root, dir string) bool { -+ if r.env.SkipPathInScan != nil && root.Type == gopathwalk.RootCurrentModule { -+ if root.Path == dir { -+ return false -+ } -+ -+ if r.env.SkipPathInScan(filepath.Clean(dir)) { -+ return true -+ } -+ } -+ - info, ok := r.cacheLoad(dir) - if !ok { - return false -diff --git a/vendor/golang.org/x/tools/internal/imports/zstdlib.go b/vendor/golang.org/x/tools/internal/imports/zstdlib.go -index 437fbb78d..5db9b2d4c 100644 ---- a/vendor/golang.org/x/tools/internal/imports/zstdlib.go -+++ b/vendor/golang.org/x/tools/internal/imports/zstdlib.go -@@ -1,9 +1,13 @@ -+// Copyright 2022 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ - // Code generated by mkstdlib.go. DO NOT EDIT. - - package imports - - var stdlib = map[string][]string{ -- "archive/tar": []string{ -+ "archive/tar": { - "ErrFieldTooLong", - "ErrHeader", - "ErrWriteAfterClose", -@@ -34,7 +38,7 @@ var stdlib = map[string][]string{ - "TypeXHeader", - "Writer", - }, -- "archive/zip": []string{ -+ "archive/zip": { - "Compressor", - "Decompressor", - "Deflate", -@@ -54,7 +58,7 @@ var stdlib = map[string][]string{ - "Store", - "Writer", - }, -- "bufio": []string{ -+ "bufio": { - "ErrAdvanceTooFar", - "ErrBadReadCount", - "ErrBufferFull", -@@ -81,7 +85,7 @@ var stdlib = map[string][]string{ - "SplitFunc", - "Writer", - }, -- "bytes": []string{ -+ "bytes": { - "Buffer", - "Compare", - "Contains", -@@ -138,11 +142,11 @@ var stdlib = map[string][]string{ - "TrimSpace", - "TrimSuffix", - }, -- "compress/bzip2": []string{ -+ "compress/bzip2": { - "NewReader", - "StructuralError", - }, -- "compress/flate": []string{ -+ "compress/flate": { - "BestCompression", - "BestSpeed", - "CorruptInputError", -@@ -160,7 +164,7 @@ var stdlib = map[string][]string{ - "WriteError", - "Writer", - }, -- "compress/gzip": []string{ -+ "compress/gzip": { - "BestCompression", - "BestSpeed", - "DefaultCompression", -@@ -175,7 +179,7 @@ var stdlib = map[string][]string{ - "Reader", - "Writer", - }, -- "compress/lzw": []string{ -+ "compress/lzw": { - "LSB", - "MSB", - "NewReader", -@@ -184,7 +188,7 @@ var stdlib = map[string][]string{ - "Reader", - "Writer", - }, -- "compress/zlib": []string{ -+ "compress/zlib": { - "BestCompression", - "BestSpeed", - "DefaultCompression", -@@ -201,7 +205,7 @@ var stdlib = map[string][]string{ - "Resetter", - "Writer", - }, -- "container/heap": []string{ -+ "container/heap": { - "Fix", - "Init", - "Interface", -@@ -209,16 +213,16 @@ var stdlib = map[string][]string{ - "Push", - "Remove", - }, -- "container/list": []string{ -+ "container/list": { - "Element", - "List", - "New", - }, -- "container/ring": []string{ -+ "container/ring": { - "New", - "Ring", - }, -- "context": []string{ -+ "context": { - "Background", - "CancelFunc", - "Canceled", -@@ -230,7 +234,7 @@ var stdlib = map[string][]string{ - "WithTimeout", - "WithValue", - }, -- "crypto": []string{ -+ "crypto": { - "BLAKE2b_256", - "BLAKE2b_384", - "BLAKE2b_512", -@@ -259,12 +263,12 @@ var stdlib = map[string][]string{ - "Signer", - "SignerOpts", - }, -- "crypto/aes": []string{ -+ "crypto/aes": { - "BlockSize", - "KeySizeError", - "NewCipher", - }, -- "crypto/cipher": []string{ -+ "crypto/cipher": { - "AEAD", - "Block", - "BlockMode", -@@ -281,13 +285,13 @@ var stdlib = map[string][]string{ - "StreamReader", - "StreamWriter", - }, -- "crypto/des": []string{ -+ "crypto/des": { - "BlockSize", - "KeySizeError", - "NewCipher", - "NewTripleDESCipher", - }, -- "crypto/dsa": []string{ -+ "crypto/dsa": { - "ErrInvalidPublicKey", - "GenerateKey", - "GenerateParameters", -@@ -302,7 +306,7 @@ var stdlib = map[string][]string{ - "Sign", - "Verify", - }, -- "crypto/ecdsa": []string{ -+ "crypto/ecdsa": { - "GenerateKey", - "PrivateKey", - "PublicKey", -@@ -311,7 +315,7 @@ var stdlib = map[string][]string{ - "Verify", - "VerifyASN1", - }, -- "crypto/ed25519": []string{ -+ "crypto/ed25519": { - "GenerateKey", - "NewKeyFromSeed", - "PrivateKey", -@@ -323,7 +327,7 @@ var stdlib = map[string][]string{ - "SignatureSize", - "Verify", - }, -- "crypto/elliptic": []string{ -+ "crypto/elliptic": { - "Curve", - "CurveParams", - "GenerateKey", -@@ -336,28 +340,28 @@ var stdlib = map[string][]string{ - "Unmarshal", - "UnmarshalCompressed", - }, -- "crypto/hmac": []string{ -+ "crypto/hmac": { - "Equal", - "New", - }, -- "crypto/md5": []string{ -+ "crypto/md5": { - "BlockSize", - "New", - "Size", - "Sum", - }, -- "crypto/rand": []string{ -+ "crypto/rand": { - "Int", - "Prime", - "Read", - "Reader", - }, -- "crypto/rc4": []string{ -+ "crypto/rc4": { - "Cipher", - "KeySizeError", - "NewCipher", - }, -- "crypto/rsa": []string{ -+ "crypto/rsa": { - "CRTValue", - "DecryptOAEP", - "DecryptPKCS1v15", -@@ -382,13 +386,13 @@ var stdlib = map[string][]string{ - "VerifyPKCS1v15", - "VerifyPSS", - }, -- "crypto/sha1": []string{ -+ "crypto/sha1": { - "BlockSize", - "New", - "Size", - "Sum", - }, -- "crypto/sha256": []string{ -+ "crypto/sha256": { - "BlockSize", - "New", - "New224", -@@ -397,7 +401,7 @@ var stdlib = map[string][]string{ - "Sum224", - "Sum256", - }, -- "crypto/sha512": []string{ -+ "crypto/sha512": { - "BlockSize", - "New", - "New384", -@@ -412,7 +416,7 @@ var stdlib = map[string][]string{ - "Sum512_224", - "Sum512_256", - }, -- "crypto/subtle": []string{ -+ "crypto/subtle": { - "ConstantTimeByteEq", - "ConstantTimeCompare", - "ConstantTimeCopy", -@@ -420,7 +424,7 @@ var stdlib = map[string][]string{ - "ConstantTimeLessOrEq", - "ConstantTimeSelect", - }, -- "crypto/tls": []string{ -+ "crypto/tls": { - "Certificate", - "CertificateRequestInfo", - "CipherSuite", -@@ -506,7 +510,7 @@ var stdlib = map[string][]string{ - "X25519", - "X509KeyPair", - }, -- "crypto/x509": []string{ -+ "crypto/x509": { - "CANotAuthorizedForExtKeyUsage", - "CANotAuthorizedForThisName", - "CertPool", -@@ -588,6 +592,7 @@ var stdlib = map[string][]string{ - "ParsePKCS1PublicKey", - "ParsePKCS8PrivateKey", - "ParsePKIXPublicKey", -+ "ParseRevocationList", - "PublicKeyAlgorithm", - "PureEd25519", - "RSA", -@@ -611,7 +616,7 @@ var stdlib = map[string][]string{ - "UnknownSignatureAlgorithm", - "VerifyOptions", - }, -- "crypto/x509/pkix": []string{ -+ "crypto/x509/pkix": { - "AlgorithmIdentifier", - "AttributeTypeAndValue", - "AttributeTypeAndValueSET", -@@ -623,7 +628,7 @@ var stdlib = map[string][]string{ - "RevokedCertificate", - "TBSCertificateList", - }, -- "database/sql": []string{ -+ "database/sql": { - "ColumnType", - "Conn", - "DB", -@@ -664,7 +669,7 @@ var stdlib = map[string][]string{ - "Tx", - "TxOptions", - }, -- "database/sql/driver": []string{ -+ "database/sql/driver": { - "Bool", - "ColumnConverter", - "Conn", -@@ -712,12 +717,12 @@ var stdlib = map[string][]string{ - "ValueConverter", - "Valuer", - }, -- "debug/buildinfo": []string{ -+ "debug/buildinfo": { - "BuildInfo", - "Read", - "ReadFile", - }, -- "debug/dwarf": []string{ -+ "debug/dwarf": { - "AddrType", - "ArrayType", - "Attr", -@@ -968,7 +973,7 @@ var stdlib = map[string][]string{ - "UnsupportedType", - "VoidType", - }, -- "debug/elf": []string{ -+ "debug/elf": { - "ARM_MAGIC_TRAMP_NUMBER", - "COMPRESS_HIOS", - "COMPRESS_HIPROC", -@@ -1238,6 +1243,7 @@ var stdlib = map[string][]string{ - "EM_L10M", - "EM_LANAI", - "EM_LATTICEMICO32", -+ "EM_LOONGARCH", - "EM_M16C", - "EM_M32", - "EM_M32C", -@@ -1820,6 +1826,57 @@ var stdlib = map[string][]string{ - "R_ARM_XPC25", - "R_INFO", - "R_INFO32", -+ "R_LARCH", -+ "R_LARCH_32", -+ "R_LARCH_64", -+ "R_LARCH_ADD16", -+ "R_LARCH_ADD24", -+ "R_LARCH_ADD32", -+ "R_LARCH_ADD64", -+ "R_LARCH_ADD8", -+ "R_LARCH_COPY", -+ "R_LARCH_IRELATIVE", -+ "R_LARCH_JUMP_SLOT", -+ "R_LARCH_MARK_LA", -+ "R_LARCH_MARK_PCREL", -+ "R_LARCH_NONE", -+ "R_LARCH_RELATIVE", -+ "R_LARCH_SOP_ADD", -+ "R_LARCH_SOP_AND", -+ "R_LARCH_SOP_ASSERT", -+ "R_LARCH_SOP_IF_ELSE", -+ "R_LARCH_SOP_NOT", -+ "R_LARCH_SOP_POP_32_S_0_10_10_16_S2", -+ "R_LARCH_SOP_POP_32_S_0_5_10_16_S2", -+ "R_LARCH_SOP_POP_32_S_10_12", -+ "R_LARCH_SOP_POP_32_S_10_16", -+ "R_LARCH_SOP_POP_32_S_10_16_S2", -+ "R_LARCH_SOP_POP_32_S_10_5", -+ "R_LARCH_SOP_POP_32_S_5_20", -+ "R_LARCH_SOP_POP_32_U", -+ "R_LARCH_SOP_POP_32_U_10_12", -+ "R_LARCH_SOP_PUSH_ABSOLUTE", -+ "R_LARCH_SOP_PUSH_DUP", -+ "R_LARCH_SOP_PUSH_GPREL", -+ "R_LARCH_SOP_PUSH_PCREL", -+ "R_LARCH_SOP_PUSH_PLT_PCREL", -+ "R_LARCH_SOP_PUSH_TLS_GD", -+ "R_LARCH_SOP_PUSH_TLS_GOT", -+ "R_LARCH_SOP_PUSH_TLS_TPREL", -+ "R_LARCH_SOP_SL", -+ "R_LARCH_SOP_SR", -+ "R_LARCH_SOP_SUB", -+ "R_LARCH_SUB16", -+ "R_LARCH_SUB24", -+ "R_LARCH_SUB32", -+ "R_LARCH_SUB64", -+ "R_LARCH_SUB8", -+ "R_LARCH_TLS_DTPMOD32", -+ "R_LARCH_TLS_DTPMOD64", -+ "R_LARCH_TLS_DTPREL32", -+ "R_LARCH_TLS_DTPREL64", -+ "R_LARCH_TLS_TPREL32", -+ "R_LARCH_TLS_TPREL64", - "R_MIPS", - "R_MIPS_16", - "R_MIPS_26", -@@ -2315,7 +2372,7 @@ var stdlib = map[string][]string{ - "Type", - "Version", - }, -- "debug/gosym": []string{ -+ "debug/gosym": { - "DecodingError", - "Func", - "LineTable", -@@ -2327,7 +2384,7 @@ var stdlib = map[string][]string{ - "UnknownFileError", - "UnknownLineError", - }, -- "debug/macho": []string{ -+ "debug/macho": { - "ARM64_RELOC_ADDEND", - "ARM64_RELOC_BRANCH26", - "ARM64_RELOC_GOT_LOAD_PAGE21", -@@ -2457,13 +2514,20 @@ var stdlib = map[string][]string{ - "X86_64_RELOC_TLV", - "X86_64_RELOC_UNSIGNED", - }, -- "debug/pe": []string{ -+ "debug/pe": { - "COFFSymbol", -+ "COFFSymbolAuxFormat5", - "COFFSymbolSize", - "DataDirectory", - "File", - "FileHeader", - "FormatError", -+ "IMAGE_COMDAT_SELECT_ANY", -+ "IMAGE_COMDAT_SELECT_ASSOCIATIVE", -+ "IMAGE_COMDAT_SELECT_EXACT_MATCH", -+ "IMAGE_COMDAT_SELECT_LARGEST", -+ "IMAGE_COMDAT_SELECT_NODUPLICATES", -+ "IMAGE_COMDAT_SELECT_SAME_SIZE", - "IMAGE_DIRECTORY_ENTRY_ARCHITECTURE", - "IMAGE_DIRECTORY_ENTRY_BASERELOC", - "IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT", -@@ -2508,6 +2572,8 @@ var stdlib = map[string][]string{ - "IMAGE_FILE_MACHINE_EBC", - "IMAGE_FILE_MACHINE_I386", - "IMAGE_FILE_MACHINE_IA64", -+ "IMAGE_FILE_MACHINE_LOONGARCH32", -+ "IMAGE_FILE_MACHINE_LOONGARCH64", - "IMAGE_FILE_MACHINE_M32R", - "IMAGE_FILE_MACHINE_MIPS16", - "IMAGE_FILE_MACHINE_MIPSFPU", -@@ -2527,6 +2593,14 @@ var stdlib = map[string][]string{ - "IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP", - "IMAGE_FILE_SYSTEM", - "IMAGE_FILE_UP_SYSTEM_ONLY", -+ "IMAGE_SCN_CNT_CODE", -+ "IMAGE_SCN_CNT_INITIALIZED_DATA", -+ "IMAGE_SCN_CNT_UNINITIALIZED_DATA", -+ "IMAGE_SCN_LNK_COMDAT", -+ "IMAGE_SCN_MEM_DISCARDABLE", -+ "IMAGE_SCN_MEM_EXECUTE", -+ "IMAGE_SCN_MEM_READ", -+ "IMAGE_SCN_MEM_WRITE", - "IMAGE_SUBSYSTEM_EFI_APPLICATION", - "IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER", - "IMAGE_SUBSYSTEM_EFI_ROM", -@@ -2553,7 +2627,7 @@ var stdlib = map[string][]string{ - "StringTable", - "Symbol", - }, -- "debug/plan9obj": []string{ -+ "debug/plan9obj": { - "ErrNoSymbols", - "File", - "FileHeader", -@@ -2567,16 +2641,16 @@ var stdlib = map[string][]string{ - "SectionHeader", - "Sym", - }, -- "embed": []string{ -+ "embed": { - "FS", - }, -- "encoding": []string{ -+ "encoding": { - "BinaryMarshaler", - "BinaryUnmarshaler", - "TextMarshaler", - "TextUnmarshaler", - }, -- "encoding/ascii85": []string{ -+ "encoding/ascii85": { - "CorruptInputError", - "Decode", - "Encode", -@@ -2584,7 +2658,7 @@ var stdlib = map[string][]string{ - "NewDecoder", - "NewEncoder", - }, -- "encoding/asn1": []string{ -+ "encoding/asn1": { - "BitString", - "ClassApplication", - "ClassContextSpecific", -@@ -2622,7 +2696,7 @@ var stdlib = map[string][]string{ - "Unmarshal", - "UnmarshalWithParams", - }, -- "encoding/base32": []string{ -+ "encoding/base32": { - "CorruptInputError", - "Encoding", - "HexEncoding", -@@ -2633,7 +2707,7 @@ var stdlib = map[string][]string{ - "StdEncoding", - "StdPadding", - }, -- "encoding/base64": []string{ -+ "encoding/base64": { - "CorruptInputError", - "Encoding", - "NewDecoder", -@@ -2646,7 +2720,10 @@ var stdlib = map[string][]string{ - "StdPadding", - "URLEncoding", - }, -- "encoding/binary": []string{ -+ "encoding/binary": { -+ "AppendByteOrder", -+ "AppendUvarint", -+ "AppendVarint", - "BigEndian", - "ByteOrder", - "LittleEndian", -@@ -2663,7 +2740,7 @@ var stdlib = map[string][]string{ - "Varint", - "Write", - }, -- "encoding/csv": []string{ -+ "encoding/csv": { - "ErrBareQuote", - "ErrFieldCount", - "ErrQuote", -@@ -2674,7 +2751,7 @@ var stdlib = map[string][]string{ - "Reader", - "Writer", - }, -- "encoding/gob": []string{ -+ "encoding/gob": { - "CommonType", - "Decoder", - "Encoder", -@@ -2685,7 +2762,7 @@ var stdlib = map[string][]string{ - "Register", - "RegisterName", - }, -- "encoding/hex": []string{ -+ "encoding/hex": { - "Decode", - "DecodeString", - "DecodedLen", -@@ -2699,7 +2776,7 @@ var stdlib = map[string][]string{ - "NewDecoder", - "NewEncoder", - }, -- "encoding/json": []string{ -+ "encoding/json": { - "Compact", - "Decoder", - "Delim", -@@ -2726,13 +2803,13 @@ var stdlib = map[string][]string{ - "UnsupportedValueError", - "Valid", - }, -- "encoding/pem": []string{ -+ "encoding/pem": { - "Block", - "Decode", - "Encode", - "EncodeToMemory", - }, -- "encoding/xml": []string{ -+ "encoding/xml": { - "Attr", - "CharData", - "Comment", -@@ -2766,13 +2843,13 @@ var stdlib = map[string][]string{ - "UnmarshalerAttr", - "UnsupportedTypeError", - }, -- "errors": []string{ -+ "errors": { - "As", - "Is", - "New", - "Unwrap", - }, -- "expvar": []string{ -+ "expvar": { - "Do", - "Float", - "Func", -@@ -2789,7 +2866,7 @@ var stdlib = map[string][]string{ - "String", - "Var", - }, -- "flag": []string{ -+ "flag": { - "Arg", - "Args", - "Bool", -@@ -2822,6 +2899,7 @@ var stdlib = map[string][]string{ - "Set", - "String", - "StringVar", -+ "TextVar", - "Uint", - "Uint64", - "Uint64Var", -@@ -2833,7 +2911,10 @@ var stdlib = map[string][]string{ - "Visit", - "VisitAll", - }, -- "fmt": []string{ -+ "fmt": { -+ "Append", -+ "Appendf", -+ "Appendln", - "Errorf", - "Formatter", - "Fprint", -@@ -2860,7 +2941,7 @@ var stdlib = map[string][]string{ - "State", - "Stringer", - }, -- "go/ast": []string{ -+ "go/ast": { - "ArrayType", - "AssignStmt", - "Bad", -@@ -2963,7 +3044,7 @@ var stdlib = map[string][]string{ - "Visitor", - "Walk", - }, -- "go/build": []string{ -+ "go/build": { - "AllowBinary", - "ArchChar", - "Context", -@@ -2980,7 +3061,7 @@ var stdlib = map[string][]string{ - "Package", - "ToolDir", - }, -- "go/build/constraint": []string{ -+ "go/build/constraint": { - "AndExpr", - "Expr", - "IsGoBuild", -@@ -2992,7 +3073,7 @@ var stdlib = map[string][]string{ - "SyntaxError", - "TagExpr", - }, -- "go/constant": []string{ -+ "go/constant": { - "BinaryOp", - "BitLen", - "Bool", -@@ -3033,7 +3114,7 @@ var stdlib = map[string][]string{ - "Val", - "Value", - }, -- "go/doc": []string{ -+ "go/doc": { - "AllDecls", - "AllMethods", - "Example", -@@ -3054,17 +3135,35 @@ var stdlib = map[string][]string{ - "Type", - "Value", - }, -- "go/format": []string{ -+ "go/doc/comment": { -+ "Block", -+ "Code", -+ "DefaultLookupPackage", -+ "Doc", -+ "DocLink", -+ "Heading", -+ "Italic", -+ "Link", -+ "LinkDef", -+ "List", -+ "ListItem", -+ "Paragraph", -+ "Parser", -+ "Plain", -+ "Printer", -+ "Text", -+ }, -+ "go/format": { - "Node", - "Source", - }, -- "go/importer": []string{ -+ "go/importer": { - "Default", - "For", - "ForCompiler", - "Lookup", - }, -- "go/parser": []string{ -+ "go/parser": { - "AllErrors", - "DeclarationErrors", - "ImportsOnly", -@@ -3079,7 +3178,7 @@ var stdlib = map[string][]string{ - "SpuriousErrors", - "Trace", - }, -- "go/printer": []string{ -+ "go/printer": { - "CommentedNode", - "Config", - "Fprint", -@@ -3089,7 +3188,7 @@ var stdlib = map[string][]string{ - "TabIndent", - "UseSpaces", - }, -- "go/scanner": []string{ -+ "go/scanner": { - "Error", - "ErrorHandler", - "ErrorList", -@@ -3098,7 +3197,7 @@ var stdlib = map[string][]string{ - "ScanComments", - "Scanner", - }, -- "go/token": []string{ -+ "go/token": { - "ADD", - "ADD_ASSIGN", - "AND", -@@ -3196,7 +3295,7 @@ var stdlib = map[string][]string{ - "XOR", - "XOR_ASSIGN", - }, -- "go/types": []string{ -+ "go/types": { - "ArgumentError", - "Array", - "AssertableTo", -@@ -3347,17 +3446,17 @@ var stdlib = map[string][]string{ - "WriteSignature", - "WriteType", - }, -- "hash": []string{ -+ "hash": { - "Hash", - "Hash32", - "Hash64", - }, -- "hash/adler32": []string{ -+ "hash/adler32": { - "Checksum", - "New", - "Size", - }, -- "hash/crc32": []string{ -+ "hash/crc32": { - "Castagnoli", - "Checksum", - "ChecksumIEEE", -@@ -3371,7 +3470,7 @@ var stdlib = map[string][]string{ - "Table", - "Update", - }, -- "hash/crc64": []string{ -+ "hash/crc64": { - "Checksum", - "ECMA", - "ISO", -@@ -3381,7 +3480,7 @@ var stdlib = map[string][]string{ - "Table", - "Update", - }, -- "hash/fnv": []string{ -+ "hash/fnv": { - "New128", - "New128a", - "New32", -@@ -3389,16 +3488,18 @@ var stdlib = map[string][]string{ - "New64", - "New64a", - }, -- "hash/maphash": []string{ -+ "hash/maphash": { -+ "Bytes", - "Hash", - "MakeSeed", - "Seed", -+ "String", - }, -- "html": []string{ -+ "html": { - "EscapeString", - "UnescapeString", - }, -- "html/template": []string{ -+ "html/template": { - "CSS", - "ErrAmbigContext", - "ErrBadHTML", -@@ -3436,7 +3537,7 @@ var stdlib = map[string][]string{ - "URL", - "URLQueryEscaper", - }, -- "image": []string{ -+ "image": { - "Alpha", - "Alpha16", - "Black", -@@ -3489,7 +3590,7 @@ var stdlib = map[string][]string{ - "ZP", - "ZR", - }, -- "image/color": []string{ -+ "image/color": { - "Alpha", - "Alpha16", - "Alpha16Model", -@@ -3525,11 +3626,11 @@ var stdlib = map[string][]string{ - "YCbCrModel", - "YCbCrToRGB", - }, -- "image/color/palette": []string{ -+ "image/color/palette": { - "Plan9", - "WebSafe", - }, -- "image/draw": []string{ -+ "image/draw": { - "Draw", - "DrawMask", - "Drawer", -@@ -3541,7 +3642,7 @@ var stdlib = map[string][]string{ - "RGBA64Image", - "Src", - }, -- "image/gif": []string{ -+ "image/gif": { - "Decode", - "DecodeAll", - "DecodeConfig", -@@ -3553,7 +3654,7 @@ var stdlib = map[string][]string{ - "GIF", - "Options", - }, -- "image/jpeg": []string{ -+ "image/jpeg": { - "Decode", - "DecodeConfig", - "DefaultQuality", -@@ -3563,7 +3664,7 @@ var stdlib = map[string][]string{ - "Reader", - "UnsupportedError", - }, -- "image/png": []string{ -+ "image/png": { - "BestCompression", - "BestSpeed", - "CompressionLevel", -@@ -3578,11 +3679,11 @@ var stdlib = map[string][]string{ - "NoCompression", - "UnsupportedError", - }, -- "index/suffixarray": []string{ -+ "index/suffixarray": { - "Index", - "New", - }, -- "io": []string{ -+ "io": { - "ByteReader", - "ByteScanner", - "ByteWriter", -@@ -3634,7 +3735,7 @@ var stdlib = map[string][]string{ - "WriterAt", - "WriterTo", - }, -- "io/fs": []string{ -+ "io/fs": { - "DirEntry", - "ErrClosed", - "ErrExist", -@@ -3678,7 +3779,7 @@ var stdlib = map[string][]string{ - "WalkDir", - "WalkDirFunc", - }, -- "io/ioutil": []string{ -+ "io/ioutil": { - "Discard", - "NopCloser", - "ReadAll", -@@ -3688,7 +3789,7 @@ var stdlib = map[string][]string{ - "TempFile", - "WriteFile", - }, -- "log": []string{ -+ "log": { - "Default", - "Fatal", - "Fatalf", -@@ -3717,7 +3818,7 @@ var stdlib = map[string][]string{ - "SetPrefix", - "Writer", - }, -- "log/syslog": []string{ -+ "log/syslog": { - "Dial", - "LOG_ALERT", - "LOG_AUTH", -@@ -3752,7 +3853,7 @@ var stdlib = map[string][]string{ - "Priority", - "Writer", - }, -- "math": []string{ -+ "math": { - "Abs", - "Acos", - "Acosh", -@@ -3851,7 +3952,7 @@ var stdlib = map[string][]string{ - "Y1", - "Yn", - }, -- "math/big": []string{ -+ "math/big": { - "Above", - "Accuracy", - "AwayFromZero", -@@ -3878,7 +3979,7 @@ var stdlib = map[string][]string{ - "ToZero", - "Word", - }, -- "math/bits": []string{ -+ "math/bits": { - "Add", - "Add32", - "Add64", -@@ -3930,7 +4031,7 @@ var stdlib = map[string][]string{ - "TrailingZeros8", - "UintSize", - }, -- "math/cmplx": []string{ -+ "math/cmplx": { - "Abs", - "Acos", - "Acosh", -@@ -3959,7 +4060,7 @@ var stdlib = map[string][]string{ - "Tan", - "Tanh", - }, -- "math/rand": []string{ -+ "math/rand": { - "ExpFloat64", - "Float32", - "Float64", -@@ -3984,7 +4085,7 @@ var stdlib = map[string][]string{ - "Uint64", - "Zipf", - }, -- "mime": []string{ -+ "mime": { - "AddExtensionType", - "BEncoding", - "ErrInvalidMediaParameter", -@@ -3996,7 +4097,7 @@ var stdlib = map[string][]string{ - "WordDecoder", - "WordEncoder", - }, -- "mime/multipart": []string{ -+ "mime/multipart": { - "ErrMessageTooLarge", - "File", - "FileHeader", -@@ -4007,13 +4108,13 @@ var stdlib = map[string][]string{ - "Reader", - "Writer", - }, -- "mime/quotedprintable": []string{ -+ "mime/quotedprintable": { - "NewReader", - "NewWriter", - "Reader", - "Writer", - }, -- "net": []string{ -+ "net": { - "Addr", - "AddrError", - "Buffers", -@@ -4115,7 +4216,7 @@ var stdlib = map[string][]string{ - "UnixListener", - "UnknownNetworkError", - }, -- "net/http": []string{ -+ "net/http": { - "AllowQuerySemicolons", - "CanonicalHeaderKey", - "Client", -@@ -4168,6 +4269,7 @@ var stdlib = map[string][]string{ - "ListenAndServe", - "ListenAndServeTLS", - "LocalAddrContextKey", -+ "MaxBytesError", - "MaxBytesHandler", - "MaxBytesReader", - "MethodConnect", -@@ -4290,25 +4392,25 @@ var stdlib = map[string][]string{ - "TrailerPrefix", - "Transport", - }, -- "net/http/cgi": []string{ -+ "net/http/cgi": { - "Handler", - "Request", - "RequestFromMap", - "Serve", - }, -- "net/http/cookiejar": []string{ -+ "net/http/cookiejar": { - "Jar", - "New", - "Options", - "PublicSuffixList", - }, -- "net/http/fcgi": []string{ -+ "net/http/fcgi": { - "ErrConnClosed", - "ErrRequestAborted", - "ProcessEnv", - "Serve", - }, -- "net/http/httptest": []string{ -+ "net/http/httptest": { - "DefaultRemoteAddr", - "NewRecorder", - "NewRequest", -@@ -4318,7 +4420,7 @@ var stdlib = map[string][]string{ - "ResponseRecorder", - "Server", - }, -- "net/http/httptrace": []string{ -+ "net/http/httptrace": { - "ClientTrace", - "ContextClientTrace", - "DNSDoneInfo", -@@ -4327,7 +4429,7 @@ var stdlib = map[string][]string{ - "WithClientTrace", - "WroteRequestInfo", - }, -- "net/http/httputil": []string{ -+ "net/http/httputil": { - "BufferPool", - "ClientConn", - "DumpRequest", -@@ -4346,7 +4448,7 @@ var stdlib = map[string][]string{ - "ReverseProxy", - "ServerConn", - }, -- "net/http/pprof": []string{ -+ "net/http/pprof": { - "Cmdline", - "Handler", - "Index", -@@ -4354,7 +4456,7 @@ var stdlib = map[string][]string{ - "Symbol", - "Trace", - }, -- "net/mail": []string{ -+ "net/mail": { - "Address", - "AddressParser", - "ErrHeaderNotPresent", -@@ -4365,7 +4467,7 @@ var stdlib = map[string][]string{ - "ParseDate", - "ReadMessage", - }, -- "net/netip": []string{ -+ "net/netip": { - "Addr", - "AddrFrom16", - "AddrFrom4", -@@ -4384,7 +4486,7 @@ var stdlib = map[string][]string{ - "Prefix", - "PrefixFrom", - }, -- "net/rpc": []string{ -+ "net/rpc": { - "Accept", - "Call", - "Client", -@@ -4411,14 +4513,14 @@ var stdlib = map[string][]string{ - "ServerCodec", - "ServerError", - }, -- "net/rpc/jsonrpc": []string{ -+ "net/rpc/jsonrpc": { - "Dial", - "NewClient", - "NewClientCodec", - "NewServerCodec", - "ServeConn", - }, -- "net/smtp": []string{ -+ "net/smtp": { - "Auth", - "CRAMMD5Auth", - "Client", -@@ -4428,7 +4530,7 @@ var stdlib = map[string][]string{ - "SendMail", - "ServerInfo", - }, -- "net/textproto": []string{ -+ "net/textproto": { - "CanonicalMIMEHeaderKey", - "Conn", - "Dial", -@@ -4444,10 +4546,11 @@ var stdlib = map[string][]string{ - "TrimString", - "Writer", - }, -- "net/url": []string{ -+ "net/url": { - "Error", - "EscapeError", - "InvalidHostError", -+ "JoinPath", - "Parse", - "ParseQuery", - "ParseRequestURI", -@@ -4461,7 +4564,7 @@ var stdlib = map[string][]string{ - "Userinfo", - "Values", - }, -- "os": []string{ -+ "os": { - "Args", - "Chdir", - "Chmod", -@@ -4577,16 +4680,17 @@ var stdlib = map[string][]string{ - "UserHomeDir", - "WriteFile", - }, -- "os/exec": []string{ -+ "os/exec": { - "Cmd", - "Command", - "CommandContext", -+ "ErrDot", - "ErrNotFound", - "Error", - "ExitError", - "LookPath", - }, -- "os/signal": []string{ -+ "os/signal": { - "Ignore", - "Ignored", - "Notify", -@@ -4594,7 +4698,7 @@ var stdlib = map[string][]string{ - "Reset", - "Stop", - }, -- "os/user": []string{ -+ "os/user": { - "Current", - "Group", - "Lookup", -@@ -4607,7 +4711,7 @@ var stdlib = map[string][]string{ - "UnknownUserIdError", - "User", - }, -- "path": []string{ -+ "path": { - "Base", - "Clean", - "Dir", -@@ -4618,7 +4722,7 @@ var stdlib = map[string][]string{ - "Match", - "Split", - }, -- "path/filepath": []string{ -+ "path/filepath": { - "Abs", - "Base", - "Clean", -@@ -4644,12 +4748,12 @@ var stdlib = map[string][]string{ - "WalkDir", - "WalkFunc", - }, -- "plugin": []string{ -+ "plugin": { - "Open", - "Plugin", - "Symbol", - }, -- "reflect": []string{ -+ "reflect": { - "Append", - "AppendSlice", - "Array", -@@ -4724,7 +4828,7 @@ var stdlib = map[string][]string{ - "VisibleFields", - "Zero", - }, -- "regexp": []string{ -+ "regexp": { - "Compile", - "CompilePOSIX", - "Match", -@@ -4735,7 +4839,7 @@ var stdlib = map[string][]string{ - "QuoteMeta", - "Regexp", - }, -- "regexp/syntax": []string{ -+ "regexp/syntax": { - "ClassNL", - "Compile", - "DotNL", -@@ -4759,6 +4863,7 @@ var stdlib = map[string][]string{ - "ErrMissingBracket", - "ErrMissingParen", - "ErrMissingRepeatArgument", -+ "ErrNestingDepth", - "ErrTrailingBackslash", - "ErrUnexpectedParen", - "Error", -@@ -4813,7 +4918,7 @@ var stdlib = map[string][]string{ - "UnicodeGroups", - "WasDollar", - }, -- "runtime": []string{ -+ "runtime": { - "BlockProfile", - "BlockProfileRecord", - "Breakpoint", -@@ -4861,11 +4966,11 @@ var stdlib = map[string][]string{ - "UnlockOSThread", - "Version", - }, -- "runtime/cgo": []string{ -+ "runtime/cgo": { - "Handle", - "NewHandle", - }, -- "runtime/debug": []string{ -+ "runtime/debug": { - "BuildInfo", - "BuildSetting", - "FreeOSMemory", -@@ -4878,12 +4983,13 @@ var stdlib = map[string][]string{ - "SetGCPercent", - "SetMaxStack", - "SetMaxThreads", -+ "SetMemoryLimit", - "SetPanicOnFault", - "SetTraceback", - "Stack", - "WriteHeapDump", - }, -- "runtime/metrics": []string{ -+ "runtime/metrics": { - "All", - "Description", - "Float64Histogram", -@@ -4896,7 +5002,7 @@ var stdlib = map[string][]string{ - "Value", - "ValueKind", - }, -- "runtime/pprof": []string{ -+ "runtime/pprof": { - "Do", - "ForLabels", - "Label", -@@ -4912,7 +5018,7 @@ var stdlib = map[string][]string{ - "WithLabels", - "WriteHeapProfile", - }, -- "runtime/trace": []string{ -+ "runtime/trace": { - "IsEnabled", - "Log", - "Logf", -@@ -4924,7 +5030,8 @@ var stdlib = map[string][]string{ - "Task", - "WithRegion", - }, -- "sort": []string{ -+ "sort": { -+ "Find", - "Float64Slice", - "Float64s", - "Float64sAreSorted", -@@ -4947,7 +5054,7 @@ var stdlib = map[string][]string{ - "Strings", - "StringsAreSorted", - }, -- "strconv": []string{ -+ "strconv": { - "AppendBool", - "AppendFloat", - "AppendInt", -@@ -4987,7 +5094,7 @@ var stdlib = map[string][]string{ - "Unquote", - "UnquoteChar", - }, -- "strings": []string{ -+ "strings": { - "Builder", - "Clone", - "Compare", -@@ -5041,7 +5148,7 @@ var stdlib = map[string][]string{ - "TrimSpace", - "TrimSuffix", - }, -- "sync": []string{ -+ "sync": { - "Cond", - "Locker", - "Map", -@@ -5052,24 +5159,28 @@ var stdlib = map[string][]string{ - "RWMutex", - "WaitGroup", - }, -- "sync/atomic": []string{ -+ "sync/atomic": { - "AddInt32", - "AddInt64", - "AddUint32", - "AddUint64", - "AddUintptr", -+ "Bool", - "CompareAndSwapInt32", - "CompareAndSwapInt64", - "CompareAndSwapPointer", - "CompareAndSwapUint32", - "CompareAndSwapUint64", - "CompareAndSwapUintptr", -+ "Int32", -+ "Int64", - "LoadInt32", - "LoadInt64", - "LoadPointer", - "LoadUint32", - "LoadUint64", - "LoadUintptr", -+ "Pointer", - "StoreInt32", - "StoreInt64", - "StorePointer", -@@ -5082,9 +5193,12 @@ var stdlib = map[string][]string{ - "SwapUint32", - "SwapUint64", - "SwapUintptr", -+ "Uint32", -+ "Uint64", -+ "Uintptr", - "Value", - }, -- "syscall": []string{ -+ "syscall": { - "AF_ALG", - "AF_APPLETALK", - "AF_ARP", -@@ -10234,7 +10348,7 @@ var stdlib = map[string][]string{ - "XP1_UNI_RECV", - "XP1_UNI_SEND", - }, -- "syscall/js": []string{ -+ "syscall/js": { - "CopyBytesToGo", - "CopyBytesToJS", - "Error", -@@ -10256,7 +10370,7 @@ var stdlib = map[string][]string{ - "ValueError", - "ValueOf", - }, -- "testing": []string{ -+ "testing": { - "AllocsPerRun", - "B", - "Benchmark", -@@ -10284,12 +10398,12 @@ var stdlib = map[string][]string{ - "TB", - "Verbose", - }, -- "testing/fstest": []string{ -+ "testing/fstest": { - "MapFS", - "MapFile", - "TestFS", - }, -- "testing/iotest": []string{ -+ "testing/iotest": { - "DataErrReader", - "ErrReader", - "ErrTimeout", -@@ -10301,7 +10415,7 @@ var stdlib = map[string][]string{ - "TimeoutReader", - "TruncateWriter", - }, -- "testing/quick": []string{ -+ "testing/quick": { - "Check", - "CheckEqual", - "CheckEqualError", -@@ -10311,7 +10425,7 @@ var stdlib = map[string][]string{ - "SetupError", - "Value", - }, -- "text/scanner": []string{ -+ "text/scanner": { - "Char", - "Comment", - "EOF", -@@ -10334,7 +10448,7 @@ var stdlib = map[string][]string{ - "String", - "TokenString", - }, -- "text/tabwriter": []string{ -+ "text/tabwriter": { - "AlignRight", - "Debug", - "DiscardEmptyColumns", -@@ -10345,7 +10459,7 @@ var stdlib = map[string][]string{ - "TabIndent", - "Writer", - }, -- "text/template": []string{ -+ "text/template": { - "ExecError", - "FuncMap", - "HTMLEscape", -@@ -10363,7 +10477,7 @@ var stdlib = map[string][]string{ - "Template", - "URLQueryEscaper", - }, -- "text/template/parse": []string{ -+ "text/template/parse": { - "ActionNode", - "BoolNode", - "BranchNode", -@@ -10419,7 +10533,7 @@ var stdlib = map[string][]string{ - "VariableNode", - "WithNode", - }, -- "time": []string{ -+ "time": { - "ANSIC", - "After", - "AfterFunc", -@@ -10491,7 +10605,7 @@ var stdlib = map[string][]string{ - "Wednesday", - "Weekday", - }, -- "unicode": []string{ -+ "unicode": { - "ASCII_Hex_Digit", - "Adlam", - "Ahom", -@@ -10777,14 +10891,14 @@ var stdlib = map[string][]string{ - "Zp", - "Zs", - }, -- "unicode/utf16": []string{ -+ "unicode/utf16": { - "Decode", - "DecodeRune", - "Encode", - "EncodeRune", - "IsSurrogate", - }, -- "unicode/utf8": []string{ -+ "unicode/utf8": { - "AppendRune", - "DecodeLastRune", - "DecodeLastRuneInString", -@@ -10805,7 +10919,7 @@ var stdlib = map[string][]string{ - "ValidRune", - "ValidString", - }, -- "unsafe": []string{ -+ "unsafe": { - "Alignof", - "ArbitraryType", - "Offsetof", -diff --git a/vendor/modules.txt b/vendor/modules.txt -index b76c34ac4..3816b83a8 100644 ---- a/vendor/modules.txt -+++ b/vendor/modules.txt -@@ -743,7 +743,11 @@ golang.org/x/crypto/pkcs12/internal/rc2 - golang.org/x/crypto/salsa20/salsa - golang.org/x/crypto/scrypt - golang.org/x/crypto/sha3 --# golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 -+# golang.org/x/exp v0.0.0-20230307190834-24139beb5833 -+## explicit; go 1.18 -+golang.org/x/exp/constraints -+golang.org/x/exp/slices -+# golang.org/x/mod v0.6.0 - ## explicit; go 1.17 - golang.org/x/mod/internal/lazyregexp - golang.org/x/mod/module -@@ -806,7 +810,7 @@ golang.org/x/text/width - # golang.org/x/time v0.2.0 - ## explicit - golang.org/x/time/rate --# golang.org/x/tools v0.1.12 -+# golang.org/x/tools v0.2.0 - ## explicit; go 1.18 - golang.org/x/tools/go/ast/astutil - golang.org/x/tools/imports --- -2.39.2 - diff --git a/SOURCES/0003-Manifest-always-set-kernel-options-in-grub2-stage.patch b/SOURCES/0003-Manifest-always-set-kernel-options-in-grub2-stage.patch deleted file mode 100644 index f6f8659..0000000 --- a/SOURCES/0003-Manifest-always-set-kernel-options-in-grub2-stage.patch +++ /dev/null @@ -1,2655 +0,0 @@ -From 85e4f4f8580fb64b7e03f65db330b170c4c7d6ec Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Hozza?= -Date: Thu, 23 Mar 2023 10:31:33 +0100 -Subject: [PATCH 3/3] Manifest: always set kernel options in grub2 stage -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -It turned out that when we stopped setting the kernel options in grubenv -file, we also stopped setting them in /etc/default/grub under -`GRUB_CMDLINE_LINUX`. This file is used by grub2-mkconfig when -generating grub configuration. - -10_linux script executed by grub2-mkconfig recently started to overwrite -the /etc/kernel/cmdline, if its timestamp is older than the timestamp of -/etc/default/grub [1]. As a result, all kernel options were wiped out from -/etc/kernel/cmdline. - -Make sure that we always set the `KernelOptions` in the grub2 stage -options, even if the `WriteCmdLine` is set to `false`. - -In addition, unify the way we concatenate kernel options set in the -grub2 stage options. Some pipeline implementations were previously using -space, other were using comma. Space is now used everywhere. - -Regenerate all affected image manifests. - -[1] https://src.fedoraproject.org/rpms/grub2/c/fc76aed5333f56dd05400521a35b944a5df52ebc - -Signed-off-by: Tomáš Hozza ---- - internal/manifest/commit_deployment.go | 2 +- - internal/manifest/os.go | 13 ++++++++++--- - internal/osbuild/grub2_stage.go | 8 ++++++++ - .../centos_8-aarch64-edge_raw_image-boot.json | 2 +- - ...os_8-aarch64-edge_simplified_installer-boot.json | 2 +- - .../centos_8-x86_64-edge_raw_image-boot.json | 2 +- - ...tos_8-x86_64-edge_simplified_installer-boot.json | 2 +- - test/data/manifests/centos_9-aarch64-ami-boot.json | 1 + - .../centos_9-aarch64-edge_raw_image-boot.json | 2 +- - ...os_9-aarch64-edge_simplified_installer-boot.json | 2 +- - .../manifests/centos_9-aarch64-openstack-boot.json | 1 + - .../data/manifests/centos_9-aarch64-qcow2-boot.json | 1 + - .../centos_9-aarch64-qcow2_customize-boot.json | 1 + - test/data/manifests/centos_9-aarch64-vhd-boot.json | 1 + - .../data/manifests/centos_9-ppc64le-qcow2-boot.json | 1 + - .../centos_9-ppc64le-qcow2_customize-boot.json | 1 + - test/data/manifests/centos_9-x86_64-ami-boot.json | 1 + - .../centos_9-x86_64-edge_raw_image-boot.json | 2 +- - ...tos_9-x86_64-edge_simplified_installer-boot.json | 2 +- - test/data/manifests/centos_9-x86_64-gce-boot.json | 1 + - test/data/manifests/centos_9-x86_64-oci-boot.json | 1 + - .../manifests/centos_9-x86_64-openstack-boot.json | 1 + - test/data/manifests/centos_9-x86_64-qcow2-boot.json | 1 + - .../centos_9-x86_64-qcow2_customize-boot.json | 1 + - test/data/manifests/centos_9-x86_64-vhd-boot.json | 1 + - test/data/manifests/centos_9-x86_64-vmdk-boot.json | 1 + - test/data/manifests/fedora_36-aarch64-ami-boot.json | 1 + - .../fedora_36-aarch64-iot_raw_image-boot.json | 2 +- - .../fedora_36-aarch64-minimal_raw-boot.json | 1 + - test/data/manifests/fedora_36-aarch64-oci-boot.json | 1 + - .../manifests/fedora_36-aarch64-openstack-boot.json | 1 + - .../manifests/fedora_36-aarch64-qcow2-boot.json | 1 + - .../fedora_36-aarch64-qcow2_customize-boot.json | 1 + - test/data/manifests/fedora_36-x86_64-ami-boot.json | 1 + - .../fedora_36-x86_64-iot_raw_image-boot.json | 2 +- - .../fedora_36-x86_64-minimal_raw-boot.json | 1 + - test/data/manifests/fedora_36-x86_64-oci-boot.json | 1 + - .../manifests/fedora_36-x86_64-openstack-boot.json | 1 + - .../data/manifests/fedora_36-x86_64-qcow2-boot.json | 1 + - .../fedora_36-x86_64-qcow2_customize-boot.json | 1 + - test/data/manifests/fedora_36-x86_64-vhd-boot.json | 1 + - test/data/manifests/fedora_36-x86_64-vmdk-boot.json | 1 + - test/data/manifests/fedora_37-aarch64-ami-boot.json | 1 + - .../fedora_37-aarch64-iot_raw_image-boot.json | 2 +- - .../fedora_37-aarch64-minimal_raw-boot.json | 1 + - test/data/manifests/fedora_37-aarch64-oci-boot.json | 1 + - .../manifests/fedora_37-aarch64-openstack-boot.json | 1 + - .../manifests/fedora_37-aarch64-qcow2-boot.json | 1 + - .../fedora_37-aarch64-qcow2_customize-boot.json | 1 + - test/data/manifests/fedora_37-x86_64-ami-boot.json | 1 + - .../fedora_37-x86_64-iot_raw_image-boot.json | 2 +- - .../fedora_37-x86_64-minimal_raw-boot.json | 1 + - test/data/manifests/fedora_37-x86_64-oci-boot.json | 1 + - .../manifests/fedora_37-x86_64-openstack-boot.json | 1 + - .../data/manifests/fedora_37-x86_64-qcow2-boot.json | 1 + - .../fedora_37-x86_64-qcow2_customize-boot.json | 1 + - test/data/manifests/fedora_37-x86_64-vhd-boot.json | 1 + - test/data/manifests/fedora_37-x86_64-vmdk-boot.json | 1 + - test/data/manifests/fedora_38-aarch64-ami-boot.json | 1 + - .../fedora_38-aarch64-iot_raw_image-boot.json | 2 +- - .../fedora_38-aarch64-minimal_raw-boot.json | 1 + - test/data/manifests/fedora_38-aarch64-oci-boot.json | 1 + - .../manifests/fedora_38-aarch64-openstack-boot.json | 1 + - .../manifests/fedora_38-aarch64-qcow2-boot.json | 1 + - .../fedora_38-aarch64-qcow2_customize-boot.json | 1 + - test/data/manifests/fedora_38-x86_64-ami-boot.json | 1 + - .../fedora_38-x86_64-iot_raw_image-boot.json | 2 +- - .../fedora_38-x86_64-minimal_raw-boot.json | 1 + - test/data/manifests/fedora_38-x86_64-oci-boot.json | 1 + - .../manifests/fedora_38-x86_64-openstack-boot.json | 1 + - .../data/manifests/fedora_38-x86_64-qcow2-boot.json | 1 + - .../fedora_38-x86_64-qcow2_customize-boot.json | 1 + - test/data/manifests/fedora_38-x86_64-vhd-boot.json | 1 + - test/data/manifests/fedora_38-x86_64-vmdk-boot.json | 1 + - .../rhel_8-aarch64-edge_raw_image-boot.json | 2 +- - ...el_8-aarch64-edge_simplified_installer-boot.json | 2 +- - .../rhel_8-x86_64-edge_raw_image-boot.json | 2 +- - ...hel_8-x86_64-edge_simplified_installer-boot.json | 2 +- - .../rhel_86-aarch64-edge_raw_image-boot.json | 2 +- - ...l_86-aarch64-edge_simplified_installer-boot.json | 2 +- - .../rhel_86-x86_64-edge_raw_image-boot.json | 2 +- - ...el_86-x86_64-edge_simplified_installer-boot.json | 2 +- - .../rhel_87-aarch64-edge_raw_image-boot.json | 2 +- - ...l_87-aarch64-edge_simplified_installer-boot.json | 2 +- - .../rhel_87-x86_64-edge_raw_image-boot.json | 2 +- - ...el_87-x86_64-edge_simplified_installer-boot.json | 2 +- - .../rhel_88-aarch64-edge_raw_image-boot.json | 2 +- - ...l_88-aarch64-edge_simplified_installer-boot.json | 2 +- - .../rhel_88-x86_64-edge_raw_image-boot.json | 2 +- - ...el_88-x86_64-edge_simplified_installer-boot.json | 2 +- - test/data/manifests/rhel_9-aarch64-ami-boot.json | 1 + - .../manifests/rhel_9-aarch64-azure_rhui-boot.json | 1 + - test/data/manifests/rhel_9-aarch64-ec2-boot.json | 1 + - .../rhel_9-aarch64-edge_raw_image-boot.json | 2 +- - ...el_9-aarch64-edge_simplified_installer-boot.json | 2 +- - .../manifests/rhel_9-aarch64-openstack-boot.json | 1 + - test/data/manifests/rhel_9-aarch64-qcow2-boot.json | 1 + - .../rhel_9-aarch64-qcow2_customize-boot.json | 1 + - test/data/manifests/rhel_9-aarch64-vhd-boot.json | 1 + - test/data/manifests/rhel_9-ppc64le-qcow2-boot.json | 1 + - .../rhel_9-ppc64le-qcow2_customize-boot.json | 1 + - test/data/manifests/rhel_9-x86_64-ami-boot.json | 1 + - .../manifests/rhel_9-x86_64-azure_rhui-boot.json | 1 + - test/data/manifests/rhel_9-x86_64-ec2-boot.json | 1 + - test/data/manifests/rhel_9-x86_64-ec2_ha-boot.json | 1 + - test/data/manifests/rhel_9-x86_64-ec2_sap-boot.json | 1 + - .../rhel_9-x86_64-edge_raw_image-boot.json | 2 +- - ...hel_9-x86_64-edge_simplified_installer-boot.json | 2 +- - test/data/manifests/rhel_9-x86_64-gce-boot.json | 1 + - .../data/manifests/rhel_9-x86_64-gce_rhui-boot.json | 1 + - test/data/manifests/rhel_9-x86_64-oci-boot.json | 1 + - .../manifests/rhel_9-x86_64-openstack-boot.json | 1 + - test/data/manifests/rhel_9-x86_64-qcow2-boot.json | 1 + - .../rhel_9-x86_64-qcow2_customize-boot.json | 1 + - test/data/manifests/rhel_9-x86_64-vhd-boot.json | 1 + - test/data/manifests/rhel_9-x86_64-vmdk-boot.json | 1 + - test/data/manifests/rhel_90-aarch64-ami-boot.json | 1 + - .../manifests/rhel_90-aarch64-azure_rhui-boot.json | 1 + - test/data/manifests/rhel_90-aarch64-ec2-boot.json | 1 + - .../rhel_90-aarch64-edge_raw_image-boot.json | 2 +- - ...l_90-aarch64-edge_simplified_installer-boot.json | 2 +- - .../manifests/rhel_90-aarch64-openstack-boot.json | 1 + - test/data/manifests/rhel_90-aarch64-qcow2-boot.json | 1 + - .../rhel_90-aarch64-qcow2_customize-boot.json | 1 + - test/data/manifests/rhel_90-aarch64-vhd-boot.json | 1 + - test/data/manifests/rhel_90-ppc64le-qcow2-boot.json | 1 + - .../rhel_90-ppc64le-qcow2_customize-boot.json | 1 + - test/data/manifests/rhel_90-x86_64-ami-boot.json | 1 + - .../manifests/rhel_90-x86_64-azure_rhui-boot.json | 1 + - test/data/manifests/rhel_90-x86_64-ec2-boot.json | 1 + - test/data/manifests/rhel_90-x86_64-ec2_ha-boot.json | 1 + - .../data/manifests/rhel_90-x86_64-ec2_sap-boot.json | 1 + - .../rhel_90-x86_64-edge_raw_image-boot.json | 2 +- - ...el_90-x86_64-edge_simplified_installer-boot.json | 2 +- - test/data/manifests/rhel_90-x86_64-gce-boot.json | 1 + - .../manifests/rhel_90-x86_64-gce_rhui-boot.json | 1 + - test/data/manifests/rhel_90-x86_64-oci-boot.json | 1 + - .../manifests/rhel_90-x86_64-openstack-boot.json | 1 + - test/data/manifests/rhel_90-x86_64-qcow2-boot.json | 1 + - .../rhel_90-x86_64-qcow2_customize-boot.json | 1 + - test/data/manifests/rhel_90-x86_64-vhd-boot.json | 1 + - test/data/manifests/rhel_90-x86_64-vmdk-boot.json | 1 + - test/data/manifests/rhel_91-aarch64-ami-boot.json | 1 + - .../manifests/rhel_91-aarch64-azure_rhui-boot.json | 1 + - test/data/manifests/rhel_91-aarch64-ec2-boot.json | 1 + - .../rhel_91-aarch64-edge_raw_image-boot.json | 2 +- - ...l_91-aarch64-edge_simplified_installer-boot.json | 2 +- - .../manifests/rhel_91-aarch64-openstack-boot.json | 1 + - test/data/manifests/rhel_91-aarch64-qcow2-boot.json | 1 + - .../rhel_91-aarch64-qcow2_customize-boot.json | 1 + - test/data/manifests/rhel_91-aarch64-vhd-boot.json | 1 + - test/data/manifests/rhel_91-ppc64le-qcow2-boot.json | 1 + - .../rhel_91-ppc64le-qcow2_customize-boot.json | 1 + - test/data/manifests/rhel_91-x86_64-ami-boot.json | 1 + - .../manifests/rhel_91-x86_64-azure_rhui-boot.json | 1 + - test/data/manifests/rhel_91-x86_64-ec2-boot.json | 1 + - test/data/manifests/rhel_91-x86_64-ec2_ha-boot.json | 1 + - .../data/manifests/rhel_91-x86_64-ec2_sap-boot.json | 1 + - .../rhel_91-x86_64-edge_raw_image-boot.json | 2 +- - ...el_91-x86_64-edge_simplified_installer-boot.json | 2 +- - test/data/manifests/rhel_91-x86_64-gce-boot.json | 1 + - .../manifests/rhel_91-x86_64-gce_rhui-boot.json | 1 + - test/data/manifests/rhel_91-x86_64-oci-boot.json | 1 + - .../manifests/rhel_91-x86_64-openstack-boot.json | 1 + - test/data/manifests/rhel_91-x86_64-qcow2-boot.json | 1 + - .../rhel_91-x86_64-qcow2_customize-boot.json | 1 + - test/data/manifests/rhel_91-x86_64-vhd-boot.json | 1 + - test/data/manifests/rhel_91-x86_64-vmdk-boot.json | 1 + - test/data/manifests/rhel_92-aarch64-ami-boot.json | 1 + - .../manifests/rhel_92-aarch64-azure_rhui-boot.json | 1 + - test/data/manifests/rhel_92-aarch64-ec2-boot.json | 1 + - .../rhel_92-aarch64-edge_raw_image-boot.json | 2 +- - ...l_92-aarch64-edge_simplified_installer-boot.json | 2 +- - .../manifests/rhel_92-aarch64-openstack-boot.json | 1 + - test/data/manifests/rhel_92-aarch64-qcow2-boot.json | 1 + - .../rhel_92-aarch64-qcow2_customize-boot.json | 1 + - test/data/manifests/rhel_92-aarch64-vhd-boot.json | 1 + - test/data/manifests/rhel_92-ppc64le-qcow2-boot.json | 1 + - .../rhel_92-ppc64le-qcow2_customize-boot.json | 1 + - test/data/manifests/rhel_92-x86_64-ami-boot.json | 1 + - .../manifests/rhel_92-x86_64-azure_rhui-boot.json | 1 + - test/data/manifests/rhel_92-x86_64-ec2-boot.json | 1 + - test/data/manifests/rhel_92-x86_64-ec2_ha-boot.json | 1 + - .../data/manifests/rhel_92-x86_64-ec2_sap-boot.json | 1 + - .../rhel_92-x86_64-edge_raw_image-boot.json | 2 +- - ...el_92-x86_64-edge_simplified_installer-boot.json | 2 +- - test/data/manifests/rhel_92-x86_64-gce-boot.json | 1 + - .../manifests/rhel_92-x86_64-gce_rhui-boot.json | 1 + - test/data/manifests/rhel_92-x86_64-oci-boot.json | 1 + - .../manifests/rhel_92-x86_64-openstack-boot.json | 1 + - test/data/manifests/rhel_92-x86_64-qcow2-boot.json | 1 + - .../rhel_92-x86_64-qcow2_customize-boot.json | 1 + - test/data/manifests/rhel_92-x86_64-vhd-boot.json | 1 + - test/data/manifests/rhel_92-x86_64-vmdk-boot.json | 1 + - 194 files changed, 210 insertions(+), 50 deletions(-) - -diff --git a/internal/manifest/commit_deployment.go b/internal/manifest/commit_deployment.go -index 71c535176..da129a135 100644 ---- a/internal/manifest/commit_deployment.go -+++ b/internal/manifest/commit_deployment.go -@@ -238,6 +238,7 @@ func (p *OSTreeDeployment) serialize() osbuild.Pipeline { - } - - grubOptions := osbuild.NewGrub2StageOptionsUnified(p.PartitionTable, -+ strings.Join(kernelOpts, " "), - "", - p.platform.GetUEFIVendor() != "", - p.platform.GetBIOSPlatform(), -@@ -249,7 +250,6 @@ func (p *OSTreeDeployment) serialize() osbuild.Pipeline { - Timeout: 1, - TerminalOutput: []string{"console"}, - } -- grubOptions.KernelOptions = strings.Join(kernelOpts, ",") - bootloader := osbuild.NewGRUB2Stage(grubOptions) - bootloader.MountOSTree(p.osName, p.commit.Ref, 0) - pipeline.AddStage(bootloader) -diff --git a/internal/manifest/os.go b/internal/manifest/os.go -index c73c7071c..6f0f50209 100644 ---- a/internal/manifest/os.go -+++ b/internal/manifest/os.go -@@ -52,8 +52,15 @@ type OSCustomizations struct { - KernelOptionsAppend []string - - // KernelOptionsBootloader controls whether kernel command line options -- // should be specified in the bootloader configuration. Otherwise they are -- // specified in /etc/kernel/cmdline (default). -+ // should be specified in the bootloader grubenv configuration. Otherwise -+ // they are specified in /etc/kernel/cmdline (default). -+ // -+ // NB: The kernel options need to be still specified in /etc/default/grub -+ // under the GRUB_CMDLINE_LINUX variable. The reason is that it is used by -+ // the 10_linux script executed by grub2-mkconfig to override the kernel -+ // options in /etc/kernel/cmdline if the file has older timestamp than -+ // /etc/default/grub. -+ // - // This should only be used for RHEL 8 and CentOS 8 images that use grub - // (non s390x). Newer releases (9+) should keep this disabled. - KernelOptionsBootloader bool -@@ -558,6 +565,7 @@ func (p *OS) serialize() osbuild.Pipeline { - ) - } else { - options := osbuild.NewGrub2StageOptionsUnified(pt, -+ strings.Join(kernelOptions, " "), - p.kernelVer, - p.platform.GetUEFIVendor() != "", - p.platform.GetBIOSPlatform(), -@@ -577,7 +585,6 @@ func (p *OS) serialize() osbuild.Pipeline { - if options.UEFI != nil { - options.UEFI.Unified = false - } -- options.KernelOptions = strings.Join(kernelOptions, " ") - } - bootloader = osbuild.NewGRUB2Stage(options) - } -diff --git a/internal/osbuild/grub2_stage.go b/internal/osbuild/grub2_stage.go -index 8e233b271..bebee052b 100644 ---- a/internal/osbuild/grub2_stage.go -+++ b/internal/osbuild/grub2_stage.go -@@ -101,6 +101,7 @@ func NewGrub2StageOptions(pt *disk.PartitionTable, - } - - func NewGrub2StageOptionsUnified(pt *disk.PartitionTable, -+ kernelOptions string, - kernelVer string, - uefi bool, - legacy string, -@@ -112,9 +113,16 @@ func NewGrub2StageOptionsUnified(pt *disk.PartitionTable, - panic("root filesystem must be defined for grub2 stage, this is a programming error") - } - -+ // NB: We need to set the kernel options regardless of whether we are -+ // writing the command line to grubenv or not. This is because the kernel -+ // options are also written to /etc/default/grub under the GRUB_CMDLINE_LINUX -+ // variable. This is used by the 10_linux script executed by grub2-mkconfig -+ // to override the kernel options in /etc/kernel/cmdline if the file has -+ // older timestamp than /etc/default/grub. - stageOptions := GRUB2StageOptions{ - RootFilesystemUUID: uuid.MustParse(rootFs.GetFSSpec().UUID), - Legacy: legacy, -+ KernelOptions: kernelOptions, - WriteCmdLine: common.ToPtr(false), - } - -diff --git a/test/data/manifests/centos_8-aarch64-edge_raw_image-boot.json b/test/data/manifests/centos_8-aarch64-edge_raw_image-boot.json -index 7631ac963..d97a70c44 100644 ---- a/test/data/manifests/centos_8-aarch64-edge_raw_image-boot.json -+++ b/test/data/manifests/centos_8-aarch64-edge_raw_image-boot.json -@@ -2259,7 +2259,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75,modprobe.blacklist=vc4", -+ "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75 modprobe.blacklist=vc4", - "uefi": { - "vendor": "centos", - "install": true, -diff --git a/test/data/manifests/centos_8-aarch64-edge_simplified_installer-boot.json b/test/data/manifests/centos_8-aarch64-edge_simplified_installer-boot.json -index 5c980e587..fffd37ee3 100644 ---- a/test/data/manifests/centos_8-aarch64-edge_simplified_installer-boot.json -+++ b/test/data/manifests/centos_8-aarch64-edge_simplified_installer-boot.json -@@ -2611,7 +2611,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75,modprobe.blacklist=vc4", -+ "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75 modprobe.blacklist=vc4", - "uefi": { - "vendor": "centos", - "install": true, -diff --git a/test/data/manifests/centos_8-x86_64-edge_raw_image-boot.json b/test/data/manifests/centos_8-x86_64-edge_raw_image-boot.json -index 346ffbfa0..8eb1fe81b 100644 ---- a/test/data/manifests/centos_8-x86_64-edge_raw_image-boot.json -+++ b/test/data/manifests/centos_8-x86_64-edge_raw_image-boot.json -@@ -2371,7 +2371,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75,modprobe.blacklist=vc4", -+ "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75 modprobe.blacklist=vc4", - "legacy": "i386-pc", - "uefi": { - "vendor": "centos", -diff --git a/test/data/manifests/centos_8-x86_64-edge_simplified_installer-boot.json b/test/data/manifests/centos_8-x86_64-edge_simplified_installer-boot.json -index bbd8a11e2..d0ee7deac 100644 ---- a/test/data/manifests/centos_8-x86_64-edge_simplified_installer-boot.json -+++ b/test/data/manifests/centos_8-x86_64-edge_simplified_installer-boot.json -@@ -2659,7 +2659,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75,modprobe.blacklist=vc4", -+ "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75 modprobe.blacklist=vc4", - "uefi": { - "vendor": "centos", - "install": true, -diff --git a/test/data/manifests/centos_9-aarch64-ami-boot.json b/test/data/manifests/centos_9-aarch64-ami-boot.json -index 61511dd2b..d04a83034 100644 ---- a/test/data/manifests/centos_9-aarch64-ami-boot.json -+++ b/test/data/manifests/centos_9-aarch64-ami-boot.json -@@ -4421,6 +4421,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=ttyS0,115200n8 console=tty0 net.ifnames=0 rd.blacklist=nouveau nvme_core.io_timeout=4294967295 iommu.strict=0", - "uefi": { - "vendor": "centos", - "unified": true -diff --git a/test/data/manifests/centos_9-aarch64-edge_raw_image-boot.json b/test/data/manifests/centos_9-aarch64-edge_raw_image-boot.json -index 3d25bdb81..b157d4935 100644 ---- a/test/data/manifests/centos_9-aarch64-edge_raw_image-boot.json -+++ b/test/data/manifests/centos_9-aarch64-edge_raw_image-boot.json -@@ -2336,7 +2336,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75,modprobe.blacklist=vc4,rw,coreos.no_persist_ip,ignition.platform.id=metal,$ignition_firstboot", -+ "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75 modprobe.blacklist=vc4 rw coreos.no_persist_ip ignition.platform.id=metal $ignition_firstboot", - "uefi": { - "vendor": "centos", - "install": true, -diff --git a/test/data/manifests/centos_9-aarch64-edge_simplified_installer-boot.json b/test/data/manifests/centos_9-aarch64-edge_simplified_installer-boot.json -index fd61b1dd6..f922bc01a 100644 ---- a/test/data/manifests/centos_9-aarch64-edge_simplified_installer-boot.json -+++ b/test/data/manifests/centos_9-aarch64-edge_simplified_installer-boot.json -@@ -2720,7 +2720,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75,modprobe.blacklist=vc4,rw,coreos.no_persist_ip,ignition.platform.id=metal,$ignition_firstboot", -+ "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75 modprobe.blacklist=vc4 rw coreos.no_persist_ip ignition.platform.id=metal $ignition_firstboot", - "uefi": { - "vendor": "centos", - "install": true, -diff --git a/test/data/manifests/centos_9-aarch64-openstack-boot.json b/test/data/manifests/centos_9-aarch64-openstack-boot.json -index 2c839da77..fa0fd40ab 100644 ---- a/test/data/manifests/centos_9-aarch64-openstack-boot.json -+++ b/test/data/manifests/centos_9-aarch64-openstack-boot.json -@@ -4446,6 +4446,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro net.ifnames=0", - "uefi": { - "vendor": "centos", - "unified": true -diff --git a/test/data/manifests/centos_9-aarch64-qcow2-boot.json b/test/data/manifests/centos_9-aarch64-qcow2-boot.json -index 659f3969d..f7211262c 100644 ---- a/test/data/manifests/centos_9-aarch64-qcow2-boot.json -+++ b/test/data/manifests/centos_9-aarch64-qcow2-boot.json -@@ -4510,6 +4510,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=tty0 console=ttyS0,115200n8 no_timer_check net.ifnames=0", - "uefi": { - "vendor": "centos", - "unified": true -diff --git a/test/data/manifests/centos_9-aarch64-qcow2_customize-boot.json b/test/data/manifests/centos_9-aarch64-qcow2_customize-boot.json -index 7be4e90eb..fbd5e2c33 100644 ---- a/test/data/manifests/centos_9-aarch64-qcow2_customize-boot.json -+++ b/test/data/manifests/centos_9-aarch64-qcow2_customize-boot.json -@@ -4867,6 +4867,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=tty0 console=ttyS0,115200n8 no_timer_check net.ifnames=0 debug", - "uefi": { - "vendor": "centos", - "unified": true -diff --git a/test/data/manifests/centos_9-aarch64-vhd-boot.json b/test/data/manifests/centos_9-aarch64-vhd-boot.json -index d013221a1..7e915a96c 100644 ---- a/test/data/manifests/centos_9-aarch64-vhd-boot.json -+++ b/test/data/manifests/centos_9-aarch64-vhd-boot.json -@@ -6059,6 +6059,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro console=tty1 console=ttyS0 earlyprintk=ttyS0 rootdelay=300", - "uefi": { - "vendor": "centos", - "unified": true -diff --git a/test/data/manifests/centos_9-ppc64le-qcow2-boot.json b/test/data/manifests/centos_9-ppc64le-qcow2-boot.json -index 02caf9723..b9bf9b8fa 100644 ---- a/test/data/manifests/centos_9-ppc64le-qcow2-boot.json -+++ b/test/data/manifests/centos_9-ppc64le-qcow2-boot.json -@@ -5151,6 +5151,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=tty0 console=ttyS0,115200n8 no_timer_check net.ifnames=0", - "legacy": "powerpc-ieee1275", - "saved_entry": "ffffffffffffffffffffffffffffffff-5.14.0-200.el9.ppc64le", - "write_cmdline": false, -diff --git a/test/data/manifests/centos_9-ppc64le-qcow2_customize-boot.json b/test/data/manifests/centos_9-ppc64le-qcow2_customize-boot.json -index 4e60bd1a8..ba9157882 100644 ---- a/test/data/manifests/centos_9-ppc64le-qcow2_customize-boot.json -+++ b/test/data/manifests/centos_9-ppc64le-qcow2_customize-boot.json -@@ -5492,6 +5492,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=tty0 console=ttyS0,115200n8 no_timer_check net.ifnames=0 debug", - "legacy": "powerpc-ieee1275", - "saved_entry": "ffffffffffffffffffffffffffffffff-5.14.0-200.el9.ppc64le", - "write_cmdline": false, -diff --git a/test/data/manifests/centos_9-x86_64-ami-boot.json b/test/data/manifests/centos_9-x86_64-ami-boot.json -index c8bc730c2..a6e218258 100644 ---- a/test/data/manifests/centos_9-x86_64-ami-boot.json -+++ b/test/data/manifests/centos_9-x86_64-ami-boot.json -@@ -4401,6 +4401,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=ttyS0,115200n8 console=tty0 net.ifnames=0 rd.blacklist=nouveau nvme_core.io_timeout=4294967295", - "legacy": "i386-pc", - "saved_entry": "ffffffffffffffffffffffffffffffff-5.14.0-214.el9.x86_64", - "write_cmdline": false, -diff --git a/test/data/manifests/centos_9-x86_64-edge_raw_image-boot.json b/test/data/manifests/centos_9-x86_64-edge_raw_image-boot.json -index 24c53cebb..51fbde2ec 100644 ---- a/test/data/manifests/centos_9-x86_64-edge_raw_image-boot.json -+++ b/test/data/manifests/centos_9-x86_64-edge_raw_image-boot.json -@@ -2463,7 +2463,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75,modprobe.blacklist=vc4,rw,coreos.no_persist_ip,ignition.platform.id=metal,$ignition_firstboot", -+ "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75 modprobe.blacklist=vc4 rw coreos.no_persist_ip ignition.platform.id=metal $ignition_firstboot", - "legacy": "i386-pc", - "uefi": { - "vendor": "centos", -diff --git a/test/data/manifests/centos_9-x86_64-edge_simplified_installer-boot.json b/test/data/manifests/centos_9-x86_64-edge_simplified_installer-boot.json -index 47f1a397e..51e2bbc6d 100644 ---- a/test/data/manifests/centos_9-x86_64-edge_simplified_installer-boot.json -+++ b/test/data/manifests/centos_9-x86_64-edge_simplified_installer-boot.json -@@ -2775,7 +2775,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75,modprobe.blacklist=vc4,rw,coreos.no_persist_ip,ignition.platform.id=metal,$ignition_firstboot", -+ "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75 modprobe.blacklist=vc4 rw coreos.no_persist_ip ignition.platform.id=metal $ignition_firstboot", - "uefi": { - "vendor": "centos", - "install": true, -diff --git a/test/data/manifests/centos_9-x86_64-gce-boot.json b/test/data/manifests/centos_9-x86_64-gce-boot.json -index c01cde2a2..88bbdd581 100644 ---- a/test/data/manifests/centos_9-x86_64-gce-boot.json -+++ b/test/data/manifests/centos_9-x86_64-gce-boot.json -@@ -4637,6 +4637,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "net.ifnames=0 biosdevname=0 scsi_mod.use_blk_mq=Y console=ttyS0,38400n8d", - "legacy": "i386-pc", - "uefi": { - "vendor": "centos", -diff --git a/test/data/manifests/centos_9-x86_64-oci-boot.json b/test/data/manifests/centos_9-x86_64-oci-boot.json -index a2dccfa3f..7e0edf808 100644 ---- a/test/data/manifests/centos_9-x86_64-oci-boot.json -+++ b/test/data/manifests/centos_9-x86_64-oci-boot.json -@@ -4777,6 +4777,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=tty0 console=ttyS0,115200n8 no_timer_check net.ifnames=0", - "legacy": "i386-pc", - "uefi": { - "vendor": "centos", -diff --git a/test/data/manifests/centos_9-x86_64-openstack-boot.json b/test/data/manifests/centos_9-x86_64-openstack-boot.json -index 396c602c9..31e3c0f3b 100644 ---- a/test/data/manifests/centos_9-x86_64-openstack-boot.json -+++ b/test/data/manifests/centos_9-x86_64-openstack-boot.json -@@ -4830,6 +4830,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro net.ifnames=0", - "legacy": "i386-pc", - "uefi": { - "vendor": "centos", -diff --git a/test/data/manifests/centos_9-x86_64-qcow2-boot.json b/test/data/manifests/centos_9-x86_64-qcow2-boot.json -index ca8d50aa3..c9710e242 100644 ---- a/test/data/manifests/centos_9-x86_64-qcow2-boot.json -+++ b/test/data/manifests/centos_9-x86_64-qcow2-boot.json -@@ -4798,6 +4798,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=tty0 console=ttyS0,115200n8 no_timer_check net.ifnames=0", - "legacy": "i386-pc", - "uefi": { - "vendor": "centos", -diff --git a/test/data/manifests/centos_9-x86_64-qcow2_customize-boot.json b/test/data/manifests/centos_9-x86_64-qcow2_customize-boot.json -index 683bb5876..0fe598129 100644 ---- a/test/data/manifests/centos_9-x86_64-qcow2_customize-boot.json -+++ b/test/data/manifests/centos_9-x86_64-qcow2_customize-boot.json -@@ -5235,6 +5235,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=tty0 console=ttyS0,115200n8 no_timer_check net.ifnames=0 debug", - "legacy": "i386-pc", - "uefi": { - "vendor": "centos", -diff --git a/test/data/manifests/centos_9-x86_64-vhd-boot.json b/test/data/manifests/centos_9-x86_64-vhd-boot.json -index 8d17a264a..93589780c 100644 ---- a/test/data/manifests/centos_9-x86_64-vhd-boot.json -+++ b/test/data/manifests/centos_9-x86_64-vhd-boot.json -@@ -6387,6 +6387,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro console=tty1 console=ttyS0 earlyprintk=ttyS0 rootdelay=300", - "legacy": "i386-pc", - "uefi": { - "vendor": "centos", -diff --git a/test/data/manifests/centos_9-x86_64-vmdk-boot.json b/test/data/manifests/centos_9-x86_64-vmdk-boot.json -index 9876b00bc..d7f244e16 100644 ---- a/test/data/manifests/centos_9-x86_64-vmdk-boot.json -+++ b/test/data/manifests/centos_9-x86_64-vmdk-boot.json -@@ -4830,6 +4830,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro net.ifnames=0", - "legacy": "i386-pc", - "uefi": { - "vendor": "centos", -diff --git a/test/data/manifests/fedora_36-aarch64-ami-boot.json b/test/data/manifests/fedora_36-aarch64-ami-boot.json -index ffdd97314..b846f1237 100644 ---- a/test/data/manifests/fedora_36-aarch64-ami-boot.json -+++ b/test/data/manifests/fedora_36-aarch64-ami-boot.json -@@ -4860,6 +4860,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0", - "uefi": { - "vendor": "fedora", - "unified": true -diff --git a/test/data/manifests/fedora_36-aarch64-iot_raw_image-boot.json b/test/data/manifests/fedora_36-aarch64-iot_raw_image-boot.json -index 88e5d447d..6b5618f95 100644 ---- a/test/data/manifests/fedora_36-aarch64-iot_raw_image-boot.json -+++ b/test/data/manifests/fedora_36-aarch64-iot_raw_image-boot.json -@@ -2234,7 +2234,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "modprobe.blacklist=vc4,rw", -+ "kernel_opts": "modprobe.blacklist=vc4 rw", - "uefi": { - "vendor": "fedora", - "install": true, -diff --git a/test/data/manifests/fedora_36-aarch64-minimal_raw-boot.json b/test/data/manifests/fedora_36-aarch64-minimal_raw-boot.json -index 430f26396..af7b0a340 100644 ---- a/test/data/manifests/fedora_36-aarch64-minimal_raw-boot.json -+++ b/test/data/manifests/fedora_36-aarch64-minimal_raw-boot.json -@@ -4500,6 +4500,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0", - "uefi": { - "vendor": "fedora", - "unified": true -diff --git a/test/data/manifests/fedora_36-aarch64-oci-boot.json b/test/data/manifests/fedora_36-aarch64-oci-boot.json -index b6b804525..7a1ef3d1b 100644 ---- a/test/data/manifests/fedora_36-aarch64-oci-boot.json -+++ b/test/data/manifests/fedora_36-aarch64-oci-boot.json -@@ -4844,6 +4844,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0", - "uefi": { - "vendor": "fedora", - "unified": true -diff --git a/test/data/manifests/fedora_36-aarch64-openstack-boot.json b/test/data/manifests/fedora_36-aarch64-openstack-boot.json -index 6c9597bb5..a6063828b 100644 ---- a/test/data/manifests/fedora_36-aarch64-openstack-boot.json -+++ b/test/data/manifests/fedora_36-aarch64-openstack-boot.json -@@ -5089,6 +5089,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0", - "uefi": { - "vendor": "fedora", - "unified": true -diff --git a/test/data/manifests/fedora_36-aarch64-qcow2-boot.json b/test/data/manifests/fedora_36-aarch64-qcow2-boot.json -index 111a46c1a..d2281dfc7 100644 ---- a/test/data/manifests/fedora_36-aarch64-qcow2-boot.json -+++ b/test/data/manifests/fedora_36-aarch64-qcow2-boot.json -@@ -4865,6 +4865,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0", - "uefi": { - "vendor": "fedora", - "unified": true -diff --git a/test/data/manifests/fedora_36-aarch64-qcow2_customize-boot.json b/test/data/manifests/fedora_36-aarch64-qcow2_customize-boot.json -index d4c21a775..511a68b70 100644 ---- a/test/data/manifests/fedora_36-aarch64-qcow2_customize-boot.json -+++ b/test/data/manifests/fedora_36-aarch64-qcow2_customize-boot.json -@@ -5328,6 +5328,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0 debug", - "uefi": { - "vendor": "fedora", - "unified": true -diff --git a/test/data/manifests/fedora_36-x86_64-ami-boot.json b/test/data/manifests/fedora_36-x86_64-ami-boot.json -index ee747c8b6..474e457ca 100644 ---- a/test/data/manifests/fedora_36-x86_64-ami-boot.json -+++ b/test/data/manifests/fedora_36-x86_64-ami-boot.json -@@ -4900,6 +4900,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0", - "legacy": "i386-pc", - "saved_entry": "ffffffffffffffffffffffffffffffff-5.18.9-200.fc36.x86_64", - "write_cmdline": false, -diff --git a/test/data/manifests/fedora_36-x86_64-iot_raw_image-boot.json b/test/data/manifests/fedora_36-x86_64-iot_raw_image-boot.json -index 32401a1fc..47e82aece 100644 ---- a/test/data/manifests/fedora_36-x86_64-iot_raw_image-boot.json -+++ b/test/data/manifests/fedora_36-x86_64-iot_raw_image-boot.json -@@ -2242,7 +2242,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "modprobe.blacklist=vc4,rw", -+ "kernel_opts": "modprobe.blacklist=vc4 rw", - "uefi": { - "vendor": "fedora", - "install": true, -diff --git a/test/data/manifests/fedora_36-x86_64-minimal_raw-boot.json b/test/data/manifests/fedora_36-x86_64-minimal_raw-boot.json -index adce6d6f7..b9736dc16 100644 ---- a/test/data/manifests/fedora_36-x86_64-minimal_raw-boot.json -+++ b/test/data/manifests/fedora_36-x86_64-minimal_raw-boot.json -@@ -4540,6 +4540,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0", - "uefi": { - "vendor": "fedora", - "unified": true -diff --git a/test/data/manifests/fedora_36-x86_64-oci-boot.json b/test/data/manifests/fedora_36-x86_64-oci-boot.json -index 46172c123..5033e0503 100644 ---- a/test/data/manifests/fedora_36-x86_64-oci-boot.json -+++ b/test/data/manifests/fedora_36-x86_64-oci-boot.json -@@ -4988,6 +4988,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0", - "legacy": "i386-pc", - "uefi": { - "vendor": "fedora", -diff --git a/test/data/manifests/fedora_36-x86_64-openstack-boot.json b/test/data/manifests/fedora_36-x86_64-openstack-boot.json -index 0b5930cec..ec6fad281 100644 ---- a/test/data/manifests/fedora_36-x86_64-openstack-boot.json -+++ b/test/data/manifests/fedora_36-x86_64-openstack-boot.json -@@ -5169,6 +5169,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0", - "legacy": "i386-pc", - "uefi": { - "vendor": "fedora", -diff --git a/test/data/manifests/fedora_36-x86_64-qcow2-boot.json b/test/data/manifests/fedora_36-x86_64-qcow2-boot.json -index ee610098e..583b35696 100644 ---- a/test/data/manifests/fedora_36-x86_64-qcow2-boot.json -+++ b/test/data/manifests/fedora_36-x86_64-qcow2-boot.json -@@ -5009,6 +5009,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0", - "legacy": "i386-pc", - "uefi": { - "vendor": "fedora", -diff --git a/test/data/manifests/fedora_36-x86_64-qcow2_customize-boot.json b/test/data/manifests/fedora_36-x86_64-qcow2_customize-boot.json -index cad2fe590..00f33acac 100644 ---- a/test/data/manifests/fedora_36-x86_64-qcow2_customize-boot.json -+++ b/test/data/manifests/fedora_36-x86_64-qcow2_customize-boot.json -@@ -5472,6 +5472,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0 debug", - "legacy": "i386-pc", - "uefi": { - "vendor": "fedora", -diff --git a/test/data/manifests/fedora_36-x86_64-vhd-boot.json b/test/data/manifests/fedora_36-x86_64-vhd-boot.json -index d412d4ccd..9d663abf8 100644 ---- a/test/data/manifests/fedora_36-x86_64-vhd-boot.json -+++ b/test/data/manifests/fedora_36-x86_64-vhd-boot.json -@@ -4809,6 +4809,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0", - "legacy": "i386-pc", - "uefi": { - "vendor": "fedora", -diff --git a/test/data/manifests/fedora_36-x86_64-vmdk-boot.json b/test/data/manifests/fedora_36-x86_64-vmdk-boot.json -index b8eff3dfe..cd59a43d0 100644 ---- a/test/data/manifests/fedora_36-x86_64-vmdk-boot.json -+++ b/test/data/manifests/fedora_36-x86_64-vmdk-boot.json -@@ -5009,6 +5009,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0", - "legacy": "i386-pc", - "uefi": { - "vendor": "fedora", -diff --git a/test/data/manifests/fedora_37-aarch64-ami-boot.json b/test/data/manifests/fedora_37-aarch64-ami-boot.json -index d92cff420..515ad2d29 100644 ---- a/test/data/manifests/fedora_37-aarch64-ami-boot.json -+++ b/test/data/manifests/fedora_37-aarch64-ami-boot.json -@@ -4850,6 +4850,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0", - "uefi": { - "vendor": "fedora", - "unified": true -diff --git a/test/data/manifests/fedora_37-aarch64-iot_raw_image-boot.json b/test/data/manifests/fedora_37-aarch64-iot_raw_image-boot.json -index 64c84908f..2e787d907 100644 ---- a/test/data/manifests/fedora_37-aarch64-iot_raw_image-boot.json -+++ b/test/data/manifests/fedora_37-aarch64-iot_raw_image-boot.json -@@ -2250,7 +2250,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "modprobe.blacklist=vc4,rw", -+ "kernel_opts": "modprobe.blacklist=vc4 rw", - "uefi": { - "vendor": "fedora", - "install": true, -diff --git a/test/data/manifests/fedora_37-aarch64-minimal_raw-boot.json b/test/data/manifests/fedora_37-aarch64-minimal_raw-boot.json -index 524a1fc53..c1590b525 100644 ---- a/test/data/manifests/fedora_37-aarch64-minimal_raw-boot.json -+++ b/test/data/manifests/fedora_37-aarch64-minimal_raw-boot.json -@@ -4546,6 +4546,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0", - "uefi": { - "vendor": "fedora", - "unified": true -diff --git a/test/data/manifests/fedora_37-aarch64-oci-boot.json b/test/data/manifests/fedora_37-aarch64-oci-boot.json -index e0b34ae7a..4ccbe3fea 100644 ---- a/test/data/manifests/fedora_37-aarch64-oci-boot.json -+++ b/test/data/manifests/fedora_37-aarch64-oci-boot.json -@@ -4842,6 +4842,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0", - "uefi": { - "vendor": "fedora", - "unified": true -diff --git a/test/data/manifests/fedora_37-aarch64-openstack-boot.json b/test/data/manifests/fedora_37-aarch64-openstack-boot.json -index 9edbfdc4e..61969ee16 100644 ---- a/test/data/manifests/fedora_37-aarch64-openstack-boot.json -+++ b/test/data/manifests/fedora_37-aarch64-openstack-boot.json -@@ -5079,6 +5079,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0", - "uefi": { - "vendor": "fedora", - "unified": true -diff --git a/test/data/manifests/fedora_37-aarch64-qcow2-boot.json b/test/data/manifests/fedora_37-aarch64-qcow2-boot.json -index 58ffe01aa..ef374152d 100644 ---- a/test/data/manifests/fedora_37-aarch64-qcow2-boot.json -+++ b/test/data/manifests/fedora_37-aarch64-qcow2-boot.json -@@ -4863,6 +4863,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0", - "uefi": { - "vendor": "fedora", - "unified": true -diff --git a/test/data/manifests/fedora_37-aarch64-qcow2_customize-boot.json b/test/data/manifests/fedora_37-aarch64-qcow2_customize-boot.json -index 3032425d2..888dc016a 100644 ---- a/test/data/manifests/fedora_37-aarch64-qcow2_customize-boot.json -+++ b/test/data/manifests/fedora_37-aarch64-qcow2_customize-boot.json -@@ -5326,6 +5326,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0 debug", - "uefi": { - "vendor": "fedora", - "unified": true -diff --git a/test/data/manifests/fedora_37-x86_64-ami-boot.json b/test/data/manifests/fedora_37-x86_64-ami-boot.json -index 7a810e219..53e784a22 100644 ---- a/test/data/manifests/fedora_37-x86_64-ami-boot.json -+++ b/test/data/manifests/fedora_37-x86_64-ami-boot.json -@@ -4890,6 +4890,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0", - "legacy": "i386-pc", - "saved_entry": "ffffffffffffffffffffffffffffffff-5.19.15-301.fc37.x86_64", - "write_cmdline": false, -diff --git a/test/data/manifests/fedora_37-x86_64-iot_raw_image-boot.json b/test/data/manifests/fedora_37-x86_64-iot_raw_image-boot.json -index a689f2d6a..76858c746 100644 ---- a/test/data/manifests/fedora_37-x86_64-iot_raw_image-boot.json -+++ b/test/data/manifests/fedora_37-x86_64-iot_raw_image-boot.json -@@ -2258,7 +2258,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "modprobe.blacklist=vc4,rw", -+ "kernel_opts": "modprobe.blacklist=vc4 rw", - "uefi": { - "vendor": "fedora", - "install": true, -diff --git a/test/data/manifests/fedora_37-x86_64-minimal_raw-boot.json b/test/data/manifests/fedora_37-x86_64-minimal_raw-boot.json -index d5a45e853..4beda0035 100644 ---- a/test/data/manifests/fedora_37-x86_64-minimal_raw-boot.json -+++ b/test/data/manifests/fedora_37-x86_64-minimal_raw-boot.json -@@ -4586,6 +4586,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0", - "uefi": { - "vendor": "fedora", - "unified": true -diff --git a/test/data/manifests/fedora_37-x86_64-oci-boot.json b/test/data/manifests/fedora_37-x86_64-oci-boot.json -index 4def29d5d..24534b278 100644 ---- a/test/data/manifests/fedora_37-x86_64-oci-boot.json -+++ b/test/data/manifests/fedora_37-x86_64-oci-boot.json -@@ -4954,6 +4954,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0", - "legacy": "i386-pc", - "uefi": { - "vendor": "fedora", -diff --git a/test/data/manifests/fedora_37-x86_64-openstack-boot.json b/test/data/manifests/fedora_37-x86_64-openstack-boot.json -index dea21994d..b3a3200ce 100644 ---- a/test/data/manifests/fedora_37-x86_64-openstack-boot.json -+++ b/test/data/manifests/fedora_37-x86_64-openstack-boot.json -@@ -5159,6 +5159,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0", - "legacy": "i386-pc", - "uefi": { - "vendor": "fedora", -diff --git a/test/data/manifests/fedora_37-x86_64-qcow2-boot.json b/test/data/manifests/fedora_37-x86_64-qcow2-boot.json -index ff232b578..1591e43fb 100644 ---- a/test/data/manifests/fedora_37-x86_64-qcow2-boot.json -+++ b/test/data/manifests/fedora_37-x86_64-qcow2-boot.json -@@ -4975,6 +4975,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0", - "legacy": "i386-pc", - "uefi": { - "vendor": "fedora", -diff --git a/test/data/manifests/fedora_37-x86_64-qcow2_customize-boot.json b/test/data/manifests/fedora_37-x86_64-qcow2_customize-boot.json -index 048ed892e..c93c2de74 100644 ---- a/test/data/manifests/fedora_37-x86_64-qcow2_customize-boot.json -+++ b/test/data/manifests/fedora_37-x86_64-qcow2_customize-boot.json -@@ -5438,6 +5438,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0 debug", - "legacy": "i386-pc", - "uefi": { - "vendor": "fedora", -diff --git a/test/data/manifests/fedora_37-x86_64-vhd-boot.json b/test/data/manifests/fedora_37-x86_64-vhd-boot.json -index 34adf5df9..10a94b6bb 100644 ---- a/test/data/manifests/fedora_37-x86_64-vhd-boot.json -+++ b/test/data/manifests/fedora_37-x86_64-vhd-boot.json -@@ -4855,6 +4855,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0", - "legacy": "i386-pc", - "uefi": { - "vendor": "fedora", -diff --git a/test/data/manifests/fedora_37-x86_64-vmdk-boot.json b/test/data/manifests/fedora_37-x86_64-vmdk-boot.json -index f6fced247..6827a7c87 100644 ---- a/test/data/manifests/fedora_37-x86_64-vmdk-boot.json -+++ b/test/data/manifests/fedora_37-x86_64-vmdk-boot.json -@@ -4975,6 +4975,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0", - "legacy": "i386-pc", - "uefi": { - "vendor": "fedora", -diff --git a/test/data/manifests/fedora_38-aarch64-ami-boot.json b/test/data/manifests/fedora_38-aarch64-ami-boot.json -index ace8ca0b2..184cfa2e5 100644 ---- a/test/data/manifests/fedora_38-aarch64-ami-boot.json -+++ b/test/data/manifests/fedora_38-aarch64-ami-boot.json -@@ -4858,6 +4858,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0", - "uefi": { - "vendor": "fedora", - "unified": true -diff --git a/test/data/manifests/fedora_38-aarch64-iot_raw_image-boot.json b/test/data/manifests/fedora_38-aarch64-iot_raw_image-boot.json -index e8e8ab237..f2bca6901 100644 ---- a/test/data/manifests/fedora_38-aarch64-iot_raw_image-boot.json -+++ b/test/data/manifests/fedora_38-aarch64-iot_raw_image-boot.json -@@ -2065,7 +2065,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "modprobe.blacklist=vc4,rw", -+ "kernel_opts": "modprobe.blacklist=vc4 rw", - "uefi": { - "vendor": "fedora", - "install": true, -diff --git a/test/data/manifests/fedora_38-aarch64-minimal_raw-boot.json b/test/data/manifests/fedora_38-aarch64-minimal_raw-boot.json -index c707c5fac..bc55dd531 100644 ---- a/test/data/manifests/fedora_38-aarch64-minimal_raw-boot.json -+++ b/test/data/manifests/fedora_38-aarch64-minimal_raw-boot.json -@@ -4554,6 +4554,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0", - "uefi": { - "vendor": "fedora", - "unified": true -diff --git a/test/data/manifests/fedora_38-aarch64-oci-boot.json b/test/data/manifests/fedora_38-aarch64-oci-boot.json -index 8315551b5..349a040d2 100644 ---- a/test/data/manifests/fedora_38-aarch64-oci-boot.json -+++ b/test/data/manifests/fedora_38-aarch64-oci-boot.json -@@ -4850,6 +4850,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0", - "uefi": { - "vendor": "fedora", - "unified": true -diff --git a/test/data/manifests/fedora_38-aarch64-openstack-boot.json b/test/data/manifests/fedora_38-aarch64-openstack-boot.json -index c023f0d22..498e6ced0 100644 ---- a/test/data/manifests/fedora_38-aarch64-openstack-boot.json -+++ b/test/data/manifests/fedora_38-aarch64-openstack-boot.json -@@ -5087,6 +5087,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0", - "uefi": { - "vendor": "fedora", - "unified": true -diff --git a/test/data/manifests/fedora_38-aarch64-qcow2-boot.json b/test/data/manifests/fedora_38-aarch64-qcow2-boot.json -index 6d325625d..09b751ece 100644 ---- a/test/data/manifests/fedora_38-aarch64-qcow2-boot.json -+++ b/test/data/manifests/fedora_38-aarch64-qcow2-boot.json -@@ -4871,6 +4871,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0", - "uefi": { - "vendor": "fedora", - "unified": true -diff --git a/test/data/manifests/fedora_38-aarch64-qcow2_customize-boot.json b/test/data/manifests/fedora_38-aarch64-qcow2_customize-boot.json -index a7f2a2343..078e438c9 100644 ---- a/test/data/manifests/fedora_38-aarch64-qcow2_customize-boot.json -+++ b/test/data/manifests/fedora_38-aarch64-qcow2_customize-boot.json -@@ -5334,6 +5334,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0 debug", - "uefi": { - "vendor": "fedora", - "unified": true -diff --git a/test/data/manifests/fedora_38-x86_64-ami-boot.json b/test/data/manifests/fedora_38-x86_64-ami-boot.json -index bf3246f2c..4a4a93056 100644 ---- a/test/data/manifests/fedora_38-x86_64-ami-boot.json -+++ b/test/data/manifests/fedora_38-x86_64-ami-boot.json -@@ -4890,6 +4890,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0", - "legacy": "i386-pc", - "saved_entry": "ffffffffffffffffffffffffffffffff-6.1.0-0.rc2.21.fc38.x86_64", - "write_cmdline": false, -diff --git a/test/data/manifests/fedora_38-x86_64-iot_raw_image-boot.json b/test/data/manifests/fedora_38-x86_64-iot_raw_image-boot.json -index fec03577f..a710c3ff2 100644 ---- a/test/data/manifests/fedora_38-x86_64-iot_raw_image-boot.json -+++ b/test/data/manifests/fedora_38-x86_64-iot_raw_image-boot.json -@@ -2065,7 +2065,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "modprobe.blacklist=vc4,rw", -+ "kernel_opts": "modprobe.blacklist=vc4 rw", - "uefi": { - "vendor": "fedora", - "install": true, -diff --git a/test/data/manifests/fedora_38-x86_64-minimal_raw-boot.json b/test/data/manifests/fedora_38-x86_64-minimal_raw-boot.json -index 5044fe958..dd0cf4f2a 100644 ---- a/test/data/manifests/fedora_38-x86_64-minimal_raw-boot.json -+++ b/test/data/manifests/fedora_38-x86_64-minimal_raw-boot.json -@@ -4586,6 +4586,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0", - "uefi": { - "vendor": "fedora", - "unified": true -diff --git a/test/data/manifests/fedora_38-x86_64-oci-boot.json b/test/data/manifests/fedora_38-x86_64-oci-boot.json -index 9991cd84d..6c53a5971 100644 ---- a/test/data/manifests/fedora_38-x86_64-oci-boot.json -+++ b/test/data/manifests/fedora_38-x86_64-oci-boot.json -@@ -4954,6 +4954,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0", - "legacy": "i386-pc", - "uefi": { - "vendor": "fedora", -diff --git a/test/data/manifests/fedora_38-x86_64-openstack-boot.json b/test/data/manifests/fedora_38-x86_64-openstack-boot.json -index 7a91cd0a9..d31c67ef0 100644 ---- a/test/data/manifests/fedora_38-x86_64-openstack-boot.json -+++ b/test/data/manifests/fedora_38-x86_64-openstack-boot.json -@@ -5159,6 +5159,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0", - "legacy": "i386-pc", - "uefi": { - "vendor": "fedora", -diff --git a/test/data/manifests/fedora_38-x86_64-qcow2-boot.json b/test/data/manifests/fedora_38-x86_64-qcow2-boot.json -index a39aa9a10..038bd7200 100644 ---- a/test/data/manifests/fedora_38-x86_64-qcow2-boot.json -+++ b/test/data/manifests/fedora_38-x86_64-qcow2-boot.json -@@ -4975,6 +4975,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0", - "legacy": "i386-pc", - "uefi": { - "vendor": "fedora", -diff --git a/test/data/manifests/fedora_38-x86_64-qcow2_customize-boot.json b/test/data/manifests/fedora_38-x86_64-qcow2_customize-boot.json -index 127957b62..f15358200 100644 ---- a/test/data/manifests/fedora_38-x86_64-qcow2_customize-boot.json -+++ b/test/data/manifests/fedora_38-x86_64-qcow2_customize-boot.json -@@ -5438,6 +5438,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0 debug", - "legacy": "i386-pc", - "uefi": { - "vendor": "fedora", -diff --git a/test/data/manifests/fedora_38-x86_64-vhd-boot.json b/test/data/manifests/fedora_38-x86_64-vhd-boot.json -index 1e0832763..5819957c5 100644 ---- a/test/data/manifests/fedora_38-x86_64-vhd-boot.json -+++ b/test/data/manifests/fedora_38-x86_64-vhd-boot.json -@@ -4855,6 +4855,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0", - "legacy": "i386-pc", - "uefi": { - "vendor": "fedora", -diff --git a/test/data/manifests/fedora_38-x86_64-vmdk-boot.json b/test/data/manifests/fedora_38-x86_64-vmdk-boot.json -index 81c68a15f..411e6f7af 100644 ---- a/test/data/manifests/fedora_38-x86_64-vmdk-boot.json -+++ b/test/data/manifests/fedora_38-x86_64-vmdk-boot.json -@@ -4975,6 +4975,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro no_timer_check console=ttyS0,115200n8 biosdevname=0 net.ifnames=0", - "legacy": "i386-pc", - "uefi": { - "vendor": "fedora", -diff --git a/test/data/manifests/rhel_8-aarch64-edge_raw_image-boot.json b/test/data/manifests/rhel_8-aarch64-edge_raw_image-boot.json -index b28f4c370..2898d19c3 100644 ---- a/test/data/manifests/rhel_8-aarch64-edge_raw_image-boot.json -+++ b/test/data/manifests/rhel_8-aarch64-edge_raw_image-boot.json -@@ -1014,7 +1014,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75,modprobe.blacklist=vc4", -+ "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75 modprobe.blacklist=vc4", - "uefi": { - "vendor": "redhat", - "install": true, -diff --git a/test/data/manifests/rhel_8-aarch64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_8-aarch64-edge_simplified_installer-boot.json -index fd39d5fcc..63a5cbe3a 100644 ---- a/test/data/manifests/rhel_8-aarch64-edge_simplified_installer-boot.json -+++ b/test/data/manifests/rhel_8-aarch64-edge_simplified_installer-boot.json -@@ -1151,7 +1151,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75,modprobe.blacklist=vc4", -+ "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75 modprobe.blacklist=vc4", - "uefi": { - "vendor": "redhat", - "install": true, -diff --git a/test/data/manifests/rhel_8-x86_64-edge_raw_image-boot.json b/test/data/manifests/rhel_8-x86_64-edge_raw_image-boot.json -index 9c6247268..7199b7729 100644 ---- a/test/data/manifests/rhel_8-x86_64-edge_raw_image-boot.json -+++ b/test/data/manifests/rhel_8-x86_64-edge_raw_image-boot.json -@@ -1056,7 +1056,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75,modprobe.blacklist=vc4", -+ "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75 modprobe.blacklist=vc4", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_8-x86_64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_8-x86_64-edge_simplified_installer-boot.json -index 003156dfd..fea9c2756 100644 ---- a/test/data/manifests/rhel_8-x86_64-edge_simplified_installer-boot.json -+++ b/test/data/manifests/rhel_8-x86_64-edge_simplified_installer-boot.json -@@ -1169,7 +1169,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75,modprobe.blacklist=vc4", -+ "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75 modprobe.blacklist=vc4", - "uefi": { - "vendor": "redhat", - "install": true, -diff --git a/test/data/manifests/rhel_86-aarch64-edge_raw_image-boot.json b/test/data/manifests/rhel_86-aarch64-edge_raw_image-boot.json -index 1ac4cbca4..315a22712 100644 ---- a/test/data/manifests/rhel_86-aarch64-edge_raw_image-boot.json -+++ b/test/data/manifests/rhel_86-aarch64-edge_raw_image-boot.json -@@ -1014,7 +1014,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75,modprobe.blacklist=vc4", -+ "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75 modprobe.blacklist=vc4", - "uefi": { - "vendor": "redhat", - "install": true, -diff --git a/test/data/manifests/rhel_86-aarch64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_86-aarch64-edge_simplified_installer-boot.json -index fec2fb986..89207defa 100644 ---- a/test/data/manifests/rhel_86-aarch64-edge_simplified_installer-boot.json -+++ b/test/data/manifests/rhel_86-aarch64-edge_simplified_installer-boot.json -@@ -1154,7 +1154,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75,modprobe.blacklist=vc4", -+ "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75 modprobe.blacklist=vc4", - "uefi": { - "vendor": "redhat", - "install": true, -diff --git a/test/data/manifests/rhel_86-x86_64-edge_raw_image-boot.json b/test/data/manifests/rhel_86-x86_64-edge_raw_image-boot.json -index f3e7a7688..71a23e36a 100644 ---- a/test/data/manifests/rhel_86-x86_64-edge_raw_image-boot.json -+++ b/test/data/manifests/rhel_86-x86_64-edge_raw_image-boot.json -@@ -1056,7 +1056,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75,modprobe.blacklist=vc4", -+ "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75 modprobe.blacklist=vc4", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_86-x86_64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_86-x86_64-edge_simplified_installer-boot.json -index dd58c65c1..20ce30d7c 100644 ---- a/test/data/manifests/rhel_86-x86_64-edge_simplified_installer-boot.json -+++ b/test/data/manifests/rhel_86-x86_64-edge_simplified_installer-boot.json -@@ -1172,7 +1172,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75,modprobe.blacklist=vc4", -+ "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75 modprobe.blacklist=vc4", - "uefi": { - "vendor": "redhat", - "install": true, -diff --git a/test/data/manifests/rhel_87-aarch64-edge_raw_image-boot.json b/test/data/manifests/rhel_87-aarch64-edge_raw_image-boot.json -index a08243600..fe0d0f623 100644 ---- a/test/data/manifests/rhel_87-aarch64-edge_raw_image-boot.json -+++ b/test/data/manifests/rhel_87-aarch64-edge_raw_image-boot.json -@@ -1014,7 +1014,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75,modprobe.blacklist=vc4", -+ "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75 modprobe.blacklist=vc4", - "uefi": { - "vendor": "redhat", - "install": true, -diff --git a/test/data/manifests/rhel_87-aarch64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_87-aarch64-edge_simplified_installer-boot.json -index 1dc34ad7f..ecd995d10 100644 ---- a/test/data/manifests/rhel_87-aarch64-edge_simplified_installer-boot.json -+++ b/test/data/manifests/rhel_87-aarch64-edge_simplified_installer-boot.json -@@ -1151,7 +1151,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75,modprobe.blacklist=vc4", -+ "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75 modprobe.blacklist=vc4", - "uefi": { - "vendor": "redhat", - "install": true, -diff --git a/test/data/manifests/rhel_87-x86_64-edge_raw_image-boot.json b/test/data/manifests/rhel_87-x86_64-edge_raw_image-boot.json -index 6e7f0b973..46f364551 100644 ---- a/test/data/manifests/rhel_87-x86_64-edge_raw_image-boot.json -+++ b/test/data/manifests/rhel_87-x86_64-edge_raw_image-boot.json -@@ -1056,7 +1056,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75,modprobe.blacklist=vc4", -+ "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75 modprobe.blacklist=vc4", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_87-x86_64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_87-x86_64-edge_simplified_installer-boot.json -index aad826735..728292143 100644 ---- a/test/data/manifests/rhel_87-x86_64-edge_simplified_installer-boot.json -+++ b/test/data/manifests/rhel_87-x86_64-edge_simplified_installer-boot.json -@@ -1169,7 +1169,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75,modprobe.blacklist=vc4", -+ "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75 modprobe.blacklist=vc4", - "uefi": { - "vendor": "redhat", - "install": true, -diff --git a/test/data/manifests/rhel_88-aarch64-edge_raw_image-boot.json b/test/data/manifests/rhel_88-aarch64-edge_raw_image-boot.json -index 3fc775f64..8e8a84176 100644 ---- a/test/data/manifests/rhel_88-aarch64-edge_raw_image-boot.json -+++ b/test/data/manifests/rhel_88-aarch64-edge_raw_image-boot.json -@@ -1014,7 +1014,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75,modprobe.blacklist=vc4", -+ "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75 modprobe.blacklist=vc4", - "uefi": { - "vendor": "redhat", - "install": true, -diff --git a/test/data/manifests/rhel_88-aarch64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_88-aarch64-edge_simplified_installer-boot.json -index 8e3749273..a417ce45e 100644 ---- a/test/data/manifests/rhel_88-aarch64-edge_simplified_installer-boot.json -+++ b/test/data/manifests/rhel_88-aarch64-edge_simplified_installer-boot.json -@@ -1151,7 +1151,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75,modprobe.blacklist=vc4", -+ "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75 modprobe.blacklist=vc4", - "uefi": { - "vendor": "redhat", - "install": true, -diff --git a/test/data/manifests/rhel_88-x86_64-edge_raw_image-boot.json b/test/data/manifests/rhel_88-x86_64-edge_raw_image-boot.json -index 6d87ddb8b..b9a9fbfe9 100644 ---- a/test/data/manifests/rhel_88-x86_64-edge_raw_image-boot.json -+++ b/test/data/manifests/rhel_88-x86_64-edge_raw_image-boot.json -@@ -1056,7 +1056,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75,modprobe.blacklist=vc4", -+ "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75 modprobe.blacklist=vc4", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_88-x86_64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_88-x86_64-edge_simplified_installer-boot.json -index 238e80a06..7635c6385 100644 ---- a/test/data/manifests/rhel_88-x86_64-edge_simplified_installer-boot.json -+++ b/test/data/manifests/rhel_88-x86_64-edge_simplified_installer-boot.json -@@ -1169,7 +1169,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75,modprobe.blacklist=vc4", -+ "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75 modprobe.blacklist=vc4", - "uefi": { - "vendor": "redhat", - "install": true, -diff --git a/test/data/manifests/rhel_9-aarch64-ami-boot.json b/test/data/manifests/rhel_9-aarch64-ami-boot.json -index 0b0a5dc4d..786c70656 100644 ---- a/test/data/manifests/rhel_9-aarch64-ami-boot.json -+++ b/test/data/manifests/rhel_9-aarch64-ami-boot.json -@@ -4583,6 +4583,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=ttyS0,115200n8 console=tty0 net.ifnames=0 rd.blacklist=nouveau nvme_core.io_timeout=4294967295 iommu.strict=0", - "uefi": { - "vendor": "redhat", - "unified": true -diff --git a/test/data/manifests/rhel_9-aarch64-azure_rhui-boot.json b/test/data/manifests/rhel_9-aarch64-azure_rhui-boot.json -index 8864a8d68..0c080e789 100644 ---- a/test/data/manifests/rhel_9-aarch64-azure_rhui-boot.json -+++ b/test/data/manifests/rhel_9-aarch64-azure_rhui-boot.json -@@ -6337,6 +6337,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro console=tty1 console=ttyS0 earlyprintk=ttyS0 rootdelay=300", - "uefi": { - "vendor": "redhat", - "unified": true -diff --git a/test/data/manifests/rhel_9-aarch64-ec2-boot.json b/test/data/manifests/rhel_9-aarch64-ec2-boot.json -index 37b27fa31..6b09a267f 100644 ---- a/test/data/manifests/rhel_9-aarch64-ec2-boot.json -+++ b/test/data/manifests/rhel_9-aarch64-ec2-boot.json -@@ -4616,6 +4616,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=ttyS0,115200n8 console=tty0 net.ifnames=0 rd.blacklist=nouveau nvme_core.io_timeout=4294967295 iommu.strict=0", - "uefi": { - "vendor": "redhat", - "unified": true -diff --git a/test/data/manifests/rhel_9-aarch64-edge_raw_image-boot.json b/test/data/manifests/rhel_9-aarch64-edge_raw_image-boot.json -index f685f6fdd..aa008fe6c 100644 ---- a/test/data/manifests/rhel_9-aarch64-edge_raw_image-boot.json -+++ b/test/data/manifests/rhel_9-aarch64-edge_raw_image-boot.json -@@ -2388,7 +2388,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75,modprobe.blacklist=vc4", -+ "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75 modprobe.blacklist=vc4", - "uefi": { - "vendor": "redhat", - "install": true, -diff --git a/test/data/manifests/rhel_9-aarch64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_9-aarch64-edge_simplified_installer-boot.json -index c9d3b40ed..f98b7b296 100644 ---- a/test/data/manifests/rhel_9-aarch64-edge_simplified_installer-boot.json -+++ b/test/data/manifests/rhel_9-aarch64-edge_simplified_installer-boot.json -@@ -2772,7 +2772,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75,modprobe.blacklist=vc4", -+ "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75 modprobe.blacklist=vc4", - "uefi": { - "vendor": "redhat", - "install": true, -diff --git a/test/data/manifests/rhel_9-aarch64-openstack-boot.json b/test/data/manifests/rhel_9-aarch64-openstack-boot.json -index fb5678905..96cf5f2aa 100644 ---- a/test/data/manifests/rhel_9-aarch64-openstack-boot.json -+++ b/test/data/manifests/rhel_9-aarch64-openstack-boot.json -@@ -4558,6 +4558,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro net.ifnames=0", - "uefi": { - "vendor": "redhat", - "unified": true -diff --git a/test/data/manifests/rhel_9-aarch64-qcow2-boot.json b/test/data/manifests/rhel_9-aarch64-qcow2-boot.json -index 17dd2fa76..7b470c945 100644 ---- a/test/data/manifests/rhel_9-aarch64-qcow2-boot.json -+++ b/test/data/manifests/rhel_9-aarch64-qcow2-boot.json -@@ -4699,6 +4699,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=tty0 console=ttyS0,115200n8 no_timer_check net.ifnames=0", - "uefi": { - "vendor": "redhat", - "unified": true -diff --git a/test/data/manifests/rhel_9-aarch64-qcow2_customize-boot.json b/test/data/manifests/rhel_9-aarch64-qcow2_customize-boot.json -index 46c277281..0f6a4b874 100644 ---- a/test/data/manifests/rhel_9-aarch64-qcow2_customize-boot.json -+++ b/test/data/manifests/rhel_9-aarch64-qcow2_customize-boot.json -@@ -5056,6 +5056,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=tty0 console=ttyS0,115200n8 no_timer_check net.ifnames=0 debug", - "uefi": { - "vendor": "redhat", - "unified": true -diff --git a/test/data/manifests/rhel_9-aarch64-vhd-boot.json b/test/data/manifests/rhel_9-aarch64-vhd-boot.json -index 45aa46d21..948723cc2 100644 ---- a/test/data/manifests/rhel_9-aarch64-vhd-boot.json -+++ b/test/data/manifests/rhel_9-aarch64-vhd-boot.json -@@ -6256,6 +6256,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro console=tty1 console=ttyS0 earlyprintk=ttyS0 rootdelay=300", - "uefi": { - "vendor": "redhat", - "unified": true -diff --git a/test/data/manifests/rhel_9-ppc64le-qcow2-boot.json b/test/data/manifests/rhel_9-ppc64le-qcow2-boot.json -index 528289742..145321f68 100644 ---- a/test/data/manifests/rhel_9-ppc64le-qcow2-boot.json -+++ b/test/data/manifests/rhel_9-ppc64le-qcow2-boot.json -@@ -5316,6 +5316,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=tty0 console=ttyS0,115200n8 no_timer_check net.ifnames=0", - "legacy": "powerpc-ieee1275", - "saved_entry": "ffffffffffffffffffffffffffffffff-5.14.0-162.6.1.el9_1.ppc64le", - "write_cmdline": false, -diff --git a/test/data/manifests/rhel_9-ppc64le-qcow2_customize-boot.json b/test/data/manifests/rhel_9-ppc64le-qcow2_customize-boot.json -index 3d423ce25..416dea432 100644 ---- a/test/data/manifests/rhel_9-ppc64le-qcow2_customize-boot.json -+++ b/test/data/manifests/rhel_9-ppc64le-qcow2_customize-boot.json -@@ -5657,6 +5657,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=tty0 console=ttyS0,115200n8 no_timer_check net.ifnames=0 debug", - "legacy": "powerpc-ieee1275", - "saved_entry": "ffffffffffffffffffffffffffffffff-5.14.0-162.6.1.el9_1.ppc64le", - "write_cmdline": false, -diff --git a/test/data/manifests/rhel_9-x86_64-ami-boot.json b/test/data/manifests/rhel_9-x86_64-ami-boot.json -index 4fb64eaf3..9f10919c3 100644 ---- a/test/data/manifests/rhel_9-x86_64-ami-boot.json -+++ b/test/data/manifests/rhel_9-x86_64-ami-boot.json -@@ -4547,6 +4547,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=ttyS0,115200n8 console=tty0 net.ifnames=0 rd.blacklist=nouveau nvme_core.io_timeout=4294967295", - "legacy": "i386-pc", - "saved_entry": "ffffffffffffffffffffffffffffffff-5.14.0-162.6.1.el9_1.x86_64", - "write_cmdline": false, -diff --git a/test/data/manifests/rhel_9-x86_64-azure_rhui-boot.json b/test/data/manifests/rhel_9-x86_64-azure_rhui-boot.json -index 392c0d1fb..093a7aac4 100644 ---- a/test/data/manifests/rhel_9-x86_64-azure_rhui-boot.json -+++ b/test/data/manifests/rhel_9-x86_64-azure_rhui-boot.json -@@ -6617,6 +6617,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro console=tty1 console=ttyS0 earlyprintk=ttyS0 rootdelay=300", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_9-x86_64-ec2-boot.json b/test/data/manifests/rhel_9-x86_64-ec2-boot.json -index 75d758394..b09ea4e15 100644 ---- a/test/data/manifests/rhel_9-x86_64-ec2-boot.json -+++ b/test/data/manifests/rhel_9-x86_64-ec2-boot.json -@@ -4582,6 +4582,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=ttyS0,115200n8 console=tty0 net.ifnames=0 rd.blacklist=nouveau nvme_core.io_timeout=4294967295", - "legacy": "i386-pc", - "saved_entry": "ffffffffffffffffffffffffffffffff-5.14.0-162.6.1.el9_1.x86_64", - "write_cmdline": false, -diff --git a/test/data/manifests/rhel_9-x86_64-ec2_ha-boot.json b/test/data/manifests/rhel_9-x86_64-ec2_ha-boot.json -index 9a74c230d..638117d11 100644 ---- a/test/data/manifests/rhel_9-x86_64-ec2_ha-boot.json -+++ b/test/data/manifests/rhel_9-x86_64-ec2_ha-boot.json -@@ -6026,6 +6026,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=ttyS0,115200n8 console=tty0 net.ifnames=0 rd.blacklist=nouveau nvme_core.io_timeout=4294967295", - "legacy": "i386-pc", - "saved_entry": "ffffffffffffffffffffffffffffffff-5.14.0-162.6.1.el9_1.x86_64", - "write_cmdline": false, -diff --git a/test/data/manifests/rhel_9-x86_64-ec2_sap-boot.json b/test/data/manifests/rhel_9-x86_64-ec2_sap-boot.json -index 79fec17e3..1fae9beb7 100644 ---- a/test/data/manifests/rhel_9-x86_64-ec2_sap-boot.json -+++ b/test/data/manifests/rhel_9-x86_64-ec2_sap-boot.json -@@ -8581,6 +8581,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=ttyS0,115200n8 console=tty0 net.ifnames=0 rd.blacklist=nouveau nvme_core.io_timeout=4294967295 processor.max_cstate=1 intel_idle.max_cstate=1", - "legacy": "i386-pc", - "saved_entry": "ffffffffffffffffffffffffffffffff-5.14.0-162.6.1.el9_1.x86_64", - "write_cmdline": false, -diff --git a/test/data/manifests/rhel_9-x86_64-edge_raw_image-boot.json b/test/data/manifests/rhel_9-x86_64-edge_raw_image-boot.json -index 7a7cd90ff..9c23f4bc0 100644 ---- a/test/data/manifests/rhel_9-x86_64-edge_raw_image-boot.json -+++ b/test/data/manifests/rhel_9-x86_64-edge_raw_image-boot.json -@@ -2508,7 +2508,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75,modprobe.blacklist=vc4", -+ "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75 modprobe.blacklist=vc4", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_9-x86_64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_9-x86_64-edge_simplified_installer-boot.json -index 1b0ea9073..ef91594a5 100644 ---- a/test/data/manifests/rhel_9-x86_64-edge_simplified_installer-boot.json -+++ b/test/data/manifests/rhel_9-x86_64-edge_simplified_installer-boot.json -@@ -2820,7 +2820,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75,modprobe.blacklist=vc4", -+ "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75 modprobe.blacklist=vc4", - "uefi": { - "vendor": "redhat", - "install": true, -diff --git a/test/data/manifests/rhel_9-x86_64-gce-boot.json b/test/data/manifests/rhel_9-x86_64-gce-boot.json -index 8812df796..fdcda184b 100644 ---- a/test/data/manifests/rhel_9-x86_64-gce-boot.json -+++ b/test/data/manifests/rhel_9-x86_64-gce-boot.json -@@ -4807,6 +4807,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "net.ifnames=0 biosdevname=0 scsi_mod.use_blk_mq=Y console=ttyS0,38400n8d", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_9-x86_64-gce_rhui-boot.json b/test/data/manifests/rhel_9-x86_64-gce_rhui-boot.json -index 3bb3ee4e6..676931e56 100644 ---- a/test/data/manifests/rhel_9-x86_64-gce_rhui-boot.json -+++ b/test/data/manifests/rhel_9-x86_64-gce_rhui-boot.json -@@ -4813,6 +4813,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "net.ifnames=0 biosdevname=0 scsi_mod.use_blk_mq=Y console=ttyS0,38400n8d", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_9-x86_64-oci-boot.json b/test/data/manifests/rhel_9-x86_64-oci-boot.json -index b1fc02d8c..9798c8ae7 100644 ---- a/test/data/manifests/rhel_9-x86_64-oci-boot.json -+++ b/test/data/manifests/rhel_9-x86_64-oci-boot.json -@@ -4934,6 +4934,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=tty0 console=ttyS0,115200n8 no_timer_check net.ifnames=0", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_9-x86_64-openstack-boot.json b/test/data/manifests/rhel_9-x86_64-openstack-boot.json -index 2681a7573..fe1dce67d 100644 ---- a/test/data/manifests/rhel_9-x86_64-openstack-boot.json -+++ b/test/data/manifests/rhel_9-x86_64-openstack-boot.json -@@ -4918,6 +4918,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro net.ifnames=0", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_9-x86_64-qcow2-boot.json b/test/data/manifests/rhel_9-x86_64-qcow2-boot.json -index 8f97309e9..5b54d8084 100644 ---- a/test/data/manifests/rhel_9-x86_64-qcow2-boot.json -+++ b/test/data/manifests/rhel_9-x86_64-qcow2-boot.json -@@ -4955,6 +4955,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=tty0 console=ttyS0,115200n8 no_timer_check net.ifnames=0", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_9-x86_64-qcow2_customize-boot.json b/test/data/manifests/rhel_9-x86_64-qcow2_customize-boot.json -index 3a75f22c7..806891283 100644 ---- a/test/data/manifests/rhel_9-x86_64-qcow2_customize-boot.json -+++ b/test/data/manifests/rhel_9-x86_64-qcow2_customize-boot.json -@@ -5392,6 +5392,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=tty0 console=ttyS0,115200n8 no_timer_check net.ifnames=0 debug", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_9-x86_64-vhd-boot.json b/test/data/manifests/rhel_9-x86_64-vhd-boot.json -index 00295989d..f08280821 100644 ---- a/test/data/manifests/rhel_9-x86_64-vhd-boot.json -+++ b/test/data/manifests/rhel_9-x86_64-vhd-boot.json -@@ -6552,6 +6552,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro console=tty1 console=ttyS0 earlyprintk=ttyS0 rootdelay=300", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_9-x86_64-vmdk-boot.json b/test/data/manifests/rhel_9-x86_64-vmdk-boot.json -index f83062f85..fce8f9181 100644 ---- a/test/data/manifests/rhel_9-x86_64-vmdk-boot.json -+++ b/test/data/manifests/rhel_9-x86_64-vmdk-boot.json -@@ -4918,6 +4918,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro net.ifnames=0", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_90-aarch64-ami-boot.json b/test/data/manifests/rhel_90-aarch64-ami-boot.json -index c0f46b674..feecc6ab1 100644 ---- a/test/data/manifests/rhel_90-aarch64-ami-boot.json -+++ b/test/data/manifests/rhel_90-aarch64-ami-boot.json -@@ -1888,6 +1888,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=ttyS0,115200n8 console=tty0 net.ifnames=0 rd.blacklist=nouveau nvme_core.io_timeout=4294967295 iommu.strict=0", - "uefi": { - "vendor": "redhat", - "unified": true -diff --git a/test/data/manifests/rhel_90-aarch64-azure_rhui-boot.json b/test/data/manifests/rhel_90-aarch64-azure_rhui-boot.json -index 358b5f207..a7ed61be4 100644 ---- a/test/data/manifests/rhel_90-aarch64-azure_rhui-boot.json -+++ b/test/data/manifests/rhel_90-aarch64-azure_rhui-boot.json -@@ -2575,6 +2575,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro console=tty1 console=ttyS0 earlyprintk=ttyS0 rootdelay=300", - "uefi": { - "vendor": "redhat", - "unified": true -diff --git a/test/data/manifests/rhel_90-aarch64-ec2-boot.json b/test/data/manifests/rhel_90-aarch64-ec2-boot.json -index f0f8f057c..ee714cc22 100644 ---- a/test/data/manifests/rhel_90-aarch64-ec2-boot.json -+++ b/test/data/manifests/rhel_90-aarch64-ec2-boot.json -@@ -1907,6 +1907,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=ttyS0,115200n8 console=tty0 net.ifnames=0 rd.blacklist=nouveau nvme_core.io_timeout=4294967295 iommu.strict=0", - "uefi": { - "vendor": "redhat", - "unified": true -diff --git a/test/data/manifests/rhel_90-aarch64-edge_raw_image-boot.json b/test/data/manifests/rhel_90-aarch64-edge_raw_image-boot.json -index 22ac86d95..f4ab998e3 100644 ---- a/test/data/manifests/rhel_90-aarch64-edge_raw_image-boot.json -+++ b/test/data/manifests/rhel_90-aarch64-edge_raw_image-boot.json -@@ -993,7 +993,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75,modprobe.blacklist=vc4", -+ "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75 modprobe.blacklist=vc4", - "uefi": { - "vendor": "redhat", - "install": true, -diff --git a/test/data/manifests/rhel_90-aarch64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_90-aarch64-edge_simplified_installer-boot.json -index 36fc60626..3efc462da 100644 ---- a/test/data/manifests/rhel_90-aarch64-edge_simplified_installer-boot.json -+++ b/test/data/manifests/rhel_90-aarch64-edge_simplified_installer-boot.json -@@ -1142,7 +1142,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75,modprobe.blacklist=vc4", -+ "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75 modprobe.blacklist=vc4", - "uefi": { - "vendor": "redhat", - "install": true, -diff --git a/test/data/manifests/rhel_90-aarch64-openstack-boot.json b/test/data/manifests/rhel_90-aarch64-openstack-boot.json -index 8895d7854..19832c91a 100644 ---- a/test/data/manifests/rhel_90-aarch64-openstack-boot.json -+++ b/test/data/manifests/rhel_90-aarch64-openstack-boot.json -@@ -1808,6 +1808,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro net.ifnames=0", - "uefi": { - "vendor": "redhat", - "unified": true -diff --git a/test/data/manifests/rhel_90-aarch64-qcow2-boot.json b/test/data/manifests/rhel_90-aarch64-qcow2-boot.json -index e89ae4c61..99ac54af0 100644 ---- a/test/data/manifests/rhel_90-aarch64-qcow2-boot.json -+++ b/test/data/manifests/rhel_90-aarch64-qcow2-boot.json -@@ -1857,6 +1857,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=tty0 console=ttyS0,115200n8 no_timer_check net.ifnames=0", - "uefi": { - "vendor": "redhat", - "unified": true -diff --git a/test/data/manifests/rhel_90-aarch64-qcow2_customize-boot.json b/test/data/manifests/rhel_90-aarch64-qcow2_customize-boot.json -index 6baecd9ef..fe0c26c2f 100644 ---- a/test/data/manifests/rhel_90-aarch64-qcow2_customize-boot.json -+++ b/test/data/manifests/rhel_90-aarch64-qcow2_customize-boot.json -@@ -2086,6 +2086,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=tty0 console=ttyS0,115200n8 no_timer_check net.ifnames=0 debug", - "uefi": { - "vendor": "redhat", - "unified": true -diff --git a/test/data/manifests/rhel_90-aarch64-vhd-boot.json b/test/data/manifests/rhel_90-aarch64-vhd-boot.json -index 5d6532efc..028e1abca 100644 ---- a/test/data/manifests/rhel_90-aarch64-vhd-boot.json -+++ b/test/data/manifests/rhel_90-aarch64-vhd-boot.json -@@ -2529,6 +2529,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro console=tty1 console=ttyS0 earlyprintk=ttyS0 rootdelay=300", - "uefi": { - "vendor": "redhat", - "unified": true -diff --git a/test/data/manifests/rhel_90-ppc64le-qcow2-boot.json b/test/data/manifests/rhel_90-ppc64le-qcow2-boot.json -index 5b1924460..0fd2c6577 100644 ---- a/test/data/manifests/rhel_90-ppc64le-qcow2-boot.json -+++ b/test/data/manifests/rhel_90-ppc64le-qcow2-boot.json -@@ -2087,6 +2087,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=tty0 console=ttyS0,115200n8 no_timer_check net.ifnames=0", - "legacy": "powerpc-ieee1275", - "saved_entry": "ffffffffffffffffffffffffffffffff-5.14.0-55.el9.ppc64le", - "write_cmdline": false, -diff --git a/test/data/manifests/rhel_90-ppc64le-qcow2_customize-boot.json b/test/data/manifests/rhel_90-ppc64le-qcow2_customize-boot.json -index a139363fc..a3c56fdb9 100644 ---- a/test/data/manifests/rhel_90-ppc64le-qcow2_customize-boot.json -+++ b/test/data/manifests/rhel_90-ppc64le-qcow2_customize-boot.json -@@ -2310,6 +2310,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=tty0 console=ttyS0,115200n8 no_timer_check net.ifnames=0 debug", - "legacy": "powerpc-ieee1275", - "saved_entry": "ffffffffffffffffffffffffffffffff-5.14.0-55.el9.ppc64le", - "write_cmdline": false, -diff --git a/test/data/manifests/rhel_90-x86_64-ami-boot.json b/test/data/manifests/rhel_90-x86_64-ami-boot.json -index 9d6e67338..f1216b736 100644 ---- a/test/data/manifests/rhel_90-x86_64-ami-boot.json -+++ b/test/data/manifests/rhel_90-x86_64-ami-boot.json -@@ -1891,6 +1891,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=ttyS0,115200n8 console=tty0 net.ifnames=0 rd.blacklist=nouveau nvme_core.io_timeout=4294967295", - "legacy": "i386-pc", - "saved_entry": "ffffffffffffffffffffffffffffffff-5.14.0-55.el9.x86_64", - "write_cmdline": false, -diff --git a/test/data/manifests/rhel_90-x86_64-azure_rhui-boot.json b/test/data/manifests/rhel_90-x86_64-azure_rhui-boot.json -index e5e694ac5..e20919769 100644 ---- a/test/data/manifests/rhel_90-x86_64-azure_rhui-boot.json -+++ b/test/data/manifests/rhel_90-x86_64-azure_rhui-boot.json -@@ -2683,6 +2683,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro console=tty1 console=ttyS0 earlyprintk=ttyS0 rootdelay=300", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_90-x86_64-ec2-boot.json b/test/data/manifests/rhel_90-x86_64-ec2-boot.json -index a83046744..14a50d770 100644 ---- a/test/data/manifests/rhel_90-x86_64-ec2-boot.json -+++ b/test/data/manifests/rhel_90-x86_64-ec2-boot.json -@@ -1912,6 +1912,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=ttyS0,115200n8 console=tty0 net.ifnames=0 rd.blacklist=nouveau nvme_core.io_timeout=4294967295", - "legacy": "i386-pc", - "saved_entry": "ffffffffffffffffffffffffffffffff-5.14.0-55.el9.x86_64", - "write_cmdline": false, -diff --git a/test/data/manifests/rhel_90-x86_64-ec2_ha-boot.json b/test/data/manifests/rhel_90-x86_64-ec2_ha-boot.json -index 1710938d1..ba6d0ea9b 100644 ---- a/test/data/manifests/rhel_90-x86_64-ec2_ha-boot.json -+++ b/test/data/manifests/rhel_90-x86_64-ec2_ha-boot.json -@@ -2484,6 +2484,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=ttyS0,115200n8 console=tty0 net.ifnames=0 rd.blacklist=nouveau nvme_core.io_timeout=4294967295", - "legacy": "i386-pc", - "saved_entry": "ffffffffffffffffffffffffffffffff-5.14.0-55.el9.x86_64", - "write_cmdline": false, -diff --git a/test/data/manifests/rhel_90-x86_64-ec2_sap-boot.json b/test/data/manifests/rhel_90-x86_64-ec2_sap-boot.json -index beb20f4c0..6de936929 100644 ---- a/test/data/manifests/rhel_90-x86_64-ec2_sap-boot.json -+++ b/test/data/manifests/rhel_90-x86_64-ec2_sap-boot.json -@@ -3404,6 +3404,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=ttyS0,115200n8 console=tty0 net.ifnames=0 rd.blacklist=nouveau nvme_core.io_timeout=4294967295 processor.max_cstate=1 intel_idle.max_cstate=1", - "legacy": "i386-pc", - "saved_entry": "ffffffffffffffffffffffffffffffff-5.14.0-55.el9.x86_64", - "write_cmdline": false, -diff --git a/test/data/manifests/rhel_90-x86_64-edge_raw_image-boot.json b/test/data/manifests/rhel_90-x86_64-edge_raw_image-boot.json -index 733feba94..f6c867a0f 100644 ---- a/test/data/manifests/rhel_90-x86_64-edge_raw_image-boot.json -+++ b/test/data/manifests/rhel_90-x86_64-edge_raw_image-boot.json -@@ -1041,7 +1041,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75,modprobe.blacklist=vc4", -+ "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75 modprobe.blacklist=vc4", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_90-x86_64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_90-x86_64-edge_simplified_installer-boot.json -index 70828f36e..76e558aa5 100644 ---- a/test/data/manifests/rhel_90-x86_64-edge_simplified_installer-boot.json -+++ b/test/data/manifests/rhel_90-x86_64-edge_simplified_installer-boot.json -@@ -1163,7 +1163,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75,modprobe.blacklist=vc4", -+ "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75 modprobe.blacklist=vc4", - "uefi": { - "vendor": "redhat", - "install": true, -diff --git a/test/data/manifests/rhel_90-x86_64-gce-boot.json b/test/data/manifests/rhel_90-x86_64-gce-boot.json -index b4bba62cf..d9e61a708 100644 ---- a/test/data/manifests/rhel_90-x86_64-gce-boot.json -+++ b/test/data/manifests/rhel_90-x86_64-gce-boot.json -@@ -1977,6 +1977,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "net.ifnames=0 biosdevname=0 scsi_mod.use_blk_mq=Y console=ttyS0,38400n8d", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_90-x86_64-gce_rhui-boot.json b/test/data/manifests/rhel_90-x86_64-gce_rhui-boot.json -index 7c0cb1cb0..6951d35ac 100644 ---- a/test/data/manifests/rhel_90-x86_64-gce_rhui-boot.json -+++ b/test/data/manifests/rhel_90-x86_64-gce_rhui-boot.json -@@ -1983,6 +1983,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "net.ifnames=0 biosdevname=0 scsi_mod.use_blk_mq=Y console=ttyS0,38400n8d", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_90-x86_64-oci-boot.json b/test/data/manifests/rhel_90-x86_64-oci-boot.json -index cd9b86a52..74239a9e4 100644 ---- a/test/data/manifests/rhel_90-x86_64-oci-boot.json -+++ b/test/data/manifests/rhel_90-x86_64-oci-boot.json -@@ -1938,6 +1938,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=tty0 console=ttyS0,115200n8 no_timer_check net.ifnames=0", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_90-x86_64-openstack-boot.json b/test/data/manifests/rhel_90-x86_64-openstack-boot.json -index 12849b2b6..3345af50f 100644 ---- a/test/data/manifests/rhel_90-x86_64-openstack-boot.json -+++ b/test/data/manifests/rhel_90-x86_64-openstack-boot.json -@@ -1952,6 +1952,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro net.ifnames=0", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_90-x86_64-qcow2-boot.json b/test/data/manifests/rhel_90-x86_64-qcow2-boot.json -index 7f0cf0a13..5a4011d8b 100644 ---- a/test/data/manifests/rhel_90-x86_64-qcow2-boot.json -+++ b/test/data/manifests/rhel_90-x86_64-qcow2-boot.json -@@ -1959,6 +1959,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=tty0 console=ttyS0,115200n8 no_timer_check net.ifnames=0", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_90-x86_64-qcow2_customize-boot.json b/test/data/manifests/rhel_90-x86_64-qcow2_customize-boot.json -index f87f5689d..8e4c6d4b1 100644 ---- a/test/data/manifests/rhel_90-x86_64-qcow2_customize-boot.json -+++ b/test/data/manifests/rhel_90-x86_64-qcow2_customize-boot.json -@@ -2218,6 +2218,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=tty0 console=ttyS0,115200n8 no_timer_check net.ifnames=0 debug", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_90-x86_64-vhd-boot.json b/test/data/manifests/rhel_90-x86_64-vhd-boot.json -index 79f1dd566..7a117335c 100644 ---- a/test/data/manifests/rhel_90-x86_64-vhd-boot.json -+++ b/test/data/manifests/rhel_90-x86_64-vhd-boot.json -@@ -2643,6 +2643,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro console=tty1 console=ttyS0 earlyprintk=ttyS0 rootdelay=300", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_90-x86_64-vmdk-boot.json b/test/data/manifests/rhel_90-x86_64-vmdk-boot.json -index d8ac8f757..11b8e05cf 100644 ---- a/test/data/manifests/rhel_90-x86_64-vmdk-boot.json -+++ b/test/data/manifests/rhel_90-x86_64-vmdk-boot.json -@@ -1952,6 +1952,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro net.ifnames=0", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_91-aarch64-ami-boot.json b/test/data/manifests/rhel_91-aarch64-ami-boot.json -index 743e64cf3..994751ae8 100644 ---- a/test/data/manifests/rhel_91-aarch64-ami-boot.json -+++ b/test/data/manifests/rhel_91-aarch64-ami-boot.json -@@ -4583,6 +4583,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=ttyS0,115200n8 console=tty0 net.ifnames=0 rd.blacklist=nouveau nvme_core.io_timeout=4294967295 iommu.strict=0", - "uefi": { - "vendor": "redhat", - "unified": true -diff --git a/test/data/manifests/rhel_91-aarch64-azure_rhui-boot.json b/test/data/manifests/rhel_91-aarch64-azure_rhui-boot.json -index 66c8a1109..f00c3ae9d 100644 ---- a/test/data/manifests/rhel_91-aarch64-azure_rhui-boot.json -+++ b/test/data/manifests/rhel_91-aarch64-azure_rhui-boot.json -@@ -6337,6 +6337,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro console=tty1 console=ttyS0 earlyprintk=ttyS0 rootdelay=300", - "uefi": { - "vendor": "redhat", - "unified": true -diff --git a/test/data/manifests/rhel_91-aarch64-ec2-boot.json b/test/data/manifests/rhel_91-aarch64-ec2-boot.json -index 8886d931d..9e55d11f8 100644 ---- a/test/data/manifests/rhel_91-aarch64-ec2-boot.json -+++ b/test/data/manifests/rhel_91-aarch64-ec2-boot.json -@@ -4616,6 +4616,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=ttyS0,115200n8 console=tty0 net.ifnames=0 rd.blacklist=nouveau nvme_core.io_timeout=4294967295 iommu.strict=0", - "uefi": { - "vendor": "redhat", - "unified": true -diff --git a/test/data/manifests/rhel_91-aarch64-edge_raw_image-boot.json b/test/data/manifests/rhel_91-aarch64-edge_raw_image-boot.json -index 90e6eb67e..6cb22bc74 100644 ---- a/test/data/manifests/rhel_91-aarch64-edge_raw_image-boot.json -+++ b/test/data/manifests/rhel_91-aarch64-edge_raw_image-boot.json -@@ -2388,7 +2388,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75,modprobe.blacklist=vc4", -+ "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75 modprobe.blacklist=vc4", - "uefi": { - "vendor": "redhat", - "install": true, -diff --git a/test/data/manifests/rhel_91-aarch64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_91-aarch64-edge_simplified_installer-boot.json -index f3000f74f..3b749716d 100644 ---- a/test/data/manifests/rhel_91-aarch64-edge_simplified_installer-boot.json -+++ b/test/data/manifests/rhel_91-aarch64-edge_simplified_installer-boot.json -@@ -2772,7 +2772,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75,modprobe.blacklist=vc4", -+ "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75 modprobe.blacklist=vc4", - "uefi": { - "vendor": "redhat", - "install": true, -diff --git a/test/data/manifests/rhel_91-aarch64-openstack-boot.json b/test/data/manifests/rhel_91-aarch64-openstack-boot.json -index e2c2624cd..854a7717a 100644 ---- a/test/data/manifests/rhel_91-aarch64-openstack-boot.json -+++ b/test/data/manifests/rhel_91-aarch64-openstack-boot.json -@@ -4558,6 +4558,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro net.ifnames=0", - "uefi": { - "vendor": "redhat", - "unified": true -diff --git a/test/data/manifests/rhel_91-aarch64-qcow2-boot.json b/test/data/manifests/rhel_91-aarch64-qcow2-boot.json -index eb6a5f423..bb9d06025 100644 ---- a/test/data/manifests/rhel_91-aarch64-qcow2-boot.json -+++ b/test/data/manifests/rhel_91-aarch64-qcow2-boot.json -@@ -4699,6 +4699,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=tty0 console=ttyS0,115200n8 no_timer_check net.ifnames=0", - "uefi": { - "vendor": "redhat", - "unified": true -diff --git a/test/data/manifests/rhel_91-aarch64-qcow2_customize-boot.json b/test/data/manifests/rhel_91-aarch64-qcow2_customize-boot.json -index adf1a2e22..499ec4487 100644 ---- a/test/data/manifests/rhel_91-aarch64-qcow2_customize-boot.json -+++ b/test/data/manifests/rhel_91-aarch64-qcow2_customize-boot.json -@@ -5329,6 +5329,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=tty0 console=ttyS0,115200n8 no_timer_check net.ifnames=0 debug", - "uefi": { - "vendor": "redhat", - "unified": true -diff --git a/test/data/manifests/rhel_91-aarch64-vhd-boot.json b/test/data/manifests/rhel_91-aarch64-vhd-boot.json -index 8c5eaf4c0..b255f51e5 100644 ---- a/test/data/manifests/rhel_91-aarch64-vhd-boot.json -+++ b/test/data/manifests/rhel_91-aarch64-vhd-boot.json -@@ -6256,6 +6256,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro console=tty1 console=ttyS0 earlyprintk=ttyS0 rootdelay=300", - "uefi": { - "vendor": "redhat", - "unified": true -diff --git a/test/data/manifests/rhel_91-ppc64le-qcow2-boot.json b/test/data/manifests/rhel_91-ppc64le-qcow2-boot.json -index 7e6139d8c..858fad529 100644 ---- a/test/data/manifests/rhel_91-ppc64le-qcow2-boot.json -+++ b/test/data/manifests/rhel_91-ppc64le-qcow2-boot.json -@@ -5316,6 +5316,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=tty0 console=ttyS0,115200n8 no_timer_check net.ifnames=0", - "legacy": "powerpc-ieee1275", - "saved_entry": "ffffffffffffffffffffffffffffffff-5.14.0-162.6.1.el9_1.ppc64le", - "write_cmdline": false, -diff --git a/test/data/manifests/rhel_91-ppc64le-qcow2_customize-boot.json b/test/data/manifests/rhel_91-ppc64le-qcow2_customize-boot.json -index 8e8051dfd..aa2870cab 100644 ---- a/test/data/manifests/rhel_91-ppc64le-qcow2_customize-boot.json -+++ b/test/data/manifests/rhel_91-ppc64le-qcow2_customize-boot.json -@@ -5930,6 +5930,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=tty0 console=ttyS0,115200n8 no_timer_check net.ifnames=0 debug", - "legacy": "powerpc-ieee1275", - "saved_entry": "ffffffffffffffffffffffffffffffff-5.14.0-162.6.1.el9_1.ppc64le", - "write_cmdline": false, -diff --git a/test/data/manifests/rhel_91-x86_64-ami-boot.json b/test/data/manifests/rhel_91-x86_64-ami-boot.json -index 7d69040ee..0eccb5f6f 100644 ---- a/test/data/manifests/rhel_91-x86_64-ami-boot.json -+++ b/test/data/manifests/rhel_91-x86_64-ami-boot.json -@@ -4547,6 +4547,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=ttyS0,115200n8 console=tty0 net.ifnames=0 rd.blacklist=nouveau nvme_core.io_timeout=4294967295", - "legacy": "i386-pc", - "saved_entry": "ffffffffffffffffffffffffffffffff-5.14.0-162.6.1.el9_1.x86_64", - "write_cmdline": false, -diff --git a/test/data/manifests/rhel_91-x86_64-azure_rhui-boot.json b/test/data/manifests/rhel_91-x86_64-azure_rhui-boot.json -index 16480f83b..d4ecfc5c2 100644 ---- a/test/data/manifests/rhel_91-x86_64-azure_rhui-boot.json -+++ b/test/data/manifests/rhel_91-x86_64-azure_rhui-boot.json -@@ -6617,6 +6617,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro console=tty1 console=ttyS0 earlyprintk=ttyS0 rootdelay=300", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_91-x86_64-ec2-boot.json b/test/data/manifests/rhel_91-x86_64-ec2-boot.json -index 52eac0ebb..bd98a5bda 100644 ---- a/test/data/manifests/rhel_91-x86_64-ec2-boot.json -+++ b/test/data/manifests/rhel_91-x86_64-ec2-boot.json -@@ -4582,6 +4582,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=ttyS0,115200n8 console=tty0 net.ifnames=0 rd.blacklist=nouveau nvme_core.io_timeout=4294967295", - "legacy": "i386-pc", - "saved_entry": "ffffffffffffffffffffffffffffffff-5.14.0-162.6.1.el9_1.x86_64", - "write_cmdline": false, -diff --git a/test/data/manifests/rhel_91-x86_64-ec2_ha-boot.json b/test/data/manifests/rhel_91-x86_64-ec2_ha-boot.json -index 38e0639db..57346d4f8 100644 ---- a/test/data/manifests/rhel_91-x86_64-ec2_ha-boot.json -+++ b/test/data/manifests/rhel_91-x86_64-ec2_ha-boot.json -@@ -6026,6 +6026,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=ttyS0,115200n8 console=tty0 net.ifnames=0 rd.blacklist=nouveau nvme_core.io_timeout=4294967295", - "legacy": "i386-pc", - "saved_entry": "ffffffffffffffffffffffffffffffff-5.14.0-162.6.1.el9_1.x86_64", - "write_cmdline": false, -diff --git a/test/data/manifests/rhel_91-x86_64-ec2_sap-boot.json b/test/data/manifests/rhel_91-x86_64-ec2_sap-boot.json -index ef87883ee..283cf91a9 100644 ---- a/test/data/manifests/rhel_91-x86_64-ec2_sap-boot.json -+++ b/test/data/manifests/rhel_91-x86_64-ec2_sap-boot.json -@@ -8581,6 +8581,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=ttyS0,115200n8 console=tty0 net.ifnames=0 rd.blacklist=nouveau nvme_core.io_timeout=4294967295 processor.max_cstate=1 intel_idle.max_cstate=1", - "legacy": "i386-pc", - "saved_entry": "ffffffffffffffffffffffffffffffff-5.14.0-162.6.1.el9_1.x86_64", - "write_cmdline": false, -diff --git a/test/data/manifests/rhel_91-x86_64-edge_raw_image-boot.json b/test/data/manifests/rhel_91-x86_64-edge_raw_image-boot.json -index fdda7d85d..d562ccf57 100644 ---- a/test/data/manifests/rhel_91-x86_64-edge_raw_image-boot.json -+++ b/test/data/manifests/rhel_91-x86_64-edge_raw_image-boot.json -@@ -2508,7 +2508,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75,modprobe.blacklist=vc4", -+ "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75 modprobe.blacklist=vc4", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_91-x86_64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_91-x86_64-edge_simplified_installer-boot.json -index 4645facc7..52ec164de 100644 ---- a/test/data/manifests/rhel_91-x86_64-edge_simplified_installer-boot.json -+++ b/test/data/manifests/rhel_91-x86_64-edge_simplified_installer-boot.json -@@ -2820,7 +2820,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75,modprobe.blacklist=vc4", -+ "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75 modprobe.blacklist=vc4", - "uefi": { - "vendor": "redhat", - "install": true, -diff --git a/test/data/manifests/rhel_91-x86_64-gce-boot.json b/test/data/manifests/rhel_91-x86_64-gce-boot.json -index 4edde03f5..7bbc55db1 100644 ---- a/test/data/manifests/rhel_91-x86_64-gce-boot.json -+++ b/test/data/manifests/rhel_91-x86_64-gce-boot.json -@@ -4807,6 +4807,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "net.ifnames=0 biosdevname=0 scsi_mod.use_blk_mq=Y console=ttyS0,38400n8d", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_91-x86_64-gce_rhui-boot.json b/test/data/manifests/rhel_91-x86_64-gce_rhui-boot.json -index 86818aa73..d84d9626b 100644 ---- a/test/data/manifests/rhel_91-x86_64-gce_rhui-boot.json -+++ b/test/data/manifests/rhel_91-x86_64-gce_rhui-boot.json -@@ -4813,6 +4813,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "net.ifnames=0 biosdevname=0 scsi_mod.use_blk_mq=Y console=ttyS0,38400n8d", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_91-x86_64-oci-boot.json b/test/data/manifests/rhel_91-x86_64-oci-boot.json -index edd12c549..04025c657 100644 ---- a/test/data/manifests/rhel_91-x86_64-oci-boot.json -+++ b/test/data/manifests/rhel_91-x86_64-oci-boot.json -@@ -4934,6 +4934,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=tty0 console=ttyS0,115200n8 no_timer_check net.ifnames=0", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_91-x86_64-openstack-boot.json b/test/data/manifests/rhel_91-x86_64-openstack-boot.json -index 362daefef..c56b8ee50 100644 ---- a/test/data/manifests/rhel_91-x86_64-openstack-boot.json -+++ b/test/data/manifests/rhel_91-x86_64-openstack-boot.json -@@ -4918,6 +4918,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro net.ifnames=0", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_91-x86_64-qcow2-boot.json b/test/data/manifests/rhel_91-x86_64-qcow2-boot.json -index ec8199c2a..749ac00e8 100644 ---- a/test/data/manifests/rhel_91-x86_64-qcow2-boot.json -+++ b/test/data/manifests/rhel_91-x86_64-qcow2-boot.json -@@ -4955,6 +4955,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=tty0 console=ttyS0,115200n8 no_timer_check net.ifnames=0", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_91-x86_64-qcow2_customize-boot.json b/test/data/manifests/rhel_91-x86_64-qcow2_customize-boot.json -index edb47951e..a6fa8cd0b 100644 ---- a/test/data/manifests/rhel_91-x86_64-qcow2_customize-boot.json -+++ b/test/data/manifests/rhel_91-x86_64-qcow2_customize-boot.json -@@ -5665,6 +5665,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=tty0 console=ttyS0,115200n8 no_timer_check net.ifnames=0 debug", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_91-x86_64-vhd-boot.json b/test/data/manifests/rhel_91-x86_64-vhd-boot.json -index dee4a8499..df30f0ec2 100644 ---- a/test/data/manifests/rhel_91-x86_64-vhd-boot.json -+++ b/test/data/manifests/rhel_91-x86_64-vhd-boot.json -@@ -6552,6 +6552,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro console=tty1 console=ttyS0 earlyprintk=ttyS0 rootdelay=300", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_91-x86_64-vmdk-boot.json b/test/data/manifests/rhel_91-x86_64-vmdk-boot.json -index 2716c61dd..7de7d36c6 100644 ---- a/test/data/manifests/rhel_91-x86_64-vmdk-boot.json -+++ b/test/data/manifests/rhel_91-x86_64-vmdk-boot.json -@@ -4918,6 +4918,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro net.ifnames=0", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_92-aarch64-ami-boot.json b/test/data/manifests/rhel_92-aarch64-ami-boot.json -index eed47663d..978e768be 100644 ---- a/test/data/manifests/rhel_92-aarch64-ami-boot.json -+++ b/test/data/manifests/rhel_92-aarch64-ami-boot.json -@@ -4559,6 +4559,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=ttyS0,115200n8 console=tty0 net.ifnames=0 rd.blacklist=nouveau nvme_core.io_timeout=4294967295 iommu.strict=0", - "uefi": { - "vendor": "redhat", - "unified": true -diff --git a/test/data/manifests/rhel_92-aarch64-azure_rhui-boot.json b/test/data/manifests/rhel_92-aarch64-azure_rhui-boot.json -index cf60b439a..925ed4504 100644 ---- a/test/data/manifests/rhel_92-aarch64-azure_rhui-boot.json -+++ b/test/data/manifests/rhel_92-aarch64-azure_rhui-boot.json -@@ -6305,6 +6305,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro console=tty1 console=ttyS0 earlyprintk=ttyS0 rootdelay=300", - "uefi": { - "vendor": "redhat", - "unified": true -diff --git a/test/data/manifests/rhel_92-aarch64-ec2-boot.json b/test/data/manifests/rhel_92-aarch64-ec2-boot.json -index 40e417579..04f1a87f7 100644 ---- a/test/data/manifests/rhel_92-aarch64-ec2-boot.json -+++ b/test/data/manifests/rhel_92-aarch64-ec2-boot.json -@@ -4592,6 +4592,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=ttyS0,115200n8 console=tty0 net.ifnames=0 rd.blacklist=nouveau nvme_core.io_timeout=4294967295 iommu.strict=0", - "uefi": { - "vendor": "redhat", - "unified": true -diff --git a/test/data/manifests/rhel_92-aarch64-edge_raw_image-boot.json b/test/data/manifests/rhel_92-aarch64-edge_raw_image-boot.json -index 90736ecee..0757738c2 100644 ---- a/test/data/manifests/rhel_92-aarch64-edge_raw_image-boot.json -+++ b/test/data/manifests/rhel_92-aarch64-edge_raw_image-boot.json -@@ -2344,7 +2344,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75,modprobe.blacklist=vc4,rw,coreos.no_persist_ip,ignition.platform.id=metal,$ignition_firstboot", -+ "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75 modprobe.blacklist=vc4 rw coreos.no_persist_ip ignition.platform.id=metal $ignition_firstboot", - "uefi": { - "vendor": "redhat", - "install": true, -diff --git a/test/data/manifests/rhel_92-aarch64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_92-aarch64-edge_simplified_installer-boot.json -index f3fee36b2..1e4d75d87 100644 ---- a/test/data/manifests/rhel_92-aarch64-edge_simplified_installer-boot.json -+++ b/test/data/manifests/rhel_92-aarch64-edge_simplified_installer-boot.json -@@ -2728,7 +2728,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75,modprobe.blacklist=vc4,rw,coreos.no_persist_ip,ignition.platform.id=metal,$ignition_firstboot", -+ "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75 modprobe.blacklist=vc4 rw coreos.no_persist_ip ignition.platform.id=metal $ignition_firstboot", - "uefi": { - "vendor": "redhat", - "install": true, -diff --git a/test/data/manifests/rhel_92-aarch64-openstack-boot.json b/test/data/manifests/rhel_92-aarch64-openstack-boot.json -index cbc134748..5feeedb8b 100644 ---- a/test/data/manifests/rhel_92-aarch64-openstack-boot.json -+++ b/test/data/manifests/rhel_92-aarch64-openstack-boot.json -@@ -4534,6 +4534,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro net.ifnames=0", - "uefi": { - "vendor": "redhat", - "unified": true -diff --git a/test/data/manifests/rhel_92-aarch64-qcow2-boot.json b/test/data/manifests/rhel_92-aarch64-qcow2-boot.json -index 02930f8f8..5c13b5173 100644 ---- a/test/data/manifests/rhel_92-aarch64-qcow2-boot.json -+++ b/test/data/manifests/rhel_92-aarch64-qcow2-boot.json -@@ -4667,6 +4667,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=tty0 console=ttyS0,115200n8 no_timer_check net.ifnames=0", - "uefi": { - "vendor": "redhat", - "unified": true -diff --git a/test/data/manifests/rhel_92-aarch64-qcow2_customize-boot.json b/test/data/manifests/rhel_92-aarch64-qcow2_customize-boot.json -index db8a03eeb..9dfef9c62 100644 ---- a/test/data/manifests/rhel_92-aarch64-qcow2_customize-boot.json -+++ b/test/data/manifests/rhel_92-aarch64-qcow2_customize-boot.json -@@ -5032,6 +5032,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=tty0 console=ttyS0,115200n8 no_timer_check net.ifnames=0 debug", - "uefi": { - "vendor": "redhat", - "unified": true -diff --git a/test/data/manifests/rhel_92-aarch64-vhd-boot.json b/test/data/manifests/rhel_92-aarch64-vhd-boot.json -index aa9854fd7..1da6c2055 100644 ---- a/test/data/manifests/rhel_92-aarch64-vhd-boot.json -+++ b/test/data/manifests/rhel_92-aarch64-vhd-boot.json -@@ -6224,6 +6224,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro console=tty1 console=ttyS0 earlyprintk=ttyS0 rootdelay=300", - "uefi": { - "vendor": "redhat", - "unified": true -diff --git a/test/data/manifests/rhel_92-ppc64le-qcow2-boot.json b/test/data/manifests/rhel_92-ppc64le-qcow2-boot.json -index 77f732b8d..eb214bef6 100644 ---- a/test/data/manifests/rhel_92-ppc64le-qcow2-boot.json -+++ b/test/data/manifests/rhel_92-ppc64le-qcow2-boot.json -@@ -5316,6 +5316,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=tty0 console=ttyS0,115200n8 no_timer_check net.ifnames=0", - "legacy": "powerpc-ieee1275", - "saved_entry": "ffffffffffffffffffffffffffffffff-5.14.0-177.el9.ppc64le", - "write_cmdline": false, -diff --git a/test/data/manifests/rhel_92-ppc64le-qcow2_customize-boot.json b/test/data/manifests/rhel_92-ppc64le-qcow2_customize-boot.json -index 6cba4a369..27ed0537f 100644 ---- a/test/data/manifests/rhel_92-ppc64le-qcow2_customize-boot.json -+++ b/test/data/manifests/rhel_92-ppc64le-qcow2_customize-boot.json -@@ -5665,6 +5665,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=tty0 console=ttyS0,115200n8 no_timer_check net.ifnames=0 debug", - "legacy": "powerpc-ieee1275", - "saved_entry": "ffffffffffffffffffffffffffffffff-5.14.0-177.el9.ppc64le", - "write_cmdline": false, -diff --git a/test/data/manifests/rhel_92-x86_64-ami-boot.json b/test/data/manifests/rhel_92-x86_64-ami-boot.json -index 20f4c7cfc..20f8b956f 100644 ---- a/test/data/manifests/rhel_92-x86_64-ami-boot.json -+++ b/test/data/manifests/rhel_92-x86_64-ami-boot.json -@@ -4539,6 +4539,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=ttyS0,115200n8 console=tty0 net.ifnames=0 rd.blacklist=nouveau nvme_core.io_timeout=4294967295", - "legacy": "i386-pc", - "saved_entry": "ffffffffffffffffffffffffffffffff-5.14.0-226.el9.x86_64", - "write_cmdline": false, -diff --git a/test/data/manifests/rhel_92-x86_64-azure_rhui-boot.json b/test/data/manifests/rhel_92-x86_64-azure_rhui-boot.json -index e0fc05eaa..16a8076dc 100644 ---- a/test/data/manifests/rhel_92-x86_64-azure_rhui-boot.json -+++ b/test/data/manifests/rhel_92-x86_64-azure_rhui-boot.json -@@ -6609,6 +6609,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro console=tty1 console=ttyS0 earlyprintk=ttyS0 rootdelay=300", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_92-x86_64-ec2-boot.json b/test/data/manifests/rhel_92-x86_64-ec2-boot.json -index 39ca19a0e..735049b09 100644 ---- a/test/data/manifests/rhel_92-x86_64-ec2-boot.json -+++ b/test/data/manifests/rhel_92-x86_64-ec2-boot.json -@@ -4574,6 +4574,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=ttyS0,115200n8 console=tty0 net.ifnames=0 rd.blacklist=nouveau nvme_core.io_timeout=4294967295", - "legacy": "i386-pc", - "saved_entry": "ffffffffffffffffffffffffffffffff-5.14.0-226.el9.x86_64", - "write_cmdline": false, -diff --git a/test/data/manifests/rhel_92-x86_64-ec2_ha-boot.json b/test/data/manifests/rhel_92-x86_64-ec2_ha-boot.json -index 41dea1ed9..ab2adf0c6 100644 ---- a/test/data/manifests/rhel_92-x86_64-ec2_ha-boot.json -+++ b/test/data/manifests/rhel_92-x86_64-ec2_ha-boot.json -@@ -6018,6 +6018,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=ttyS0,115200n8 console=tty0 net.ifnames=0 rd.blacklist=nouveau nvme_core.io_timeout=4294967295", - "legacy": "i386-pc", - "saved_entry": "ffffffffffffffffffffffffffffffff-5.14.0-226.el9.x86_64", - "write_cmdline": false, -diff --git a/test/data/manifests/rhel_92-x86_64-ec2_sap-boot.json b/test/data/manifests/rhel_92-x86_64-ec2_sap-boot.json -index 5ebf1b6a3..b84bb8fc2 100644 ---- a/test/data/manifests/rhel_92-x86_64-ec2_sap-boot.json -+++ b/test/data/manifests/rhel_92-x86_64-ec2_sap-boot.json -@@ -8525,6 +8525,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=ttyS0,115200n8 console=tty0 net.ifnames=0 rd.blacklist=nouveau nvme_core.io_timeout=4294967295 processor.max_cstate=1 intel_idle.max_cstate=1", - "legacy": "i386-pc", - "saved_entry": "ffffffffffffffffffffffffffffffff-5.14.0-226.el9.x86_64", - "write_cmdline": false, -diff --git a/test/data/manifests/rhel_92-x86_64-edge_raw_image-boot.json b/test/data/manifests/rhel_92-x86_64-edge_raw_image-boot.json -index 6b241c10c..462645461 100644 ---- a/test/data/manifests/rhel_92-x86_64-edge_raw_image-boot.json -+++ b/test/data/manifests/rhel_92-x86_64-edge_raw_image-boot.json -@@ -2464,7 +2464,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75,modprobe.blacklist=vc4,rw,coreos.no_persist_ip,ignition.platform.id=metal,$ignition_firstboot", -+ "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75 modprobe.blacklist=vc4 rw coreos.no_persist_ip ignition.platform.id=metal $ignition_firstboot", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_92-x86_64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_92-x86_64-edge_simplified_installer-boot.json -index f8b3c5984..090db489f 100644 ---- a/test/data/manifests/rhel_92-x86_64-edge_simplified_installer-boot.json -+++ b/test/data/manifests/rhel_92-x86_64-edge_simplified_installer-boot.json -@@ -2776,7 +2776,7 @@ - "options": { - "root_fs_uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -- "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75,modprobe.blacklist=vc4,rw,coreos.no_persist_ip,ignition.platform.id=metal,$ignition_firstboot", -+ "kernel_opts": "luks.uuid=6e4ff95f-f662-45ee-a82a-bdf44a2d0b75 modprobe.blacklist=vc4 rw coreos.no_persist_ip ignition.platform.id=metal $ignition_firstboot", - "uefi": { - "vendor": "redhat", - "install": true, -diff --git a/test/data/manifests/rhel_92-x86_64-gce-boot.json b/test/data/manifests/rhel_92-x86_64-gce-boot.json -index 0d5d1ae68..9ffdb1d71 100644 ---- a/test/data/manifests/rhel_92-x86_64-gce-boot.json -+++ b/test/data/manifests/rhel_92-x86_64-gce-boot.json -@@ -4847,6 +4847,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "net.ifnames=0 biosdevname=0 scsi_mod.use_blk_mq=Y console=ttyS0,38400n8d", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_92-x86_64-gce_rhui-boot.json b/test/data/manifests/rhel_92-x86_64-gce_rhui-boot.json -index 733e6cb8b..1b0c14171 100644 ---- a/test/data/manifests/rhel_92-x86_64-gce_rhui-boot.json -+++ b/test/data/manifests/rhel_92-x86_64-gce_rhui-boot.json -@@ -4853,6 +4853,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "net.ifnames=0 biosdevname=0 scsi_mod.use_blk_mq=Y console=ttyS0,38400n8d", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_92-x86_64-oci-boot.json b/test/data/manifests/rhel_92-x86_64-oci-boot.json -index 801e4dfd5..daa78c361 100644 ---- a/test/data/manifests/rhel_92-x86_64-oci-boot.json -+++ b/test/data/manifests/rhel_92-x86_64-oci-boot.json -@@ -4926,6 +4926,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=tty0 console=ttyS0,115200n8 no_timer_check net.ifnames=0", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_92-x86_64-openstack-boot.json b/test/data/manifests/rhel_92-x86_64-openstack-boot.json -index f5116049e..8feb57bc3 100644 ---- a/test/data/manifests/rhel_92-x86_64-openstack-boot.json -+++ b/test/data/manifests/rhel_92-x86_64-openstack-boot.json -@@ -4910,6 +4910,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro net.ifnames=0", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_92-x86_64-qcow2-boot.json b/test/data/manifests/rhel_92-x86_64-qcow2-boot.json -index 8b13d4cc1..e39389bb3 100644 ---- a/test/data/manifests/rhel_92-x86_64-qcow2-boot.json -+++ b/test/data/manifests/rhel_92-x86_64-qcow2-boot.json -@@ -4947,6 +4947,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=tty0 console=ttyS0,115200n8 no_timer_check net.ifnames=0", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_92-x86_64-qcow2_customize-boot.json b/test/data/manifests/rhel_92-x86_64-qcow2_customize-boot.json -index 5360dddd5..a35bc43a6 100644 ---- a/test/data/manifests/rhel_92-x86_64-qcow2_customize-boot.json -+++ b/test/data/manifests/rhel_92-x86_64-qcow2_customize-boot.json -@@ -5392,6 +5392,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "console=tty0 console=ttyS0,115200n8 no_timer_check net.ifnames=0 debug", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_92-x86_64-vhd-boot.json b/test/data/manifests/rhel_92-x86_64-vhd-boot.json -index eaade6fbb..ee09389b2 100644 ---- a/test/data/manifests/rhel_92-x86_64-vhd-boot.json -+++ b/test/data/manifests/rhel_92-x86_64-vhd-boot.json -@@ -6544,6 +6544,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro console=tty1 console=ttyS0 earlyprintk=ttyS0 rootdelay=300", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", -diff --git a/test/data/manifests/rhel_92-x86_64-vmdk-boot.json b/test/data/manifests/rhel_92-x86_64-vmdk-boot.json -index 3a92c69b7..f6060b0ee 100644 ---- a/test/data/manifests/rhel_92-x86_64-vmdk-boot.json -+++ b/test/data/manifests/rhel_92-x86_64-vmdk-boot.json -@@ -4910,6 +4910,7 @@ - "options": { - "root_fs_uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", - "boot_fs_uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", -+ "kernel_opts": "ro net.ifnames=0", - "legacy": "i386-pc", - "uefi": { - "vendor": "redhat", --- -2.39.2 - diff --git a/SOURCES/0004-simplified-installer-enable-isolinux.patch b/SOURCES/0004-simplified-installer-enable-isolinux.patch deleted file mode 100644 index 58b78ca..0000000 --- a/SOURCES/0004-simplified-installer-enable-isolinux.patch +++ /dev/null @@ -1,1499 +0,0 @@ -From 38354fefff11c95cde11ad4d3796091e017bc8e8 Mon Sep 17 00:00:00 2001 -From: Antonio Murdaca -Date: Thu, 9 Mar 2023 22:12:22 +0100 -Subject: [PATCH 4/4] simplified-installer: enable isolinux - -Signed-off-by: Antonio Murdaca ---- - internal/distro/rhel8/edge.go | 1 + - internal/distro/rhel9/edge.go | 1 + - internal/image/ostree_simplified_installer.go | 7 ++- - internal/manifest/coi_iso_tree.go | 21 +++++++ - ...arch64-edge_simplified_installer-boot.json | 21 +++++++ - ...x86_64-edge_simplified_installer-boot.json | 57 +++++++++++++++++++ - ...arch64-edge_simplified_installer-boot.json | 21 +++++++ - ...x86_64-edge_simplified_installer-boot.json | 57 +++++++++++++++++++ - ...arch64-edge_simplified_installer-boot.json | 15 +++++ - ...x86_64-edge_simplified_installer-boot.json | 51 +++++++++++++++++ - ...arch64-edge_simplified_installer-boot.json | 15 +++++ - ...x86_64-edge_simplified_installer-boot.json | 51 +++++++++++++++++ - ...arch64-edge_simplified_installer-boot.json | 15 +++++ - ...x86_64-edge_simplified_installer-boot.json | 51 +++++++++++++++++ - ...arch64-edge_simplified_installer-boot.json | 15 +++++ - ...x86_64-edge_simplified_installer-boot.json | 51 +++++++++++++++++ - ...arch64-edge_simplified_installer-boot.json | 21 +++++++ - ...x86_64-edge_simplified_installer-boot.json | 57 +++++++++++++++++++ - ...arch64-edge_simplified_installer-boot.json | 15 +++++ - ...x86_64-edge_simplified_installer-boot.json | 51 +++++++++++++++++ - ...arch64-edge_simplified_installer-boot.json | 21 +++++++ - ...x86_64-edge_simplified_installer-boot.json | 57 +++++++++++++++++++ - ...arch64-edge_simplified_installer-boot.json | 21 +++++++ - ...x86_64-edge_simplified_installer-boot.json | 57 +++++++++++++++++++ - 24 files changed, 749 insertions(+), 1 deletion(-) - -diff --git a/internal/distro/rhel8/edge.go b/internal/distro/rhel8/edge.go -index 13e668a14..6cb90a8ca 100644 ---- a/internal/distro/rhel8/edge.go -+++ b/internal/distro/rhel8/edge.go -@@ -328,6 +328,7 @@ func edgeSimplifiedInstallerPackageSet(t *imageType) rpmmd.PackageSet { - "policycoreutils", - "policycoreutils-python-utils", - "procps-ng", -+ "redhat-logos", - "rootfiles", - "setools-console", - "sudo", -diff --git a/internal/distro/rhel9/edge.go b/internal/distro/rhel9/edge.go -index 4a7c7406f..2598c9a2f 100644 ---- a/internal/distro/rhel9/edge.go -+++ b/internal/distro/rhel9/edge.go -@@ -465,6 +465,7 @@ func edgeSimplifiedInstallerPackageSet(t *imageType) rpmmd.PackageSet { - "policycoreutils", - "policycoreutils-python-utils", - "procps-ng", -+ "redhat-logos", - "rootfiles", - "setools-console", - "sudo", -diff --git a/internal/image/ostree_simplified_installer.go b/internal/image/ostree_simplified_installer.go -index c3c6da678..9a8d90068 100644 ---- a/internal/image/ostree_simplified_installer.go -+++ b/internal/image/ostree_simplified_installer.go -@@ -144,19 +144,24 @@ func (img *OSTreeSimplifiedInstaller) InstantiateManifest(m *manifest.Manifest, - }, - } - -+ // enable ISOLinux on x86_64 only -+ isoLinuxEnabled := img.Platform.GetArch() == platform.ARCH_X86_64 -+ - isoTreePipeline := manifest.NewCoreOSISOTree(m, - buildPipeline, - rawImage, - coiPipeline, - bootTreePipeline, - isoLabel) -+ isoTreePipeline.KernelOpts = kernelOpts - isoTreePipeline.PartitionTable = rootfsPartitionTable - isoTreePipeline.OSName = img.OSName - isoTreePipeline.PayloadPath = fmt.Sprintf("/%s", rawImageFilename) -+ isoTreePipeline.ISOLinux = isoLinuxEnabled - - isoPipeline := manifest.NewISO(m, buildPipeline, isoTreePipeline, isoLabel) - isoPipeline.Filename = img.Filename -- isoPipeline.ISOLinux = false -+ isoPipeline.ISOLinux = isoLinuxEnabled - - artifact := isoPipeline.Export() - return artifact, nil -diff --git a/internal/manifest/coi_iso_tree.go b/internal/manifest/coi_iso_tree.go -index 46d92eba5..89093e842 100644 ---- a/internal/manifest/coi_iso_tree.go -+++ b/internal/manifest/coi_iso_tree.go -@@ -28,6 +28,11 @@ type CoreOSISOTree struct { - PayloadPath string - - isoLabel string -+ -+ // Enable ISOLinux stage -+ ISOLinux bool -+ -+ KernelOpts []string - } - - func NewCoreOSISOTree(m *Manifest, -@@ -132,6 +137,22 @@ func (p *CoreOSISOTree) serialize() osbuild.Pipeline { - copyStage := osbuild.NewCopyStageSimple(copyStageOptions, copyStageInputs) - pipeline.AddStage(copyStage) - -+ if p.ISOLinux { -+ isoLinuxOptions := &osbuild.ISOLinuxStageOptions{ -+ Product: osbuild.ISOLinuxProduct{ -+ Name: p.coiPipeline.product, -+ Version: p.coiPipeline.version, -+ }, -+ Kernel: osbuild.ISOLinuxKernel{ -+ Dir: "/images/pxeboot", -+ Opts: p.KernelOpts, -+ }, -+ } -+ -+ isoLinuxStage := osbuild.NewISOLinuxStage(isoLinuxOptions, p.coiPipeline.Name()) -+ pipeline.AddStage(isoLinuxStage) -+ } -+ - copyInputs = osbuild.NewPipelineTreeInputs(inputName, p.bootTreePipeline.Name()) - pipeline.AddStage(osbuild.NewCopyStageSimple( - &osbuild.CopyStageOptions{ -diff --git a/test/data/manifests/centos_8-aarch64-edge_simplified_installer-boot.json b/test/data/manifests/centos_8-aarch64-edge_simplified_installer-boot.json -index fffd37ee3..3d39b43b7 100644 ---- a/test/data/manifests/centos_8-aarch64-edge_simplified_installer-boot.json -+++ b/test/data/manifests/centos_8-aarch64-edge_simplified_installer-boot.json -@@ -5371,6 +5371,14 @@ - } - } - }, -+ { -+ "id": "sha256:b8dd6d9549148d4469333794b0495817157913de2aa5a6827bb1e20e8cf58d56", -+ "options": { -+ "metadata": { -+ "rpm.check_gpg": true -+ } -+ } -+ }, - { - "id": "sha256:8f0c85b97a40d8b22bcc6cda29c078fe8e8d6deff7ede90d9e755826fea2ff8c", - "options": { -@@ -6897,6 +6905,9 @@ - "sha256:b81e9cc635b9ef9cba61cee83da1bab028869ebc70ba96999925fe3cd1ea52df": { - "url": "https://rpmrepo.osbuild.org/v2/mirror/public/el8/cs8-aarch64-appstream-20220208/Packages/lorax-28.14.65-1.el8.aarch64.rpm" - }, -+ "sha256:b8dd6d9549148d4469333794b0495817157913de2aa5a6827bb1e20e8cf58d56": { -+ "url": "https://rpmrepo.osbuild.org/v2/mirror/public/el8/cs8-aarch64-appstream-20220208/Packages/centos-logos-85.8-2.el8.aarch64.rpm" -+ }, - "sha256:b938a6facc8d8a3de12b369871738bb531c822b1ec5212501b06bcaaf6cd25fa": { - "url": "https://rpmrepo.osbuild.org/v2/mirror/public/el8/cs8-aarch64-baseos-20220208/Packages/ncurses-libs-6.1-9.20180224.el8.aarch64.rpm" - }, -@@ -13174,6 +13185,16 @@ - "checksum": "sha256:6e23374341e975a1d29e46d141204cc8e847125be6aea898eea1d0b809a8b1a4", - "check_gpg": true - }, -+ { -+ "name": "centos-logos", -+ "epoch": 0, -+ "version": "85.8", -+ "release": "2.el8", -+ "arch": "aarch64", -+ "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/public/el8/cs8-aarch64-appstream-20220208/Packages/centos-logos-85.8-2.el8.aarch64.rpm", -+ "checksum": "sha256:b8dd6d9549148d4469333794b0495817157913de2aa5a6827bb1e20e8cf58d56", -+ "check_gpg": true -+ }, - { - "name": "clevis", - "epoch": 0, -diff --git a/test/data/manifests/centos_8-x86_64-edge_simplified_installer-boot.json b/test/data/manifests/centos_8-x86_64-edge_simplified_installer-boot.json -index d0ee7deac..261e37da0 100644 ---- a/test/data/manifests/centos_8-x86_64-edge_simplified_installer-boot.json -+++ b/test/data/manifests/centos_8-x86_64-edge_simplified_installer-boot.json -@@ -5498,6 +5498,14 @@ - } - } - }, -+ { -+ "id": "sha256:1bf9de8b1436ae1cb5624309a58c677e24dbdf70af96fd7de99cbe7c38655a85", -+ "options": { -+ "metadata": { -+ "rpm.check_gpg": true -+ } -+ } -+ }, - { - "id": "sha256:270361d4856e4c3c0d3efa9b87655c3cb81a0193caf0e2bf8e10f311f0ba1ec6", - "options": { -@@ -6098,6 +6106,37 @@ - ] - } - }, -+ { -+ "type": "org.osbuild.isolinux", -+ "inputs": { -+ "data": { -+ "type": "org.osbuild.tree", -+ "origin": "org.osbuild.pipeline", -+ "references": [ -+ "name:coi-tree" -+ ] -+ } -+ }, -+ "options": { -+ "product": { -+ "name": "CentOS Stream", -+ "version": "8-stream" -+ }, -+ "kernel": { -+ "dir": "/images/pxeboot", -+ "opts": [ -+ "rd.neednet=1", -+ "coreos.inst.crypt_root=1", -+ "coreos.inst.isoroot=CentOS-Stream-8-x86_64-dvd", -+ "coreos.inst.install_dev=/dev/vda", -+ "coreos.inst.image_file=/run/media/iso/image.raw.xz", -+ "coreos.inst.insecure", -+ "fdo.manufacturing_server_url=https;//fdo.example.com", -+ "fdo.diun_pub_key_insecure=true" -+ ] -+ } -+ } -+ }, - { - "type": "org.osbuild.copy", - "inputs": { -@@ -6139,7 +6178,12 @@ - "filename": "simplified-installer.iso", - "volid": "CentOS-Stream-8-x86_64-dvd", - "sysid": "LINUX", -+ "boot": { -+ "image": "isolinux/isolinux.bin", -+ "catalog": "isolinux/boot.cat" -+ }, - "efi": "images/efiboot.img", -+ "isohybridmbr": "/usr/share/syslinux/isohdpfx.bin", - "isolevel": 3 - } - }, -@@ -6296,6 +6340,9 @@ - "sha256:1b18f8d64433a5e74f3c0c0a962737833826527dfa6b9a26942506f7990885af": { - "url": "https://rpmrepo.osbuild.org/v2/mirror/public/el8/cs8-x86_64-baseos-20220208/Packages/python3-librepo-1.14.2-1.el8.x86_64.rpm" - }, -+ "sha256:1bf9de8b1436ae1cb5624309a58c677e24dbdf70af96fd7de99cbe7c38655a85": { -+ "url": "https://rpmrepo.osbuild.org/v2/mirror/public/el8/cs8-x86_64-appstream-20220208/Packages/centos-logos-85.8-2.el8.x86_64.rpm" -+ }, - "sha256:1c4b186665558747023a60d0d662d3780a1bc49e578062f4b70100c71ab2220c": { - "url": "https://rpmrepo.osbuild.org/v2/mirror/public/el8/cs8-x86_64-baseos-20220208/Packages/mokutil-0.3.0-11.el8.x86_64.rpm" - }, -@@ -13479,6 +13526,16 @@ - "checksum": "sha256:c0d2015fe322085dc5cb92709e1a2c852ce783f8436f9eaf38974a580435f4a2", - "check_gpg": true - }, -+ { -+ "name": "centos-logos", -+ "epoch": 0, -+ "version": "85.8", -+ "release": "2.el8", -+ "arch": "x86_64", -+ "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/public/el8/cs8-x86_64-appstream-20220208/Packages/centos-logos-85.8-2.el8.x86_64.rpm", -+ "checksum": "sha256:1bf9de8b1436ae1cb5624309a58c677e24dbdf70af96fd7de99cbe7c38655a85", -+ "check_gpg": true -+ }, - { - "name": "clevis", - "epoch": 0, -diff --git a/test/data/manifests/centos_9-aarch64-edge_simplified_installer-boot.json b/test/data/manifests/centos_9-aarch64-edge_simplified_installer-boot.json -index f922bc01a..fb57f958c 100644 ---- a/test/data/manifests/centos_9-aarch64-edge_simplified_installer-boot.json -+++ b/test/data/manifests/centos_9-aarch64-edge_simplified_installer-boot.json -@@ -3124,6 +3124,14 @@ - } - } - }, -+ { -+ "id": "sha256:7c4228a8b0b081ba72ca2c54a89724a10aedda91898475bab0de2e5b392c12bc", -+ "options": { -+ "metadata": { -+ "rpm.check_gpg": true -+ } -+ } -+ }, - { - "id": "sha256:badd8729863d81a782324f3d6d14fd3b7435763c2623fcc95919f78374c99426", - "options": { -@@ -6809,6 +6817,9 @@ - "sha256:7b3c089462e362919b919e574cd71933e37e1781094a357cd352851608d65a6f": { - "url": "https://rpmrepo.osbuild.org/v2/mirror/public/el9/cs9-aarch64-appstream-20230101/Packages/containers-common-1-46.el9.aarch64.rpm" - }, -+ "sha256:7c4228a8b0b081ba72ca2c54a89724a10aedda91898475bab0de2e5b392c12bc": { -+ "url": "https://rpmrepo.osbuild.org/v2/mirror/public/el9/cs9-aarch64-appstream-20230101/Packages/centos-logos-90.4-1.el9.aarch64.rpm" -+ }, - "sha256:7ccc9d433def3922b81c136a1e3c6bd5882f16b80915b2b92145c7cca4eb1b6b": { - "url": "https://rpmrepo.osbuild.org/v2/mirror/public/el9/cs9-aarch64-baseos-20230101/Packages/libtirpc-1.3.3-1.el9.aarch64.rpm" - }, -@@ -10467,6 +10478,16 @@ - "checksum": "sha256:287460070b8990140a3d2f3b5f7b66933452b2953a7db6b583d6b1b56c0ec962", - "check_gpg": true - }, -+ { -+ "name": "centos-logos", -+ "epoch": 0, -+ "version": "90.4", -+ "release": "1.el9", -+ "arch": "aarch64", -+ "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/public/el9/cs9-aarch64-appstream-20230101/Packages/centos-logos-90.4-1.el9.aarch64.rpm", -+ "checksum": "sha256:7c4228a8b0b081ba72ca2c54a89724a10aedda91898475bab0de2e5b392c12bc", -+ "check_gpg": true -+ }, - { - "name": "checkpolicy", - "epoch": 0, -diff --git a/test/data/manifests/centos_9-x86_64-edge_simplified_installer-boot.json b/test/data/manifests/centos_9-x86_64-edge_simplified_installer-boot.json -index 51e2bbc6d..5902824d1 100644 ---- a/test/data/manifests/centos_9-x86_64-edge_simplified_installer-boot.json -+++ b/test/data/manifests/centos_9-x86_64-edge_simplified_installer-boot.json -@@ -3186,6 +3186,14 @@ - } - } - }, -+ { -+ "id": "sha256:a5eacdd23a3ac1480fbb62021db5bb380469f38d8c2a95d2742eae3f00d44482", -+ "options": { -+ "metadata": { -+ "rpm.check_gpg": true -+ } -+ } -+ }, - { - "id": "sha256:00030b411b38c1ed0babef38334c1ca7505d1548e616d8689eb2a724034d9b28", - "options": { -@@ -6283,6 +6291,37 @@ - ] - } - }, -+ { -+ "type": "org.osbuild.isolinux", -+ "inputs": { -+ "data": { -+ "type": "org.osbuild.tree", -+ "origin": "org.osbuild.pipeline", -+ "references": [ -+ "name:coi-tree" -+ ] -+ } -+ }, -+ "options": { -+ "product": { -+ "name": "CentOS Stream", -+ "version": "9-stream" -+ }, -+ "kernel": { -+ "dir": "/images/pxeboot", -+ "opts": [ -+ "rd.neednet=1", -+ "coreos.inst.crypt_root=1", -+ "coreos.inst.isoroot=CentOS-Stream-9-BaseOS-x86_64", -+ "coreos.inst.install_dev=/dev/vda", -+ "coreos.inst.image_file=/run/media/iso/image.raw.xz", -+ "coreos.inst.insecure", -+ "fdo.manufacturing_server_url=https;//fdo.example.com", -+ "fdo.diun_pub_key_insecure=true" -+ ] -+ } -+ } -+ }, - { - "type": "org.osbuild.copy", - "inputs": { -@@ -6324,7 +6363,12 @@ - "filename": "simplified-installer.iso", - "volid": "CentOS-Stream-9-BaseOS-x86_64", - "sysid": "LINUX", -+ "boot": { -+ "image": "isolinux/isolinux.bin", -+ "catalog": "isolinux/boot.cat" -+ }, - "efi": "images/efiboot.img", -+ "isohybridmbr": "/usr/share/syslinux/isohdpfx.bin", - "isolevel": 3 - } - }, -@@ -7078,6 +7122,9 @@ - "sha256:a42949a7f6c1750c6a07d55907ce7ac3b4b05d281eec0fd5926edc528fb61ab9": { - "url": "https://rpmrepo.osbuild.org/v2/mirror/public/el9/cs9-x86_64-baseos-20230101/Packages/libgudev-237-1.el9.x86_64.rpm" - }, -+ "sha256:a5eacdd23a3ac1480fbb62021db5bb380469f38d8c2a95d2742eae3f00d44482": { -+ "url": "https://rpmrepo.osbuild.org/v2/mirror/public/el9/cs9-x86_64-appstream-20230101/Packages/centos-logos-90.4-1.el9.x86_64.rpm" -+ }, - "sha256:a70fdda85cd771ef5bf5b17c2996e4ff4d21c2e5b1eece1764a87f12e720ab68": { - "url": "https://rpmrepo.osbuild.org/v2/mirror/public/el9/cs9-x86_64-baseos-20230101/Packages/libmnl-1.0.4-15.el9.x86_64.rpm" - }, -@@ -10679,6 +10726,16 @@ - "checksum": "sha256:e454141f6b730c46833881ac3c83de618055629c18520574ad9fd1cf5fd18157", - "check_gpg": true - }, -+ { -+ "name": "centos-logos", -+ "epoch": 0, -+ "version": "90.4", -+ "release": "1.el9", -+ "arch": "x86_64", -+ "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/public/el9/cs9-x86_64-appstream-20230101/Packages/centos-logos-90.4-1.el9.x86_64.rpm", -+ "checksum": "sha256:a5eacdd23a3ac1480fbb62021db5bb380469f38d8c2a95d2742eae3f00d44482", -+ "check_gpg": true -+ }, - { - "name": "checkpolicy", - "epoch": 0, -diff --git a/test/data/manifests/rhel_8-aarch64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_8-aarch64-edge_simplified_installer-boot.json -index 63a5cbe3a..9a0321da5 100644 ---- a/test/data/manifests/rhel_8-aarch64-edge_simplified_installer-boot.json -+++ b/test/data/manifests/rhel_8-aarch64-edge_simplified_installer-boot.json -@@ -2266,6 +2266,9 @@ - { - "id": "sha256:c2f286f6b75caf1508829d748c35833ee5fba762e0175b1f5dbb23ab8ab2079e" - }, -+ { -+ "id": "sha256:eb3514a91e4964b6b237e0f6d808b4e6a0016eb030a2c2566f9c627a4c352fa8" -+ }, - { - "id": "sha256:c2f9ce9ba473dcb0b6a2e20b3362bfcc18762e26bcb1a0a871c2cd5724910c71" - }, -@@ -3906,6 +3909,9 @@ - "sha256:eb29b9d93a6c65047676592e7d90e042ecc18c8e6cf33d8241b30744e8571983": { - "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-aarch64-baseos-n8.7-20221015/Packages/binutils-2.30-117.el8.aarch64.rpm" - }, -+ "sha256:eb3514a91e4964b6b237e0f6d808b4e6a0016eb030a2c2566f9c627a4c352fa8": { -+ "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-aarch64-baseos-n8.7-20221015/Packages/redhat-logos-84.5-1.el8.aarch64.rpm" -+ }, - "sha256:ed28e1e31109e27ce1c676914364c9f1dd46b71d00cb4cf13931f0fec6cf6978": { - "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-aarch64-baseos-n8.7-20221015/Packages/libtasn1-4.13-3.el8.aarch64.rpm" - }, -@@ -8996,6 +9002,15 @@ - "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-aarch64-baseos-n8.7-20221015/Packages/readline-7.0-10.el8.aarch64.rpm", - "checksum": "sha256:c2f286f6b75caf1508829d748c35833ee5fba762e0175b1f5dbb23ab8ab2079e" - }, -+ { -+ "name": "redhat-logos", -+ "epoch": 0, -+ "version": "84.5", -+ "release": "1.el8", -+ "arch": "aarch64", -+ "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-aarch64-baseos-n8.7-20221015/Packages/redhat-logos-84.5-1.el8.aarch64.rpm", -+ "checksum": "sha256:eb3514a91e4964b6b237e0f6d808b4e6a0016eb030a2c2566f9c627a4c352fa8" -+ }, - { - "name": "redhat-release", - "epoch": 0, -diff --git a/test/data/manifests/rhel_8-x86_64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_8-x86_64-edge_simplified_installer-boot.json -index fea9c2756..bbfb932bf 100644 ---- a/test/data/manifests/rhel_8-x86_64-edge_simplified_installer-boot.json -+++ b/test/data/manifests/rhel_8-x86_64-edge_simplified_installer-boot.json -@@ -2312,6 +2312,9 @@ - { - "id": "sha256:ef221ca565f17ed425997e97fdeb5fc27261910659fa61372b18d93e1a5613e9" - }, -+ { -+ "id": "sha256:8efd3d9307abb80a5dd244d76202c3a5591f462f0effbef51e12f0d31ec9d418" -+ }, - { - "id": "sha256:36c07f737470317af023136f3c03e74142c8ff0d55947655ed95970d215a6f9a" - }, -@@ -2810,6 +2813,37 @@ - ] - } - }, -+ { -+ "type": "org.osbuild.isolinux", -+ "inputs": { -+ "data": { -+ "type": "org.osbuild.tree", -+ "origin": "org.osbuild.pipeline", -+ "references": [ -+ "name:coi-tree" -+ ] -+ } -+ }, -+ "options": { -+ "product": { -+ "name": "Red Hat Enterprise Linux", -+ "version": "8.7" -+ }, -+ "kernel": { -+ "dir": "/images/pxeboot", -+ "opts": [ -+ "rd.neednet=1", -+ "coreos.inst.crypt_root=1", -+ "coreos.inst.isoroot=RHEL-8-7-0-BaseOS-x86_64", -+ "coreos.inst.install_dev=/dev/vda", -+ "coreos.inst.image_file=/run/media/iso/image.raw.xz", -+ "coreos.inst.insecure", -+ "fdo.manufacturing_server_url=https;//fdo.example.com", -+ "fdo.diun_pub_key_insecure=true" -+ ] -+ } -+ } -+ }, - { - "type": "org.osbuild.copy", - "inputs": { -@@ -2851,7 +2885,12 @@ - "filename": "simplified-installer.iso", - "volid": "RHEL-8-7-0-BaseOS-x86_64", - "sysid": "LINUX", -+ "boot": { -+ "image": "isolinux/isolinux.bin", -+ "catalog": "isolinux/boot.cat" -+ }, - "efi": "images/efiboot.img", -+ "isohybridmbr": "/usr/share/syslinux/isohdpfx.bin", - "isolevel": 3 - } - }, -@@ -3512,6 +3551,9 @@ - "sha256:8ed24bf92f4a389d82399a2dfcdcd2b8812b354d32e50807ddf557b978532756": { - "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-x86_64-appstream-n8.7-20221015/Packages/libblockdev-loop-2.24-11.el8.x86_64.rpm" - }, -+ "sha256:8efd3d9307abb80a5dd244d76202c3a5591f462f0effbef51e12f0d31ec9d418": { -+ "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-x86_64-baseos-n8.7-20221015/Packages/redhat-logos-84.5-1.el8.x86_64.rpm" -+ }, - "sha256:8fc053b5c801ecbdd880e6676c7a8f43afa6730dff130c145fff37d1f00231f8": { - "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-x86_64-baseos-n8.7-20221015/Packages/iwl2000-firmware-18.168.6.1-110.el8.1.noarch.rpm" - }, -@@ -9193,6 +9235,15 @@ - "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-x86_64-baseos-n8.7-20221015/Packages/readline-7.0-10.el8.x86_64.rpm", - "checksum": "sha256:ef221ca565f17ed425997e97fdeb5fc27261910659fa61372b18d93e1a5613e9" - }, -+ { -+ "name": "redhat-logos", -+ "epoch": 0, -+ "version": "84.5", -+ "release": "1.el8", -+ "arch": "x86_64", -+ "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-x86_64-baseos-n8.7-20221015/Packages/redhat-logos-84.5-1.el8.x86_64.rpm", -+ "checksum": "sha256:8efd3d9307abb80a5dd244d76202c3a5591f462f0effbef51e12f0d31ec9d418" -+ }, - { - "name": "redhat-release", - "epoch": 0, -diff --git a/test/data/manifests/rhel_86-aarch64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_86-aarch64-edge_simplified_installer-boot.json -index 89207defa..4ed0b40eb 100644 ---- a/test/data/manifests/rhel_86-aarch64-edge_simplified_installer-boot.json -+++ b/test/data/manifests/rhel_86-aarch64-edge_simplified_installer-boot.json -@@ -2272,6 +2272,9 @@ - { - "id": "sha256:c2f286f6b75caf1508829d748c35833ee5fba762e0175b1f5dbb23ab8ab2079e" - }, -+ { -+ "id": "sha256:eb3514a91e4964b6b237e0f6d808b4e6a0016eb030a2c2566f9c627a4c352fa8" -+ }, - { - "id": "sha256:244a7fe034af09c4048e6c92e6da4b835cef218c2ad1d2bc4db1386eec8cb56f" - }, -@@ -3909,6 +3912,9 @@ - "sha256:e9993e3d2d37f62717465ae2dbf8b741cd9c4767004fc2a829d68bdc89a7679e": { - "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-aarch64-baseos-n8.6-20220201/Packages/libcom_err-1.45.6-2.el8.aarch64.rpm" - }, -+ "sha256:eb3514a91e4964b6b237e0f6d808b4e6a0016eb030a2c2566f9c627a4c352fa8": { -+ "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-aarch64-baseos-n8.6-20220201/Packages/redhat-logos-84.5-1.el8.aarch64.rpm" -+ }, - "sha256:ebacfc5607f6ed16d4b53d7e642320caa0df3b5edf7253ba1286cc3a230af440": { - "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-aarch64-baseos-n8.6-20220201/Packages/dbus-common-1.12.8-18.el8.noarch.rpm" - }, -@@ -9017,6 +9023,15 @@ - "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-aarch64-baseos-n8.6-20220201/Packages/readline-7.0-10.el8.aarch64.rpm", - "checksum": "sha256:c2f286f6b75caf1508829d748c35833ee5fba762e0175b1f5dbb23ab8ab2079e" - }, -+ { -+ "name": "redhat-logos", -+ "epoch": 0, -+ "version": "84.5", -+ "release": "1.el8", -+ "arch": "aarch64", -+ "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-aarch64-baseos-n8.6-20220201/Packages/redhat-logos-84.5-1.el8.aarch64.rpm", -+ "checksum": "sha256:eb3514a91e4964b6b237e0f6d808b4e6a0016eb030a2c2566f9c627a4c352fa8" -+ }, - { - "name": "redhat-release", - "epoch": 0, -diff --git a/test/data/manifests/rhel_86-x86_64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_86-x86_64-edge_simplified_installer-boot.json -index 20ce30d7c..9d534bbd7 100644 ---- a/test/data/manifests/rhel_86-x86_64-edge_simplified_installer-boot.json -+++ b/test/data/manifests/rhel_86-x86_64-edge_simplified_installer-boot.json -@@ -2318,6 +2318,9 @@ - { - "id": "sha256:ef221ca565f17ed425997e97fdeb5fc27261910659fa61372b18d93e1a5613e9" - }, -+ { -+ "id": "sha256:8efd3d9307abb80a5dd244d76202c3a5591f462f0effbef51e12f0d31ec9d418" -+ }, - { - "id": "sha256:9b1251422cfd498da3569583dea926198827e6e5fcf2a3d3d9c5521401ad0fc9" - }, -@@ -2813,6 +2816,37 @@ - ] - } - }, -+ { -+ "type": "org.osbuild.isolinux", -+ "inputs": { -+ "data": { -+ "type": "org.osbuild.tree", -+ "origin": "org.osbuild.pipeline", -+ "references": [ -+ "name:coi-tree" -+ ] -+ } -+ }, -+ "options": { -+ "product": { -+ "name": "Red Hat Enterprise Linux", -+ "version": "8.6" -+ }, -+ "kernel": { -+ "dir": "/images/pxeboot", -+ "opts": [ -+ "rd.neednet=1", -+ "coreos.inst.crypt_root=1", -+ "coreos.inst.isoroot=RHEL-8-6-0-BaseOS-x86_64", -+ "coreos.inst.install_dev=/dev/vda", -+ "coreos.inst.image_file=/run/media/iso/image.raw.xz", -+ "coreos.inst.insecure", -+ "fdo.manufacturing_server_url=https;//fdo.example.com", -+ "fdo.diun_pub_key_insecure=true" -+ ] -+ } -+ } -+ }, - { - "type": "org.osbuild.copy", - "inputs": { -@@ -2854,7 +2888,12 @@ - "filename": "simplified-installer.iso", - "volid": "RHEL-8-6-0-BaseOS-x86_64", - "sysid": "LINUX", -+ "boot": { -+ "image": "isolinux/isolinux.bin", -+ "catalog": "isolinux/boot.cat" -+ }, - "efi": "images/efiboot.img", -+ "isohybridmbr": "/usr/share/syslinux/isohdpfx.bin", - "isolevel": 3 - } - }, -@@ -3551,6 +3590,9 @@ - "sha256:8ef984beb164090cc29ad2432377e98c37596443bef9142a01c676c02e62f057": { - "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-x86_64-baseos-n8.6-20220201/Packages/rpm-libs-4.14.3-21.el8.x86_64.rpm" - }, -+ "sha256:8efd3d9307abb80a5dd244d76202c3a5591f462f0effbef51e12f0d31ec9d418": { -+ "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-x86_64-baseos-n8.6-20220201/Packages/redhat-logos-84.5-1.el8.x86_64.rpm" -+ }, - "sha256:8feb2ad7758487b1fa632fbc353cb4f93d2bdaf4d29262b9498baee122aa9502": { - "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-x86_64-appstream-n8.6-20220201/Packages/cloud-utils-growpart-0.31-3.el8.noarch.rpm" - }, -@@ -9214,6 +9256,15 @@ - "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-x86_64-baseos-n8.6-20220201/Packages/readline-7.0-10.el8.x86_64.rpm", - "checksum": "sha256:ef221ca565f17ed425997e97fdeb5fc27261910659fa61372b18d93e1a5613e9" - }, -+ { -+ "name": "redhat-logos", -+ "epoch": 0, -+ "version": "84.5", -+ "release": "1.el8", -+ "arch": "x86_64", -+ "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-x86_64-baseos-n8.6-20220201/Packages/redhat-logos-84.5-1.el8.x86_64.rpm", -+ "checksum": "sha256:8efd3d9307abb80a5dd244d76202c3a5591f462f0effbef51e12f0d31ec9d418" -+ }, - { - "name": "redhat-release", - "epoch": 0, -diff --git a/test/data/manifests/rhel_87-aarch64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_87-aarch64-edge_simplified_installer-boot.json -index ecd995d10..fd3997b47 100644 ---- a/test/data/manifests/rhel_87-aarch64-edge_simplified_installer-boot.json -+++ b/test/data/manifests/rhel_87-aarch64-edge_simplified_installer-boot.json -@@ -2266,6 +2266,9 @@ - { - "id": "sha256:c2f286f6b75caf1508829d748c35833ee5fba762e0175b1f5dbb23ab8ab2079e" - }, -+ { -+ "id": "sha256:eb3514a91e4964b6b237e0f6d808b4e6a0016eb030a2c2566f9c627a4c352fa8" -+ }, - { - "id": "sha256:c2f9ce9ba473dcb0b6a2e20b3362bfcc18762e26bcb1a0a871c2cd5724910c71" - }, -@@ -3906,6 +3909,9 @@ - "sha256:eb29b9d93a6c65047676592e7d90e042ecc18c8e6cf33d8241b30744e8571983": { - "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-aarch64-baseos-n8.7-20221015/Packages/binutils-2.30-117.el8.aarch64.rpm" - }, -+ "sha256:eb3514a91e4964b6b237e0f6d808b4e6a0016eb030a2c2566f9c627a4c352fa8": { -+ "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-aarch64-baseos-n8.7-20221015/Packages/redhat-logos-84.5-1.el8.aarch64.rpm" -+ }, - "sha256:ed28e1e31109e27ce1c676914364c9f1dd46b71d00cb4cf13931f0fec6cf6978": { - "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-aarch64-baseos-n8.7-20221015/Packages/libtasn1-4.13-3.el8.aarch64.rpm" - }, -@@ -8996,6 +9002,15 @@ - "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-aarch64-baseos-n8.7-20221015/Packages/readline-7.0-10.el8.aarch64.rpm", - "checksum": "sha256:c2f286f6b75caf1508829d748c35833ee5fba762e0175b1f5dbb23ab8ab2079e" - }, -+ { -+ "name": "redhat-logos", -+ "epoch": 0, -+ "version": "84.5", -+ "release": "1.el8", -+ "arch": "aarch64", -+ "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-aarch64-baseos-n8.7-20221015/Packages/redhat-logos-84.5-1.el8.aarch64.rpm", -+ "checksum": "sha256:eb3514a91e4964b6b237e0f6d808b4e6a0016eb030a2c2566f9c627a4c352fa8" -+ }, - { - "name": "redhat-release", - "epoch": 0, -diff --git a/test/data/manifests/rhel_87-x86_64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_87-x86_64-edge_simplified_installer-boot.json -index 728292143..7f5c7b2bd 100644 ---- a/test/data/manifests/rhel_87-x86_64-edge_simplified_installer-boot.json -+++ b/test/data/manifests/rhel_87-x86_64-edge_simplified_installer-boot.json -@@ -2312,6 +2312,9 @@ - { - "id": "sha256:ef221ca565f17ed425997e97fdeb5fc27261910659fa61372b18d93e1a5613e9" - }, -+ { -+ "id": "sha256:8efd3d9307abb80a5dd244d76202c3a5591f462f0effbef51e12f0d31ec9d418" -+ }, - { - "id": "sha256:36c07f737470317af023136f3c03e74142c8ff0d55947655ed95970d215a6f9a" - }, -@@ -2810,6 +2813,37 @@ - ] - } - }, -+ { -+ "type": "org.osbuild.isolinux", -+ "inputs": { -+ "data": { -+ "type": "org.osbuild.tree", -+ "origin": "org.osbuild.pipeline", -+ "references": [ -+ "name:coi-tree" -+ ] -+ } -+ }, -+ "options": { -+ "product": { -+ "name": "Red Hat Enterprise Linux", -+ "version": "8.7" -+ }, -+ "kernel": { -+ "dir": "/images/pxeboot", -+ "opts": [ -+ "rd.neednet=1", -+ "coreos.inst.crypt_root=1", -+ "coreos.inst.isoroot=RHEL-8-7-0-BaseOS-x86_64", -+ "coreos.inst.install_dev=/dev/vda", -+ "coreos.inst.image_file=/run/media/iso/image.raw.xz", -+ "coreos.inst.insecure", -+ "fdo.manufacturing_server_url=https;//fdo.example.com", -+ "fdo.diun_pub_key_insecure=true" -+ ] -+ } -+ } -+ }, - { - "type": "org.osbuild.copy", - "inputs": { -@@ -2851,7 +2885,12 @@ - "filename": "simplified-installer.iso", - "volid": "RHEL-8-7-0-BaseOS-x86_64", - "sysid": "LINUX", -+ "boot": { -+ "image": "isolinux/isolinux.bin", -+ "catalog": "isolinux/boot.cat" -+ }, - "efi": "images/efiboot.img", -+ "isohybridmbr": "/usr/share/syslinux/isohdpfx.bin", - "isolevel": 3 - } - }, -@@ -3512,6 +3551,9 @@ - "sha256:8ed24bf92f4a389d82399a2dfcdcd2b8812b354d32e50807ddf557b978532756": { - "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-x86_64-appstream-n8.7-20221015/Packages/libblockdev-loop-2.24-11.el8.x86_64.rpm" - }, -+ "sha256:8efd3d9307abb80a5dd244d76202c3a5591f462f0effbef51e12f0d31ec9d418": { -+ "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-x86_64-baseos-n8.7-20221015/Packages/redhat-logos-84.5-1.el8.x86_64.rpm" -+ }, - "sha256:8fc053b5c801ecbdd880e6676c7a8f43afa6730dff130c145fff37d1f00231f8": { - "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-x86_64-baseos-n8.7-20221015/Packages/iwl2000-firmware-18.168.6.1-110.el8.1.noarch.rpm" - }, -@@ -9193,6 +9235,15 @@ - "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-x86_64-baseos-n8.7-20221015/Packages/readline-7.0-10.el8.x86_64.rpm", - "checksum": "sha256:ef221ca565f17ed425997e97fdeb5fc27261910659fa61372b18d93e1a5613e9" - }, -+ { -+ "name": "redhat-logos", -+ "epoch": 0, -+ "version": "84.5", -+ "release": "1.el8", -+ "arch": "x86_64", -+ "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-x86_64-baseos-n8.7-20221015/Packages/redhat-logos-84.5-1.el8.x86_64.rpm", -+ "checksum": "sha256:8efd3d9307abb80a5dd244d76202c3a5591f462f0effbef51e12f0d31ec9d418" -+ }, - { - "name": "redhat-release", - "epoch": 0, -diff --git a/test/data/manifests/rhel_88-aarch64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_88-aarch64-edge_simplified_installer-boot.json -index a417ce45e..bba931347 100644 ---- a/test/data/manifests/rhel_88-aarch64-edge_simplified_installer-boot.json -+++ b/test/data/manifests/rhel_88-aarch64-edge_simplified_installer-boot.json -@@ -2266,6 +2266,9 @@ - { - "id": "sha256:c2f286f6b75caf1508829d748c35833ee5fba762e0175b1f5dbb23ab8ab2079e" - }, -+ { -+ "id": "sha256:eb3514a91e4964b6b237e0f6d808b4e6a0016eb030a2c2566f9c627a4c352fa8" -+ }, - { - "id": "sha256:612bfe0f6aaef375518169a0d4d41a2945b09d6e9e297e83ecef82031c432490" - }, -@@ -3903,6 +3906,9 @@ - "sha256:e96db2f374859e49b6270520274aa0225c060dd4a5a9363e8fdceac206223901": { - "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-aarch64-appstream-n8.8-20221025/Packages/plymouth-0.9.4-11.20200615git1e36e30.el8.aarch64.rpm" - }, -+ "sha256:eb3514a91e4964b6b237e0f6d808b4e6a0016eb030a2c2566f9c627a4c352fa8": { -+ "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-aarch64-baseos-n8.8-20221025/Packages/redhat-logos-84.5-1.el8.aarch64.rpm" -+ }, - "sha256:ec1e8c912cc2302e0e5b94d3d31dc40a6a1e082f14c69ef32400b8bfeef791c1": { - "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-aarch64-baseos-n8.8-20221025/Packages/glibc-all-langpacks-2.28-216.el8.aarch64.rpm" - }, -@@ -8996,6 +9002,15 @@ - "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-aarch64-baseos-n8.8-20221025/Packages/readline-7.0-10.el8.aarch64.rpm", - "checksum": "sha256:c2f286f6b75caf1508829d748c35833ee5fba762e0175b1f5dbb23ab8ab2079e" - }, -+ { -+ "name": "redhat-logos", -+ "epoch": 0, -+ "version": "84.5", -+ "release": "1.el8", -+ "arch": "aarch64", -+ "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-aarch64-baseos-n8.8-20221025/Packages/redhat-logos-84.5-1.el8.aarch64.rpm", -+ "checksum": "sha256:eb3514a91e4964b6b237e0f6d808b4e6a0016eb030a2c2566f9c627a4c352fa8" -+ }, - { - "name": "redhat-release", - "epoch": 0, -diff --git a/test/data/manifests/rhel_88-x86_64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_88-x86_64-edge_simplified_installer-boot.json -index 7635c6385..1df88c376 100644 ---- a/test/data/manifests/rhel_88-x86_64-edge_simplified_installer-boot.json -+++ b/test/data/manifests/rhel_88-x86_64-edge_simplified_installer-boot.json -@@ -2312,6 +2312,9 @@ - { - "id": "sha256:ef221ca565f17ed425997e97fdeb5fc27261910659fa61372b18d93e1a5613e9" - }, -+ { -+ "id": "sha256:8efd3d9307abb80a5dd244d76202c3a5591f462f0effbef51e12f0d31ec9d418" -+ }, - { - "id": "sha256:26f7b39b6fc3f5ed6a650e616ec6816fd7c49a19290f9bba32e34fafd067a1ea" - }, -@@ -2810,6 +2813,37 @@ - ] - } - }, -+ { -+ "type": "org.osbuild.isolinux", -+ "inputs": { -+ "data": { -+ "type": "org.osbuild.tree", -+ "origin": "org.osbuild.pipeline", -+ "references": [ -+ "name:coi-tree" -+ ] -+ } -+ }, -+ "options": { -+ "product": { -+ "name": "Red Hat Enterprise Linux", -+ "version": "8.8" -+ }, -+ "kernel": { -+ "dir": "/images/pxeboot", -+ "opts": [ -+ "rd.neednet=1", -+ "coreos.inst.crypt_root=1", -+ "coreos.inst.isoroot=RHEL-8-8-0-BaseOS-x86_64", -+ "coreos.inst.install_dev=/dev/vda", -+ "coreos.inst.image_file=/run/media/iso/image.raw.xz", -+ "coreos.inst.insecure", -+ "fdo.manufacturing_server_url=https;//fdo.example.com", -+ "fdo.diun_pub_key_insecure=true" -+ ] -+ } -+ } -+ }, - { - "type": "org.osbuild.copy", - "inputs": { -@@ -2851,7 +2885,12 @@ - "filename": "simplified-installer.iso", - "volid": "RHEL-8-8-0-BaseOS-x86_64", - "sysid": "LINUX", -+ "boot": { -+ "image": "isolinux/isolinux.bin", -+ "catalog": "isolinux/boot.cat" -+ }, - "efi": "images/efiboot.img", -+ "isohybridmbr": "/usr/share/syslinux/isohdpfx.bin", - "isolevel": 3 - } - }, -@@ -3536,6 +3575,9 @@ - "sha256:8e31f6cca87a15d2d3216571b3d7c84755c2e79ff5f7c1bf02c75dbf696a47ca": { - "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-x86_64-baseos-n8.8-20221025/Packages/elfutils-libelf-0.187-4.el8.x86_64.rpm" - }, -+ "sha256:8efd3d9307abb80a5dd244d76202c3a5591f462f0effbef51e12f0d31ec9d418": { -+ "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-x86_64-baseos-n8.8-20221025/Packages/redhat-logos-84.5-1.el8.x86_64.rpm" -+ }, - "sha256:8fc053b5c801ecbdd880e6676c7a8f43afa6730dff130c145fff37d1f00231f8": { - "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-x86_64-baseos-n8.8-20221025/Packages/iwl2000-firmware-18.168.6.1-110.el8.1.noarch.rpm" - }, -@@ -9193,6 +9235,15 @@ - "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-x86_64-baseos-n8.8-20221025/Packages/readline-7.0-10.el8.x86_64.rpm", - "checksum": "sha256:ef221ca565f17ed425997e97fdeb5fc27261910659fa61372b18d93e1a5613e9" - }, -+ { -+ "name": "redhat-logos", -+ "epoch": 0, -+ "version": "84.5", -+ "release": "1.el8", -+ "arch": "x86_64", -+ "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el8/el8-x86_64-baseos-n8.8-20221025/Packages/redhat-logos-84.5-1.el8.x86_64.rpm", -+ "checksum": "sha256:8efd3d9307abb80a5dd244d76202c3a5591f462f0effbef51e12f0d31ec9d418" -+ }, - { - "name": "redhat-release", - "epoch": 0, -diff --git a/test/data/manifests/rhel_9-aarch64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_9-aarch64-edge_simplified_installer-boot.json -index f98b7b296..8a846fc18 100644 ---- a/test/data/manifests/rhel_9-aarch64-edge_simplified_installer-boot.json -+++ b/test/data/manifests/rhel_9-aarch64-edge_simplified_installer-boot.json -@@ -5943,6 +5943,14 @@ - } - } - }, -+ { -+ "id": "sha256:80113c2978bf7cce2bc94f3c887ca77621ffec0d0ab38df730bed8c2461849f7", -+ "options": { -+ "metadata": { -+ "rpm.check_gpg": true -+ } -+ } -+ }, - { - "id": "sha256:7ccc4a5fa203fcbac963a392d29cd3bcbe82fb762833e8d406b1f11dc8451639", - "options": { -@@ -6896,6 +6904,9 @@ - "sha256:7e9179402556fa825fcfb16e873eb67b2b6c810149162e83ee771f997fd8f2ec": { - "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-baseos-n9.1-20221015/Packages/tar-1.34-5.el9.aarch64.rpm" - }, -+ "sha256:80113c2978bf7cce2bc94f3c887ca77621ffec0d0ab38df730bed8c2461849f7": { -+ "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-appstream-n9.1-20221015/Packages/redhat-logos-90.4-1.el9.aarch64.rpm" -+ }, - "sha256:8021ebcd73fcdfb0fed4e9077d8483d1a2dfa95acc1bd823ecd77e49ac3ddb27": { - "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-baseos-n9.1-20221015/Packages/libbasicobjects-0.1.1-53.el9.aarch64.rpm" - }, -@@ -14073,6 +14084,16 @@ - "checksum": "sha256:686eca65f9fe16b47d9006aee1735b0f70c10e532e7e547c3be740e91ac4aaec", - "check_gpg": true - }, -+ { -+ "name": "redhat-logos", -+ "epoch": 0, -+ "version": "90.4", -+ "release": "1.el9", -+ "arch": "aarch64", -+ "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-appstream-n9.1-20221015/Packages/redhat-logos-90.4-1.el9.aarch64.rpm", -+ "checksum": "sha256:80113c2978bf7cce2bc94f3c887ca77621ffec0d0ab38df730bed8c2461849f7", -+ "check_gpg": true -+ }, - { - "name": "tpm2-tools", - "epoch": 0, -diff --git a/test/data/manifests/rhel_9-x86_64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_9-x86_64-edge_simplified_installer-boot.json -index ef91594a5..d88a02e84 100644 ---- a/test/data/manifests/rhel_9-x86_64-edge_simplified_installer-boot.json -+++ b/test/data/manifests/rhel_9-x86_64-edge_simplified_installer-boot.json -@@ -6070,6 +6070,14 @@ - } - } - }, -+ { -+ "id": "sha256:5a43c616c3f06fbba7d45ea4cdd87ca58cc46102908e089a14604de5d55a0393", -+ "options": { -+ "metadata": { -+ "rpm.check_gpg": true -+ } -+ } -+ }, - { - "id": "sha256:0dcd6624357942ada8b2ebf933ee47e11b1cbdc4eaee545519c43420adb6f46b", - "options": { -@@ -6326,6 +6334,37 @@ - ] - } - }, -+ { -+ "type": "org.osbuild.isolinux", -+ "inputs": { -+ "data": { -+ "type": "org.osbuild.tree", -+ "origin": "org.osbuild.pipeline", -+ "references": [ -+ "name:coi-tree" -+ ] -+ } -+ }, -+ "options": { -+ "product": { -+ "name": "Red Hat Enterprise Linux", -+ "version": "9.1" -+ }, -+ "kernel": { -+ "dir": "/images/pxeboot", -+ "opts": [ -+ "rd.neednet=1", -+ "coreos.inst.crypt_root=1", -+ "coreos.inst.isoroot=RHEL-9-1-0-BaseOS-x86_64", -+ "coreos.inst.install_dev=/dev/vda", -+ "coreos.inst.image_file=/run/media/iso/image.raw.xz", -+ "coreos.inst.insecure", -+ "fdo.manufacturing_server_url=https;//fdo.example.com", -+ "fdo.diun_pub_key_insecure=true" -+ ] -+ } -+ } -+ }, - { - "type": "org.osbuild.copy", - "inputs": { -@@ -6367,7 +6406,12 @@ - "filename": "simplified-installer.iso", - "volid": "RHEL-9-1-0-BaseOS-x86_64", - "sysid": "LINUX", -+ "boot": { -+ "image": "isolinux/isolinux.bin", -+ "catalog": "isolinux/boot.cat" -+ }, - "efi": "images/efiboot.img", -+ "isohybridmbr": "/usr/share/syslinux/isohdpfx.bin", - "isolevel": 3 - } - }, -@@ -6818,6 +6862,9 @@ - "sha256:59b4bd1290c57f7cea8208def04d77e36ba3e66576043b17d3a52508ed704b1a": { - "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-baseos-n9.1-20221015/Packages/fcoe-utils-1.0.34-0.git14ef0d2.el9.x86_64.rpm" - }, -+ "sha256:5a43c616c3f06fbba7d45ea4cdd87ca58cc46102908e089a14604de5d55a0393": { -+ "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-appstream-n9.1-20221015/Packages/redhat-logos-90.4-1.el9.x86_64.rpm" -+ }, - "sha256:5a93097e08e847b113105a170132f74d91cf7143d2772fc73f78526ee32f32d7": { - "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-baseos-n9.1-20221015/Packages/iwl6050-firmware-41.28.5.1-127.el9.noarch.rpm" - }, -@@ -14367,6 +14414,16 @@ - "checksum": "sha256:686eca65f9fe16b47d9006aee1735b0f70c10e532e7e547c3be740e91ac4aaec", - "check_gpg": true - }, -+ { -+ "name": "redhat-logos", -+ "epoch": 0, -+ "version": "90.4", -+ "release": "1.el9", -+ "arch": "x86_64", -+ "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-appstream-n9.1-20221015/Packages/redhat-logos-90.4-1.el9.x86_64.rpm", -+ "checksum": "sha256:5a43c616c3f06fbba7d45ea4cdd87ca58cc46102908e089a14604de5d55a0393", -+ "check_gpg": true -+ }, - { - "name": "udisks2", - "epoch": 0, -diff --git a/test/data/manifests/rhel_90-aarch64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_90-aarch64-edge_simplified_installer-boot.json -index 3efc462da..e01ae18f9 100644 ---- a/test/data/manifests/rhel_90-aarch64-edge_simplified_installer-boot.json -+++ b/test/data/manifests/rhel_90-aarch64-edge_simplified_installer-boot.json -@@ -2570,6 +2570,9 @@ - { - "id": "sha256:5c06d2a85bec668b8a9ba52b9d237770e37a2e4db014e7e8dc0cebaaf692af1e" - }, -+ { -+ "id": "sha256:1dd2260e41946bf3914f77de2264555ccf20d0b49e17ff75c1b561319735520b" -+ }, - { - "id": "sha256:339116c6415c611943a78d8d1aa15104cec30ad7c2e49014e97538cb946fc445" - }, -@@ -3022,6 +3025,9 @@ - "sha256:1d78714f790bbd6ba9ce602a40c27d94bcbdbf1a238d3f4f15de4a0503257640": { - "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-baseos-n9.0-20220208/Packages/selinux-policy-34.1.23-1.el9.noarch.rpm" - }, -+ "sha256:1dd2260e41946bf3914f77de2264555ccf20d0b49e17ff75c1b561319735520b": { -+ "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-appstream-n9.0-20220208/Packages/redhat-logos-90.2-1.el9.aarch64.rpm" -+ }, - "sha256:1dd3f265935e073215dffb6931dfb872d7cd94a6c08503a36b3ff8c8a8a25e34": { - "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-baseos-n9.0-20220208/Packages/grub2-tools-extra-2.06-16.el9.aarch64.rpm" - }, -@@ -9756,6 +9762,15 @@ - "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-appstream-n9.0-20220208/Packages/python3-policycoreutils-3.3-2.el9.noarch.rpm", - "checksum": "sha256:5c06d2a85bec668b8a9ba52b9d237770e37a2e4db014e7e8dc0cebaaf692af1e" - }, -+ { -+ "name": "redhat-logos", -+ "epoch": 0, -+ "version": "90.2", -+ "release": "1.el9", -+ "arch": "aarch64", -+ "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-appstream-n9.0-20220208/Packages/redhat-logos-90.2-1.el9.aarch64.rpm", -+ "checksum": "sha256:1dd2260e41946bf3914f77de2264555ccf20d0b49e17ff75c1b561319735520b" -+ }, - { - "name": "tpm2-tools", - "epoch": 0, -diff --git a/test/data/manifests/rhel_90-x86_64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_90-x86_64-edge_simplified_installer-boot.json -index 76e558aa5..18cfc1a0c 100644 ---- a/test/data/manifests/rhel_90-x86_64-edge_simplified_installer-boot.json -+++ b/test/data/manifests/rhel_90-x86_64-edge_simplified_installer-boot.json -@@ -2628,6 +2628,9 @@ - { - "id": "sha256:5c06d2a85bec668b8a9ba52b9d237770e37a2e4db014e7e8dc0cebaaf692af1e" - }, -+ { -+ "id": "sha256:49191fa272d3c16c219f1b27fd86bd085fa1ae3bac38946de40926b35773c4c4" -+ }, - { - "id": "sha256:4361d66a963fe8c62bd1a4e887a06fbe937faa70a7ac704a127021937b2e1b69" - }, -@@ -2874,6 +2877,37 @@ - ] - } - }, -+ { -+ "type": "org.osbuild.isolinux", -+ "inputs": { -+ "data": { -+ "type": "org.osbuild.tree", -+ "origin": "org.osbuild.pipeline", -+ "references": [ -+ "name:coi-tree" -+ ] -+ } -+ }, -+ "options": { -+ "product": { -+ "name": "Red Hat Enterprise Linux", -+ "version": "9.0" -+ }, -+ "kernel": { -+ "dir": "/images/pxeboot", -+ "opts": [ -+ "rd.neednet=1", -+ "coreos.inst.crypt_root=1", -+ "coreos.inst.isoroot=RHEL-9-0-0-BaseOS-x86_64", -+ "coreos.inst.install_dev=/dev/vda", -+ "coreos.inst.image_file=/run/media/iso/image.raw.xz", -+ "coreos.inst.insecure", -+ "fdo.manufacturing_server_url=https;//fdo.example.com", -+ "fdo.diun_pub_key_insecure=true" -+ ] -+ } -+ } -+ }, - { - "type": "org.osbuild.copy", - "inputs": { -@@ -2915,7 +2949,12 @@ - "filename": "simplified-installer.iso", - "volid": "RHEL-9-0-0-BaseOS-x86_64", - "sysid": "LINUX", -+ "boot": { -+ "image": "isolinux/isolinux.bin", -+ "catalog": "isolinux/boot.cat" -+ }, - "efi": "images/efiboot.img", -+ "isohybridmbr": "/usr/share/syslinux/isohdpfx.bin", - "isolevel": 3 - } - }, -@@ -3258,6 +3297,9 @@ - "sha256:4900de5fe7cf57df87d84d84a35e2031bb0668494c12da6d26c617f0d23f060d": { - "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-baseos-n9.0-20220208/Packages/iwl2030-firmware-18.168.6.1-124.el9.noarch.rpm" - }, -+ "sha256:49191fa272d3c16c219f1b27fd86bd085fa1ae3bac38946de40926b35773c4c4": { -+ "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-appstream-n9.0-20220208/Packages/redhat-logos-90.2-1.el9.x86_64.rpm" -+ }, - "sha256:49f7baeb53e07a4b9b5739e36932f17f014abb765b3fa6c0c0f8af6a8ebf4d9b": { - "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-baseos-n9.0-20220208/Packages/attr-2.5.1-3.el9.x86_64.rpm" - }, -@@ -9992,6 +10034,15 @@ - "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-appstream-n9.0-20220208/Packages/python3-policycoreutils-3.3-2.el9.noarch.rpm", - "checksum": "sha256:5c06d2a85bec668b8a9ba52b9d237770e37a2e4db014e7e8dc0cebaaf692af1e" - }, -+ { -+ "name": "redhat-logos", -+ "epoch": 0, -+ "version": "90.2", -+ "release": "1.el9", -+ "arch": "x86_64", -+ "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-appstream-n9.0-20220208/Packages/redhat-logos-90.2-1.el9.x86_64.rpm", -+ "checksum": "sha256:49191fa272d3c16c219f1b27fd86bd085fa1ae3bac38946de40926b35773c4c4" -+ }, - { - "name": "udisks2", - "epoch": 0, -diff --git a/test/data/manifests/rhel_91-aarch64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_91-aarch64-edge_simplified_installer-boot.json -index 3b749716d..20527d8a9 100644 ---- a/test/data/manifests/rhel_91-aarch64-edge_simplified_installer-boot.json -+++ b/test/data/manifests/rhel_91-aarch64-edge_simplified_installer-boot.json -@@ -5943,6 +5943,14 @@ - } - } - }, -+ { -+ "id": "sha256:80113c2978bf7cce2bc94f3c887ca77621ffec0d0ab38df730bed8c2461849f7", -+ "options": { -+ "metadata": { -+ "rpm.check_gpg": true -+ } -+ } -+ }, - { - "id": "sha256:7ccc4a5fa203fcbac963a392d29cd3bcbe82fb762833e8d406b1f11dc8451639", - "options": { -@@ -6896,6 +6904,9 @@ - "sha256:7e9179402556fa825fcfb16e873eb67b2b6c810149162e83ee771f997fd8f2ec": { - "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-baseos-n9.1-20221015/Packages/tar-1.34-5.el9.aarch64.rpm" - }, -+ "sha256:80113c2978bf7cce2bc94f3c887ca77621ffec0d0ab38df730bed8c2461849f7": { -+ "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-appstream-n9.1-20221015/Packages/redhat-logos-90.4-1.el9.aarch64.rpm" -+ }, - "sha256:8021ebcd73fcdfb0fed4e9077d8483d1a2dfa95acc1bd823ecd77e49ac3ddb27": { - "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-baseos-n9.1-20221015/Packages/libbasicobjects-0.1.1-53.el9.aarch64.rpm" - }, -@@ -14073,6 +14084,16 @@ - "checksum": "sha256:686eca65f9fe16b47d9006aee1735b0f70c10e532e7e547c3be740e91ac4aaec", - "check_gpg": true - }, -+ { -+ "name": "redhat-logos", -+ "epoch": 0, -+ "version": "90.4", -+ "release": "1.el9", -+ "arch": "aarch64", -+ "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-appstream-n9.1-20221015/Packages/redhat-logos-90.4-1.el9.aarch64.rpm", -+ "checksum": "sha256:80113c2978bf7cce2bc94f3c887ca77621ffec0d0ab38df730bed8c2461849f7", -+ "check_gpg": true -+ }, - { - "name": "tpm2-tools", - "epoch": 0, -diff --git a/test/data/manifests/rhel_91-x86_64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_91-x86_64-edge_simplified_installer-boot.json -index 52ec164de..bc875b60a 100644 ---- a/test/data/manifests/rhel_91-x86_64-edge_simplified_installer-boot.json -+++ b/test/data/manifests/rhel_91-x86_64-edge_simplified_installer-boot.json -@@ -6070,6 +6070,14 @@ - } - } - }, -+ { -+ "id": "sha256:5a43c616c3f06fbba7d45ea4cdd87ca58cc46102908e089a14604de5d55a0393", -+ "options": { -+ "metadata": { -+ "rpm.check_gpg": true -+ } -+ } -+ }, - { - "id": "sha256:0dcd6624357942ada8b2ebf933ee47e11b1cbdc4eaee545519c43420adb6f46b", - "options": { -@@ -6326,6 +6334,37 @@ - ] - } - }, -+ { -+ "type": "org.osbuild.isolinux", -+ "inputs": { -+ "data": { -+ "type": "org.osbuild.tree", -+ "origin": "org.osbuild.pipeline", -+ "references": [ -+ "name:coi-tree" -+ ] -+ } -+ }, -+ "options": { -+ "product": { -+ "name": "Red Hat Enterprise Linux", -+ "version": "9.1" -+ }, -+ "kernel": { -+ "dir": "/images/pxeboot", -+ "opts": [ -+ "rd.neednet=1", -+ "coreos.inst.crypt_root=1", -+ "coreos.inst.isoroot=RHEL-9-1-0-BaseOS-x86_64", -+ "coreos.inst.install_dev=/dev/vda", -+ "coreos.inst.image_file=/run/media/iso/image.raw.xz", -+ "coreos.inst.insecure", -+ "fdo.manufacturing_server_url=https;//fdo.example.com", -+ "fdo.diun_pub_key_insecure=true" -+ ] -+ } -+ } -+ }, - { - "type": "org.osbuild.copy", - "inputs": { -@@ -6367,7 +6406,12 @@ - "filename": "simplified-installer.iso", - "volid": "RHEL-9-1-0-BaseOS-x86_64", - "sysid": "LINUX", -+ "boot": { -+ "image": "isolinux/isolinux.bin", -+ "catalog": "isolinux/boot.cat" -+ }, - "efi": "images/efiboot.img", -+ "isohybridmbr": "/usr/share/syslinux/isohdpfx.bin", - "isolevel": 3 - } - }, -@@ -6818,6 +6862,9 @@ - "sha256:59b4bd1290c57f7cea8208def04d77e36ba3e66576043b17d3a52508ed704b1a": { - "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-baseos-n9.1-20221015/Packages/fcoe-utils-1.0.34-0.git14ef0d2.el9.x86_64.rpm" - }, -+ "sha256:5a43c616c3f06fbba7d45ea4cdd87ca58cc46102908e089a14604de5d55a0393": { -+ "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-appstream-n9.1-20221015/Packages/redhat-logos-90.4-1.el9.x86_64.rpm" -+ }, - "sha256:5a93097e08e847b113105a170132f74d91cf7143d2772fc73f78526ee32f32d7": { - "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-baseos-n9.1-20221015/Packages/iwl6050-firmware-41.28.5.1-127.el9.noarch.rpm" - }, -@@ -14367,6 +14414,16 @@ - "checksum": "sha256:686eca65f9fe16b47d9006aee1735b0f70c10e532e7e547c3be740e91ac4aaec", - "check_gpg": true - }, -+ { -+ "name": "redhat-logos", -+ "epoch": 0, -+ "version": "90.4", -+ "release": "1.el9", -+ "arch": "x86_64", -+ "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-appstream-n9.1-20221015/Packages/redhat-logos-90.4-1.el9.x86_64.rpm", -+ "checksum": "sha256:5a43c616c3f06fbba7d45ea4cdd87ca58cc46102908e089a14604de5d55a0393", -+ "check_gpg": true -+ }, - { - "name": "udisks2", - "epoch": 0, -diff --git a/test/data/manifests/rhel_92-aarch64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_92-aarch64-edge_simplified_installer-boot.json -index 1e4d75d87..e20501676 100644 ---- a/test/data/manifests/rhel_92-aarch64-edge_simplified_installer-boot.json -+++ b/test/data/manifests/rhel_92-aarch64-edge_simplified_installer-boot.json -@@ -5892,6 +5892,14 @@ - } - } - }, -+ { -+ "id": "sha256:80113c2978bf7cce2bc94f3c887ca77621ffec0d0ab38df730bed8c2461849f7", -+ "options": { -+ "metadata": { -+ "rpm.check_gpg": true -+ } -+ } -+ }, - { - "id": "sha256:f78a2a07073e949a115b2d95a6119eb6547b992c00c7af9af6887709030e4af4", - "options": { -@@ -6782,6 +6790,9 @@ - "sha256:7f5398b37571d6eead55c4c1f793e5934c00847a709dbe844b21a633a59fb684": { - "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-baseos-n9.2-20230101/Packages/device-mapper-libs-1.02.187-3.el9.aarch64.rpm" - }, -+ "sha256:80113c2978bf7cce2bc94f3c887ca77621ffec0d0ab38df730bed8c2461849f7": { -+ "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-appstream-n9.2-20230101/Packages/redhat-logos-90.4-1.el9.aarch64.rpm" -+ }, - "sha256:8021ebcd73fcdfb0fed4e9077d8483d1a2dfa95acc1bd823ecd77e49ac3ddb27": { - "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-baseos-n9.2-20230101/Packages/libbasicobjects-0.1.1-53.el9.aarch64.rpm" - }, -@@ -13927,6 +13938,16 @@ - "checksum": "sha256:686eca65f9fe16b47d9006aee1735b0f70c10e532e7e547c3be740e91ac4aaec", - "check_gpg": true - }, -+ { -+ "name": "redhat-logos", -+ "epoch": 0, -+ "version": "90.4", -+ "release": "1.el9", -+ "arch": "aarch64", -+ "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-appstream-n9.2-20230101/Packages/redhat-logos-90.4-1.el9.aarch64.rpm", -+ "checksum": "sha256:80113c2978bf7cce2bc94f3c887ca77621ffec0d0ab38df730bed8c2461849f7", -+ "check_gpg": true -+ }, - { - "name": "tpm2-tools", - "epoch": 0, -diff --git a/test/data/manifests/rhel_92-x86_64-edge_simplified_installer-boot.json b/test/data/manifests/rhel_92-x86_64-edge_simplified_installer-boot.json -index 090db489f..aa3b51094 100644 ---- a/test/data/manifests/rhel_92-x86_64-edge_simplified_installer-boot.json -+++ b/test/data/manifests/rhel_92-x86_64-edge_simplified_installer-boot.json -@@ -6019,6 +6019,14 @@ - } - } - }, -+ { -+ "id": "sha256:5a43c616c3f06fbba7d45ea4cdd87ca58cc46102908e089a14604de5d55a0393", -+ "options": { -+ "metadata": { -+ "rpm.check_gpg": true -+ } -+ } -+ }, - { - "id": "sha256:17aab3ef99a2590ca905c28421572ae2ea378a634a157b312ec9a9e83e405a54", - "options": { -@@ -6275,6 +6283,37 @@ - ] - } - }, -+ { -+ "type": "org.osbuild.isolinux", -+ "inputs": { -+ "data": { -+ "type": "org.osbuild.tree", -+ "origin": "org.osbuild.pipeline", -+ "references": [ -+ "name:coi-tree" -+ ] -+ } -+ }, -+ "options": { -+ "product": { -+ "name": "Red Hat Enterprise Linux", -+ "version": "9.2" -+ }, -+ "kernel": { -+ "dir": "/images/pxeboot", -+ "opts": [ -+ "rd.neednet=1", -+ "coreos.inst.crypt_root=1", -+ "coreos.inst.isoroot=RHEL-9-2-0-BaseOS-x86_64", -+ "coreos.inst.install_dev=/dev/vda", -+ "coreos.inst.image_file=/run/media/iso/image.raw.xz", -+ "coreos.inst.insecure", -+ "fdo.manufacturing_server_url=https;//fdo.example.com", -+ "fdo.diun_pub_key_insecure=true" -+ ] -+ } -+ } -+ }, - { - "type": "org.osbuild.copy", - "inputs": { -@@ -6316,7 +6355,12 @@ - "filename": "simplified-installer.iso", - "volid": "RHEL-9-2-0-BaseOS-x86_64", - "sysid": "LINUX", -+ "boot": { -+ "image": "isolinux/isolinux.bin", -+ "catalog": "isolinux/boot.cat" -+ }, - "efi": "images/efiboot.img", -+ "isohybridmbr": "/usr/share/syslinux/isohdpfx.bin", - "isolevel": 3 - } - }, -@@ -6734,6 +6778,9 @@ - "sha256:59c77776b489ea57a9f954d90a2a6d9089e43e16fd2277859f60f3b8d19b6262": { - "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-baseos-n9.2-20230101/Packages/glibc-gconv-extra-2.34-54.el9.x86_64.rpm" - }, -+ "sha256:5a43c616c3f06fbba7d45ea4cdd87ca58cc46102908e089a14604de5d55a0393": { -+ "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-appstream-n9.2-20230101/Packages/redhat-logos-90.4-1.el9.x86_64.rpm" -+ }, - "sha256:5beb750d1ccfb8fbdfd33882ea02b99edf03034ea3cef7821dfc12afeccef9f9": { - "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-baseos-n9.2-20230101/Packages/iputils-20210202-8.el9.x86_64.rpm" - }, -@@ -14221,6 +14268,16 @@ - "checksum": "sha256:686eca65f9fe16b47d9006aee1735b0f70c10e532e7e547c3be740e91ac4aaec", - "check_gpg": true - }, -+ { -+ "name": "redhat-logos", -+ "epoch": 0, -+ "version": "90.4", -+ "release": "1.el9", -+ "arch": "x86_64", -+ "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-appstream-n9.2-20230101/Packages/redhat-logos-90.4-1.el9.x86_64.rpm", -+ "checksum": "sha256:5a43c616c3f06fbba7d45ea4cdd87ca58cc46102908e089a14604de5d55a0393", -+ "check_gpg": true -+ }, - { - "name": "udisks2", - "epoch": 0, --- -2.40.0 - diff --git a/SOURCES/0005-Save-manifest-lists-when-pulling-containers-Set-container-local-names-explicitly.patch b/SOURCES/0005-Save-manifest-lists-when-pulling-containers-Set-container-local-names-explicitly.patch deleted file mode 100644 index 9404871..0000000 --- a/SOURCES/0005-Save-manifest-lists-when-pulling-containers-Set-container-local-names-explicitly.patch +++ /dev/null @@ -1,5104 +0,0 @@ -From 3f3bee2270f5a032335bb47d5e6a12f64ccc0895 Mon Sep 17 00:00:00 2001 -From: Achilleas Koutsou -Date: Tue, 14 Mar 2023 23:30:51 +0100 -Subject: [PATCH 05/22] osbuild: name in containers input is not optional - -Remove the `omitempty` from the name field in the containers input. It is -required. ---- - internal/osbuild/containers_input.go | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/internal/osbuild/containers_input.go b/internal/osbuild/containers_input.go -index a27963882..c1803fa90 100644 ---- a/internal/osbuild/containers_input.go -+++ b/internal/osbuild/containers_input.go -@@ -9,7 +9,7 @@ type ContainersInputReferences interface { - } - - type ContainersInputSourceRef struct { -- Name string `json:"name,omitempty"` -+ Name string `json:"name"` - } - - type ContainersInputSourceMap map[string]ContainersInputSourceRef --- -2.40.0 - - -From f546d3c32b8db6167cc27d0408d41fc7cbc152a4 Mon Sep 17 00:00:00 2001 -From: Achilleas Koutsou -Date: Fri, 17 Mar 2023 13:23:48 +0100 -Subject: [PATCH 06/22] osbuild: add skopeo-index source - -New osbuild source that can download a manifest-list from a container -registry, using the `--multi-arch=index-only` option of skopeo copy. ---- - internal/osbuild/skopeo_index_source.go | 57 +++++++++++++++++++++++++ - 1 file changed, 57 insertions(+) - create mode 100644 internal/osbuild/skopeo_index_source.go - -diff --git a/internal/osbuild/skopeo_index_source.go b/internal/osbuild/skopeo_index_source.go -new file mode 100644 -index 000000000..d273fb138 ---- /dev/null -+++ b/internal/osbuild/skopeo_index_source.go -@@ -0,0 +1,57 @@ -+package osbuild -+ -+import ( -+ "fmt" -+) -+ -+type SkopeoIndexSource struct { -+ Items map[string]SkopeoIndexSourceItem `json:"items"` -+} -+ -+func (SkopeoIndexSource) isSource() {} -+ -+type SkopeoIndexSourceImage struct { -+ Name string `json:"name"` -+ TLSVerify *bool `json:"tls-verify,omitempty"` -+} -+ -+type SkopeoIndexSourceItem struct { -+ Image SkopeoIndexSourceImage `json:"image"` -+} -+ -+func (item SkopeoIndexSourceItem) validate() error { -+ -+ if item.Image.Name == "" { -+ return fmt.Errorf("source item has empty name") -+ } -+ -+ return nil -+} -+ -+// NewSkopeoIndexSource creates a new and empty SkopeoIndexSource -+func NewSkopeoIndexSource() *SkopeoIndexSource { -+ return &SkopeoIndexSource{ -+ Items: make(map[string]SkopeoIndexSourceItem), -+ } -+} -+ -+// AddItem adds a source item to the source; will panic -+// if any of the supplied options are invalid or missing -+func (source *SkopeoIndexSource) AddItem(name, image string, tlsVerify *bool) { -+ item := SkopeoIndexSourceItem{ -+ Image: SkopeoIndexSourceImage{ -+ Name: name, -+ TLSVerify: tlsVerify, -+ }, -+ } -+ -+ if err := item.validate(); err != nil { -+ panic(err) -+ } -+ -+ if !skopeoDigestPattern.MatchString(image) { -+ panic("item has invalid image id") -+ } -+ -+ source.Items[image] = item -+} --- -2.40.0 - - -From aed5ac61b95c49bd87cde724da82ceb636a1ab07 Mon Sep 17 00:00:00 2001 -From: Achilleas Koutsou -Date: Fri, 17 Mar 2023 15:48:19 +0100 -Subject: [PATCH 07/22] osbuild/skopeo: reverse the constructor args - -Put the path (which becomes an option) first and the inputs second. -This is more in line with other stage constructors. ---- - internal/manifest/os.go | 2 +- - internal/osbuild/skopeo_stage.go | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/internal/manifest/os.go b/internal/manifest/os.go -index 6f0f50209..c5d632850 100644 ---- a/internal/manifest/os.go -+++ b/internal/manifest/os.go -@@ -348,7 +348,7 @@ func (p *OS) serialize() osbuild.Pipeline { - pipeline.AddStage(osbuild.NewContainersStorageConfStage(containerStoreOpts)) - } - -- skopeo := osbuild.NewSkopeoStage(images, storagePath) -+ skopeo := osbuild.NewSkopeoStage(storagePath, images) - pipeline.AddStage(skopeo) - } - -diff --git a/internal/osbuild/skopeo_stage.go b/internal/osbuild/skopeo_stage.go -index 83260e501..c0ac14fbd 100644 ---- a/internal/osbuild/skopeo_stage.go -+++ b/internal/osbuild/skopeo_stage.go -@@ -12,7 +12,7 @@ type SkopeoStageOptions struct { - - func (o SkopeoStageOptions) isStageOptions() {} - --func NewSkopeoStage(images ContainersInput, path string) *Stage { -+func NewSkopeoStage(path string, images ContainersInput) *Stage { - - inputs := ContainersInputs{ - "images": images, --- -2.40.0 - - -From 724192bdce2f65e02b4446f09882b93eac4f5b76 Mon Sep 17 00:00:00 2001 -From: Achilleas Koutsou -Date: Fri, 17 Mar 2023 13:25:07 +0100 -Subject: [PATCH 08/22] osbuild: add manifest-lists input to skopeo stage - -The skopeo stage in osbuild supports an second optional set of inputs -called `manifest-lists`. This is an array of files, i.e., -`org.osbuild.files` type input. - -To support this we need a new type for the skopeo stage inputs that can -encompass both input types, images and manifest-lists. ---- - internal/manifest/os.go | 2 +- - internal/osbuild/skopeo_stage.go | 14 +++++++++++--- - 2 files changed, 12 insertions(+), 4 deletions(-) - -diff --git a/internal/manifest/os.go b/internal/manifest/os.go -index c5d632850..783d9adce 100644 ---- a/internal/manifest/os.go -+++ b/internal/manifest/os.go -@@ -348,7 +348,7 @@ func (p *OS) serialize() osbuild.Pipeline { - pipeline.AddStage(osbuild.NewContainersStorageConfStage(containerStoreOpts)) - } - -- skopeo := osbuild.NewSkopeoStage(storagePath, images) -+ skopeo := osbuild.NewSkopeoStage(storagePath, images, nil) - pipeline.AddStage(skopeo) - } - -diff --git a/internal/osbuild/skopeo_stage.go b/internal/osbuild/skopeo_stage.go -index c0ac14fbd..7efa70ba9 100644 ---- a/internal/osbuild/skopeo_stage.go -+++ b/internal/osbuild/skopeo_stage.go -@@ -12,10 +12,18 @@ type SkopeoStageOptions struct { - - func (o SkopeoStageOptions) isStageOptions() {} - --func NewSkopeoStage(path string, images ContainersInput) *Stage { -+type SkopeoStageInputs struct { -+ Images ContainersInput `json:"images"` -+ ManifestLists *FilesInput `json:"manifest-lists,omitempty"` -+} -+ -+func (SkopeoStageInputs) isStageInputs() {} -+ -+func NewSkopeoStage(path string, images ContainersInput, manifests *FilesInput) *Stage { - -- inputs := ContainersInputs{ -- "images": images, -+ inputs := SkopeoStageInputs{ -+ Images: images, -+ ManifestLists: manifests, - } - - return &Stage{ --- -2.40.0 - - -From 6c6ab39829cb2343a46e5ef01b6f956fbd3422ac Mon Sep 17 00:00:00 2001 -From: Achilleas Koutsou -Date: Fri, 17 Mar 2023 15:19:41 +0100 -Subject: [PATCH 09/22] container: add ListDigest to the spec - -Add the ListDigest to the container Spec struct and all its copies so we -can store list digests when they are available and pass them on to the -appropriate osbuild stages, sources, and inputs. - -Copy the value whenever a spec is moved to a different representation. ---- - cmd/osbuild-worker/jobimpl-container-resolve.go | 11 ++++++----- - internal/cloudapi/v2/server.go | 1 + - internal/container/spec.go | 11 ++++++----- - internal/weldr/api.go | 1 + - internal/worker/json.go | 5 +++-- - 5 files changed, 17 insertions(+), 12 deletions(-) - -diff --git a/cmd/osbuild-worker/jobimpl-container-resolve.go b/cmd/osbuild-worker/jobimpl-container-resolve.go -index ebeaff9d9..b92f5c893 100644 ---- a/cmd/osbuild-worker/jobimpl-container-resolve.go -+++ b/cmd/osbuild-worker/jobimpl-container-resolve.go -@@ -42,11 +42,12 @@ func (impl *ContainerResolveJobImpl) Run(job worker.Job) error { - } else { - for i, spec := range specs { - result.Specs[i] = worker.ContainerSpec{ -- Source: spec.Source, -- Name: spec.LocalName, -- TLSVerify: spec.TLSVerify, -- ImageID: spec.ImageID, -- Digest: spec.Digest, -+ Source: spec.Source, -+ Name: spec.LocalName, -+ TLSVerify: spec.TLSVerify, -+ ImageID: spec.ImageID, -+ Digest: spec.Digest, -+ ListDigest: spec.ListDigest, - } - } - } -diff --git a/internal/cloudapi/v2/server.go b/internal/cloudapi/v2/server.go -index fdae5eeae..807b32ba2 100644 ---- a/internal/cloudapi/v2/server.go -+++ b/internal/cloudapi/v2/server.go -@@ -434,6 +434,7 @@ func generateManifest(ctx context.Context, workers *worker.Server, depsolveJobID - containerSpecs[i].LocalName = s.Name - containerSpecs[i].TLSVerify = s.TLSVerify - containerSpecs[i].ImageID = s.ImageID -+ containerSpecs[i].ListDigest = s.ListDigest - } - } - -diff --git a/internal/container/spec.go b/internal/container/spec.go -index ffd781c8d..b7bfbe37e 100644 ---- a/internal/container/spec.go -+++ b/internal/container/spec.go -@@ -11,11 +11,12 @@ import ( - // at the Source via Digest and ImageID. The latter one - // should remain the same in the target image as well. - type Spec struct { -- Source string // does not include the manifest digest -- Digest string // digest of the manifest at the Source -- TLSVerify *bool // controls TLS verification -- ImageID string // container image identifier -- LocalName string // name to use inside the image -+ Source string // does not include the manifest digest -+ Digest string // digest of the manifest at the Source -+ TLSVerify *bool // controls TLS verification -+ ImageID string // container image identifier -+ LocalName string // name to use inside the image -+ ListDigest string // digest of the list manifest at the Source (optional) - } - - // NewSpec creates a new Spec from the essential information. -diff --git a/internal/weldr/api.go b/internal/weldr/api.go -index db335c370..a2febe2dc 100644 ---- a/internal/weldr/api.go -+++ b/internal/weldr/api.go -@@ -2303,6 +2303,7 @@ func (api *API) resolveContainersForImageType(bp blueprint.Blueprint, imageType - specs[i].LocalName = s.Name - specs[i].TLSVerify = s.TLSVerify - specs[i].ImageID = s.ImageID -+ specs[i].ListDigest = s.ListDigest - } - - return specs, nil -diff --git a/internal/worker/json.go b/internal/worker/json.go -index 47d58bd12..b514b5914 100644 ---- a/internal/worker/json.go -+++ b/internal/worker/json.go -@@ -241,8 +241,9 @@ type ContainerSpec struct { - Name string `json:"name"` - TLSVerify *bool `json:"tls-verify,omitempty"` - -- ImageID string `json:"image_id"` -- Digest string `json:"digest"` -+ ImageID string `json:"image_id"` -+ Digest string `json:"digest"` -+ ListDigest string `json:"list-digest,omitempty"` - } - - type ContainerResolveJob struct { --- -2.40.0 - - -From b72f23d68bd513d32af8ae4226de73df47ecc9f2 Mon Sep 17 00:00:00 2001 -From: Achilleas Koutsou -Date: Thu, 13 Apr 2023 16:40:15 +0200 -Subject: [PATCH 10/22] container: include TLSVerify and ListDigest in spec - ctor - ---- - internal/container/client.go | 3 +-- - internal/container/spec.go | 13 +++++++------ - 2 files changed, 8 insertions(+), 8 deletions(-) - -diff --git a/internal/container/client.go b/internal/container/client.go -index 25ddbe7d6..df170eae9 100644 ---- a/internal/container/client.go -+++ b/internal/container/client.go -@@ -480,8 +480,7 @@ func (cl *Client) Resolve(ctx context.Context, name string) (Spec, error) { - return Spec{}, err - } - -- spec := NewSpec(cl.Target, ids.Manifest, ids.Config) -- spec.TLSVerify = cl.GetTLSVerify() -+ spec := NewSpec(cl.Target, ids.Manifest, ids.Config, cl.GetTLSVerify(), "") - - return spec, nil - } -diff --git a/internal/container/spec.go b/internal/container/spec.go -index b7bfbe37e..a9db3f731 100644 ---- a/internal/container/spec.go -+++ b/internal/container/spec.go -@@ -22,13 +22,14 @@ type Spec struct { - // NewSpec creates a new Spec from the essential information. - // It also converts is the transition point from container - // specific types (digest.Digest) to generic types (string). --func NewSpec(source reference.Named, digest, imageID digest.Digest) Spec { -+func NewSpec(source reference.Named, digest, imageID digest.Digest, tlsVerify *bool, listDigest string) Spec { - name := source.Name() - return Spec{ -- Source: name, -- Digest: digest.String(), -- ImageID: imageID.String(), -- -- LocalName: name, -+ Source: name, -+ Digest: digest.String(), -+ TLSVerify: tlsVerify, -+ ImageID: imageID.String(), -+ LocalName: name, -+ ListDigest: listDigest, - } - } --- -2.40.0 - - -From 1b97a4d64435d3f7415a819784dc0f2856b39ffb Mon Sep 17 00:00:00 2001 -From: Achilleas Koutsou -Date: Fri, 17 Mar 2023 15:22:13 +0100 -Subject: [PATCH 11/22] container: save manifest list digest when resolving - -While resolving a manifest list digest, store the list digest to return -with the resolvedIds. - -This is done for both types of manifest list: - application/vnd.docker.distribution.manifest.list.v2+json -and - application/vnd.oci.image.index.v1+json ---- - internal/container/client.go | 32 ++++++++++++++++++++++++++------ - 1 file changed, 26 insertions(+), 6 deletions(-) - -diff --git a/internal/container/client.go b/internal/container/client.go -index df170eae9..5e03d31c1 100644 ---- a/internal/container/client.go -+++ b/internal/container/client.go -@@ -391,8 +391,9 @@ type manifestList interface { - } - - type resolvedIds struct { -- Manifest digest.Digest -- Config digest.Digest -+ Manifest digest.Digest -+ Config digest.Digest -+ ListManifest digest.Digest - } - - func (cl *Client) resolveManifestList(ctx context.Context, list manifestList) (resolvedIds, error) { -@@ -407,7 +408,12 @@ func (cl *Client) resolveManifestList(ctx context.Context, list manifestList) (r - return resolvedIds{}, fmt.Errorf("error getting manifest: %w", err) - } - -- return cl.resolveRawManifest(ctx, raw) -+ ids, err := cl.resolveRawManifest(ctx, raw) -+ if err != nil { -+ return resolvedIds{}, err -+ } -+ -+ return ids, err - } - - func (cl *Client) resolveRawManifest(ctx context.Context, rm RawManifest) (resolvedIds, error) { -@@ -421,7 +427,14 @@ func (cl *Client) resolveRawManifest(ctx context.Context, rm RawManifest) (resol - return resolvedIds{}, err - } - -- return cl.resolveManifestList(ctx, list) -+ // Save digest of the manifest list as well. -+ ids, err := cl.resolveManifestList(ctx, list) -+ if err != nil { -+ return resolvedIds{}, err -+ } -+ // NOTE: Comment in Digest() source says this should never fail. Ignore the error. -+ ids.ListManifest, _ = rm.Digest() -+ return ids, nil - - case imgspecv1.MediaTypeImageIndex: - index, err := manifest.OCI1IndexFromManifest(rm.Data) -@@ -429,7 +442,14 @@ func (cl *Client) resolveRawManifest(ctx context.Context, rm RawManifest) (resol - return resolvedIds{}, err - } - -- return cl.resolveManifestList(ctx, index) -+ // Save digest of the manifest list as well. -+ ids, err := cl.resolveManifestList(ctx, index) -+ if err != nil { -+ return resolvedIds{}, err -+ } -+ // NOTE: Comment in Digest() source says this should never fail. Ignore the error. -+ ids.ListManifest, _ = rm.Digest() -+ return ids, nil - - case imgspecv1.MediaTypeImageManifest: - m, err := manifest.OCI1FromManifest(rm.Data) -@@ -480,7 +500,7 @@ func (cl *Client) Resolve(ctx context.Context, name string) (Spec, error) { - return Spec{}, err - } - -- spec := NewSpec(cl.Target, ids.Manifest, ids.Config, cl.GetTLSVerify(), "") -+ spec := NewSpec(cl.Target, ids.Manifest, ids.Config, cl.GetTLSVerify(), ids.ListManifest.String()) - - return spec, nil - } --- -2.40.0 - - -From 27c7438b44870e6e79c24e45fa428ee158e5706a Mon Sep 17 00:00:00 2001 -From: Achilleas Koutsou -Date: Fri, 17 Mar 2023 15:25:48 +0100 -Subject: [PATCH 12/22] osbuild: create skopeo-index source in GenSources() - -When generating sources in GenSources(), add a skopeo-index source -reference for each list-digest found in the container specs. ---- - internal/osbuild/source.go | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/internal/osbuild/source.go b/internal/osbuild/source.go -index 6d3a51948..862a5c3f1 100644 ---- a/internal/osbuild/source.go -+++ b/internal/osbuild/source.go -@@ -102,13 +102,22 @@ func GenSources(packages []rpmmd.PackageSpec, ostreeCommits []ostree.CommitSpec, - } - - skopeo := NewSkopeoSource() -+ skopeoIndex := NewSkopeoIndexSource() - for _, c := range containers { - skopeo.AddItem(c.Source, c.Digest, c.ImageID, c.TLSVerify) -+ -+ // if we have a list digest, add a skopeo-index source as well -+ if c.ListDigest != "" { -+ skopeoIndex.AddItem(c.Source, c.ListDigest, c.TLSVerify) -+ } - } - - if len(skopeo.Items) > 0 { - sources["org.osbuild.skopeo"] = skopeo - } -+ if len(skopeoIndex.Items) > 0 { -+ sources["org.osbuild.skopeo-index"] = skopeoIndex -+ } - - return sources - } --- -2.40.0 - - -From a629331debd1ff8f3ef3f525232709b60e13581e Mon Sep 17 00:00:00 2001 -From: Achilleas Koutsou -Date: Fri, 17 Mar 2023 16:07:40 +0100 -Subject: [PATCH 13/22] osbuild/skopeo: helper function for files input - -Add a helper function that collects all the manifest list digests from a -list of container specs and returns a FilesInput to be used with the -stage. - -Use the function in the OS pipeline when adding containers. The -manifests input to the stage constructor will be empty if there are no -manifest lists in the container specs. ---- - internal/manifest/os.go | 3 ++- - internal/osbuild/files_input.go | 18 ++++++++++++++++++ - ...arch64-edge_commit_with_container-boot.json | 3 ++- - ...x86_64-edge_commit_with_container-boot.json | 3 ++- - 4 files changed, 24 insertions(+), 3 deletions(-) - -diff --git a/internal/manifest/os.go b/internal/manifest/os.go -index 783d9adce..57a79d781 100644 ---- a/internal/manifest/os.go -+++ b/internal/manifest/os.go -@@ -348,7 +348,8 @@ func (p *OS) serialize() osbuild.Pipeline { - pipeline.AddStage(osbuild.NewContainersStorageConfStage(containerStoreOpts)) - } - -- skopeo := osbuild.NewSkopeoStage(storagePath, images, nil) -+ manifests := osbuild.NewFilesInputForManifestLists(p.Containers) -+ skopeo := osbuild.NewSkopeoStage(storagePath, images, manifests) - pipeline.AddStage(skopeo) - } - -diff --git a/internal/osbuild/files_input.go b/internal/osbuild/files_input.go -index 64f685bf4..757d3b1cc 100644 ---- a/internal/osbuild/files_input.go -+++ b/internal/osbuild/files_input.go -@@ -3,6 +3,8 @@ package osbuild - import ( - "encoding/json" - "fmt" -+ -+ "github.com/osbuild/osbuild-composer/internal/container" - ) - - // SPECIFIC INPUT STRUCTURE -@@ -276,3 +278,19 @@ func NewFilesInputSourceObjectRef(entries map[string]FilesInputRefMetadata) File - } - return &refs - } -+ -+// NewFilesInputForManifestLists creates a FilesInput for container manifest -+// lists. If there are no list digests in the container specs, it returns nil. -+func NewFilesInputForManifestLists(containers []container.Spec) *FilesInput { -+ refs := make([]string, 0, len(containers)) -+ for _, c := range containers { -+ if c.ListDigest != "" { -+ refs = append(refs, c.ListDigest) -+ } -+ } -+ if len(refs) == 0 { -+ return nil -+ } -+ filesRef := FilesInputSourcePlainRef(refs) -+ return NewFilesInput(&filesRef) -+} -diff --git a/test/data/manifests/centos_9-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/centos_9-aarch64-edge_commit_with_container-boot.json -index 75ed7d5de..db87c4eff 100644 ---- a/test/data/manifests/centos_9-aarch64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/centos_9-aarch64-edge_commit_with_container-boot.json -@@ -11327,7 +11327,8 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "ListDigest": "" - } - ], - "no-image-info": true -diff --git a/test/data/manifests/centos_9-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/centos_9-x86_64-edge_commit_with_container-boot.json -index ca818de26..acb5b01d7 100644 ---- a/test/data/manifests/centos_9-x86_64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/centos_9-x86_64-edge_commit_with_container-boot.json -@@ -11827,7 +11827,8 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "ListDigest": "" - } - ], - "no-image-info": true --- -2.40.0 - - -From 7c613fa7d56d19b62cbebe64aa0296daa91b5da9 Mon Sep 17 00:00:00 2001 -From: Achilleas Koutsou -Date: Fri, 17 Mar 2023 17:41:30 +0100 -Subject: [PATCH 14/22] containers: update tests - -Update tests to include the list digests of the test images. ---- - internal/container/client_test.go | 24 +++++++++++++----------- - internal/container/container_test.go | 12 +++++++----- - 2 files changed, 20 insertions(+), 16 deletions(-) - -diff --git a/internal/container/client_test.go b/internal/container/client_test.go -index 7133fad04..49695dae9 100644 ---- a/internal/container/client_test.go -+++ b/internal/container/client_test.go -@@ -19,7 +19,7 @@ func TestClientResolve(t *testing.T) { - defer registry.Close() - - repo := registry.AddRepo("library/osbuild") -- repo.AddImage( -+ listDigest := repo.AddImage( - []Blob{NewDataBlobFromBase64(rootLayer)}, - []string{"amd64", "ppc64le"}, - "cool container", -@@ -40,11 +40,12 @@ func TestClientResolve(t *testing.T) { - - assert.NoError(t, err) - assert.Equal(t, container.Spec{ -- Source: ref, -- Digest: "sha256:f29b6cd42a94a574583439addcd6694e6224f0e4b32044c9e3aee4c4856c2a50", -- ImageID: "sha256:c2ecf25cf190e76b12b07436ad5140d4ba53d8a136d498705e57a006837a720f", -- TLSVerify: client.GetTLSVerify(), -- LocalName: ref, -+ Source: ref, -+ Digest: "sha256:f29b6cd42a94a574583439addcd6694e6224f0e4b32044c9e3aee4c4856c2a50", -+ ImageID: "sha256:c2ecf25cf190e76b12b07436ad5140d4ba53d8a136d498705e57a006837a720f", -+ TLSVerify: client.GetTLSVerify(), -+ LocalName: ref, -+ ListDigest: listDigest, - }, spec) - - client.SetArchitectureChoice("ppc64le") -@@ -52,11 +53,12 @@ func TestClientResolve(t *testing.T) { - - assert.NoError(t, err) - assert.Equal(t, container.Spec{ -- Source: ref, -- Digest: "sha256:d49eebefb6c7ce5505594bef652bd4adc36f413861bd44209d9b9486310b1264", -- ImageID: "sha256:d2ab8fea7f08a22f03b30c13c6ea443121f25e87202a7496e93736efa6fe345a", -- TLSVerify: client.GetTLSVerify(), -- LocalName: ref, -+ Source: ref, -+ Digest: "sha256:d49eebefb6c7ce5505594bef652bd4adc36f413861bd44209d9b9486310b1264", -+ ImageID: "sha256:d2ab8fea7f08a22f03b30c13c6ea443121f25e87202a7496e93736efa6fe345a", -+ TLSVerify: client.GetTLSVerify(), -+ LocalName: ref, -+ ListDigest: listDigest, - }, spec) - - // don't have that architecture -diff --git a/internal/container/container_test.go b/internal/container/container_test.go -index e1fe00ff5..85a945471 100644 ---- a/internal/container/container_test.go -+++ b/internal/container/container_test.go -@@ -348,6 +348,7 @@ func (reg *Registry) Resolve(target, arch string) (container.Spec, error) { - } - - lst, ok := repo.images[checksum] -+ listDigest := checksum - - if ok { - checksum = "" -@@ -370,11 +371,12 @@ func (reg *Registry) Resolve(target, arch string) (container.Spec, error) { - } - - return container.Spec{ -- Source: ref.String(), -- Digest: checksum, -- ImageID: mf.ConfigDescriptor.Digest.String(), -- LocalName: ref.String(), -- TLSVerify: common.ToPtr(false), -+ Source: ref.String(), -+ Digest: checksum, -+ ImageID: mf.ConfigDescriptor.Digest.String(), -+ LocalName: ref.String(), -+ TLSVerify: common.ToPtr(false), -+ ListDigest: listDigest, - }, nil - } - --- -2.40.0 - - -From 1c09ad81d19de026537c4ad519cd50de76282882 Mon Sep 17 00:00:00 2001 -From: Achilleas Koutsou -Date: Fri, 17 Mar 2023 18:26:09 +0100 -Subject: [PATCH 15/22] test: add container source with manifest-list to - manifests - -Add a second container to the ostree-commit test manifests that refers -to a manifest list on the osbuild-composer registry on gitlab. ---- - ...rch64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- - ...86_64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- - ...rch64-edge_commit_with_container-boot.json | 36 +++++++++++++++++ - ...86_64-edge_commit_with_container-boot.json | 36 +++++++++++++++++ - ...arch64-iot_commit_with_container-boot.json | 39 ++++++++++++++++++- - ...x86_64-iot_commit_with_container-boot.json | 39 ++++++++++++++++++- - ...arch64-iot_commit_with_container-boot.json | 39 ++++++++++++++++++- - ...x86_64-iot_commit_with_container-boot.json | 39 ++++++++++++++++++- - ...arch64-iot_commit_with_container-boot.json | 39 ++++++++++++++++++- - ...x86_64-iot_commit_with_container-boot.json | 39 ++++++++++++++++++- - ...rch64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- - ...86_64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- - ...rch64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- - ...86_64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- - ...rch64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- - ...86_64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- - ...rch64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- - ...86_64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- - ...rch64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- - ...86_64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- - ...rch64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- - ...86_64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- - ...rch64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- - ...86_64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- - ...rch64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- - ...86_64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- - ...rch64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- - .../rhel_91-aarch64-qcow2_customize-boot.json | 3 +- - .../rhel_91-ppc64le-qcow2_customize-boot.json | 3 +- - .../rhel_91-s390x-qcow2_customize-boot.json | 3 +- - ...86_64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- - .../rhel_91-x86_64-qcow2_customize-boot.json | 3 +- - ...rch64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- - ...86_64-edge_commit_with_container-boot.json | 39 ++++++++++++++++++- - .../format-request-map.json | 6 +++ - 35 files changed, 1150 insertions(+), 32 deletions(-) - -diff --git a/test/data/manifests/centos_8-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/centos_8-aarch64-edge_commit_with_container-boot.json -index bd30a1485..ecf6766ab 100644 ---- a/test/data/manifests/centos_8-aarch64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/centos_8-aarch64-edge_commit_with_container-boot.json -@@ -22,6 +22,9 @@ - "containers": [ - { - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ { -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - ] - } -@@ -4887,10 +4890,20 @@ - "type": "org.osbuild.containers", - "origin": "org.osbuild.source", - "references": { -+ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - } - } -+ }, -+ "manifest-lists": { -+ "type": "org.osbuild.files", -+ "origin": "org.osbuild.source", -+ "references": [ -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" -+ ] - } - }, - "options": { -@@ -6164,6 +6177,12 @@ - }, - "org.osbuild.skopeo": { - "items": { -+ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb" -+ } -+ }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "image": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -@@ -6171,6 +6190,15 @@ - } - } - } -+ }, -+ "org.osbuild.skopeo-index": { -+ "items": { -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ } -+ } -+ } - } - } - }, -@@ -12156,7 +12184,16 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "ListDigest": "" -+ }, -+ { -+ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", -+ "TLSVerify": null, -+ "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], - "no-image-info": true -diff --git a/test/data/manifests/centos_8-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/centos_8-x86_64-edge_commit_with_container-boot.json -index 056befaf7..097cc2005 100644 ---- a/test/data/manifests/centos_8-x86_64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/centos_8-x86_64-edge_commit_with_container-boot.json -@@ -22,6 +22,9 @@ - "containers": [ - { - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ { -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - ] - } -@@ -5049,8 +5052,18 @@ - "references": { - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - } -+ }, -+ "manifest-lists": { -+ "type": "org.osbuild.files", -+ "origin": "org.osbuild.source", -+ "references": [ -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" -+ ] - } - }, - "options": { -@@ -6374,6 +6387,21 @@ - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", - "digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b" - } -+ }, -+ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e" -+ } -+ } -+ } -+ }, -+ "org.osbuild.skopeo-index": { -+ "items": { -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ } - } - } - } -@@ -12561,7 +12589,16 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "ListDigest": "" -+ }, -+ { -+ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", -+ "TLSVerify": null, -+ "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], - "no-image-info": true -diff --git a/test/data/manifests/centos_9-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/centos_9-aarch64-edge_commit_with_container-boot.json -index db87c4eff..ec4673efe 100644 ---- a/test/data/manifests/centos_9-aarch64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/centos_9-aarch64-edge_commit_with_container-boot.json -@@ -22,6 +22,9 @@ - "containers": [ - { - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ { -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - ] - } -@@ -4527,10 +4530,20 @@ - "type": "org.osbuild.containers", - "origin": "org.osbuild.source", - "references": { -+ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - } - } -+ }, -+ "manifest-lists": { -+ "type": "org.osbuild.files", -+ "origin": "org.osbuild.source", -+ "references": [ -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" -+ ] - } - }, - "options": { -@@ -5785,6 +5798,12 @@ - }, - "org.osbuild.skopeo": { - "items": { -+ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb" -+ } -+ }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "image": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -@@ -5792,6 +5811,15 @@ - } - } - } -+ }, -+ "org.osbuild.skopeo-index": { -+ "items": { -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ } -+ } -+ } - } - } - }, -@@ -11329,6 +11357,14 @@ - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", - "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", - "ListDigest": "" -+ }, -+ { -+ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", -+ "TLSVerify": null, -+ "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], - "no-image-info": true -diff --git a/test/data/manifests/centos_9-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/centos_9-x86_64-edge_commit_with_container-boot.json -index acb5b01d7..d231b9496 100644 ---- a/test/data/manifests/centos_9-x86_64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/centos_9-x86_64-edge_commit_with_container-boot.json -@@ -28,6 +28,9 @@ - "containers": [ - { - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ { -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - ] - } -@@ -4737,8 +4740,18 @@ - "references": { - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - } -+ }, -+ "manifest-lists": { -+ "type": "org.osbuild.files", -+ "origin": "org.osbuild.source", -+ "references": [ -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" -+ ] - } - }, - "options": { -@@ -6040,6 +6053,21 @@ - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", - "digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b" - } -+ }, -+ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e" -+ } -+ } -+ } -+ }, -+ "org.osbuild.skopeo-index": { -+ "items": { -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ } - } - } - } -@@ -11829,6 +11857,14 @@ - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", - "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", - "ListDigest": "" -+ }, -+ { -+ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", -+ "TLSVerify": null, -+ "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], - "no-image-info": true -diff --git a/test/data/manifests/fedora_36-aarch64-iot_commit_with_container-boot.json b/test/data/manifests/fedora_36-aarch64-iot_commit_with_container-boot.json -index 2dbe0953b..dca9bd472 100644 ---- a/test/data/manifests/fedora_36-aarch64-iot_commit_with_container-boot.json -+++ b/test/data/manifests/fedora_36-aarch64-iot_commit_with_container-boot.json -@@ -36,6 +36,9 @@ - "containers": [ - { - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ { -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - ] - } -@@ -5393,10 +5396,20 @@ - "type": "org.osbuild.containers", - "origin": "org.osbuild.source", - "references": { -+ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - } - } -+ }, -+ "manifest-lists": { -+ "type": "org.osbuild.files", -+ "origin": "org.osbuild.source", -+ "references": [ -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" -+ ] - } - }, - "options": { -@@ -6819,6 +6832,12 @@ - }, - "org.osbuild.skopeo": { - "items": { -+ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb" -+ } -+ }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "image": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -@@ -6826,6 +6845,15 @@ - } - } - } -+ }, -+ "org.osbuild.skopeo-index": { -+ "items": { -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ } -+ } -+ } - } - } - }, -@@ -13421,7 +13449,16 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "ListDigest": "" -+ }, -+ { -+ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", -+ "TLSVerify": null, -+ "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], - "no-image-info": true -diff --git a/test/data/manifests/fedora_36-x86_64-iot_commit_with_container-boot.json b/test/data/manifests/fedora_36-x86_64-iot_commit_with_container-boot.json -index 7dde292e6..e3742a48a 100644 ---- a/test/data/manifests/fedora_36-x86_64-iot_commit_with_container-boot.json -+++ b/test/data/manifests/fedora_36-x86_64-iot_commit_with_container-boot.json -@@ -36,6 +36,9 @@ - "containers": [ - { - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ { -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - ] - } -@@ -5515,8 +5518,18 @@ - "references": { - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - } -+ }, -+ "manifest-lists": { -+ "type": "org.osbuild.files", -+ "origin": "org.osbuild.source", -+ "references": [ -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" -+ ] - } - }, - "options": { -@@ -6980,6 +6993,21 @@ - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", - "digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b" - } -+ }, -+ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e" -+ } -+ } -+ } -+ }, -+ "org.osbuild.skopeo-index": { -+ "items": { -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ } - } - } - } -@@ -13727,7 +13755,16 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "ListDigest": "" -+ }, -+ { -+ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", -+ "TLSVerify": null, -+ "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], - "no-image-info": true -diff --git a/test/data/manifests/fedora_37-aarch64-iot_commit_with_container-boot.json b/test/data/manifests/fedora_37-aarch64-iot_commit_with_container-boot.json -index 5d4c0c11a..9cce29ff4 100644 ---- a/test/data/manifests/fedora_37-aarch64-iot_commit_with_container-boot.json -+++ b/test/data/manifests/fedora_37-aarch64-iot_commit_with_container-boot.json -@@ -22,6 +22,9 @@ - "containers": [ - { - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ { -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - ] - } -@@ -5463,10 +5466,20 @@ - "type": "org.osbuild.containers", - "origin": "org.osbuild.source", - "references": { -+ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - } - } -+ }, -+ "manifest-lists": { -+ "type": "org.osbuild.files", -+ "origin": "org.osbuild.source", -+ "references": [ -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" -+ ] - } - }, - "options": { -@@ -6910,6 +6923,12 @@ - }, - "org.osbuild.skopeo": { - "items": { -+ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb" -+ } -+ }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "image": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -@@ -6917,6 +6936,15 @@ - } - } - } -+ }, -+ "org.osbuild.skopeo-index": { -+ "items": { -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ } -+ } -+ } - } - } - }, -@@ -13622,7 +13650,16 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "ListDigest": "" -+ }, -+ { -+ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", -+ "TLSVerify": null, -+ "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], - "no-image-info": true -diff --git a/test/data/manifests/fedora_37-x86_64-iot_commit_with_container-boot.json b/test/data/manifests/fedora_37-x86_64-iot_commit_with_container-boot.json -index d14c1548d..5fc0b2ee4 100644 ---- a/test/data/manifests/fedora_37-x86_64-iot_commit_with_container-boot.json -+++ b/test/data/manifests/fedora_37-x86_64-iot_commit_with_container-boot.json -@@ -22,6 +22,9 @@ - "containers": [ - { - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ { -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - ] - } -@@ -5585,8 +5588,18 @@ - "references": { - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - } -+ }, -+ "manifest-lists": { -+ "type": "org.osbuild.files", -+ "origin": "org.osbuild.source", -+ "references": [ -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" -+ ] - } - }, - "options": { -@@ -7071,6 +7084,21 @@ - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", - "digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b" - } -+ }, -+ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e" -+ } -+ } -+ } -+ }, -+ "org.osbuild.skopeo-index": { -+ "items": { -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ } - } - } - } -@@ -13928,7 +13956,16 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "ListDigest": "" -+ }, -+ { -+ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", -+ "TLSVerify": null, -+ "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], - "no-image-info": true -diff --git a/test/data/manifests/fedora_38-aarch64-iot_commit_with_container-boot.json b/test/data/manifests/fedora_38-aarch64-iot_commit_with_container-boot.json -index 9c2a22488..3b2ddc32f 100644 ---- a/test/data/manifests/fedora_38-aarch64-iot_commit_with_container-boot.json -+++ b/test/data/manifests/fedora_38-aarch64-iot_commit_with_container-boot.json -@@ -22,6 +22,9 @@ - "containers": [ - { - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ { -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - ] - } -@@ -5295,10 +5298,20 @@ - "type": "org.osbuild.containers", - "origin": "org.osbuild.source", - "references": { -+ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - } - } -+ }, -+ "manifest-lists": { -+ "type": "org.osbuild.files", -+ "origin": "org.osbuild.source", -+ "references": [ -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" -+ ] - } - }, - "options": { -@@ -6745,6 +6758,12 @@ - }, - "org.osbuild.skopeo": { - "items": { -+ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb" -+ } -+ }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "image": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -@@ -6752,6 +6771,15 @@ - } - } - } -+ }, -+ "org.osbuild.skopeo-index": { -+ "items": { -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ } -+ } -+ } - } - } - }, -@@ -13242,12 +13270,21 @@ - ] - }, - "containers": [ -+ { -+ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", -+ "TLSVerify": null, -+ "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" -+ }, - { - "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "ListDigest": "" - } - ], - "no-image-info": true -diff --git a/test/data/manifests/fedora_38-x86_64-iot_commit_with_container-boot.json b/test/data/manifests/fedora_38-x86_64-iot_commit_with_container-boot.json -index 7c48db788..f1986cd5f 100644 ---- a/test/data/manifests/fedora_38-x86_64-iot_commit_with_container-boot.json -+++ b/test/data/manifests/fedora_38-x86_64-iot_commit_with_container-boot.json -@@ -22,6 +22,9 @@ - "containers": [ - { - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ { -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - ] - } -@@ -5401,8 +5404,18 @@ - "references": { - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - } -+ }, -+ "manifest-lists": { -+ "type": "org.osbuild.files", -+ "origin": "org.osbuild.source", -+ "references": [ -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" -+ ] - } - }, - "options": { -@@ -6887,6 +6900,21 @@ - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", - "digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b" - } -+ }, -+ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e" -+ } -+ } -+ } -+ }, -+ "org.osbuild.skopeo-index": { -+ "items": { -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ } - } - } - } -@@ -13514,7 +13542,16 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "ListDigest": "" -+ }, -+ { -+ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", -+ "TLSVerify": null, -+ "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], - "no-image-info": true -diff --git a/test/data/manifests/rhel_8-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_8-aarch64-edge_commit_with_container-boot.json -index 84e24ad50..3218630de 100644 ---- a/test/data/manifests/rhel_8-aarch64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/rhel_8-aarch64-edge_commit_with_container-boot.json -@@ -20,6 +20,9 @@ - "containers": [ - { - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ { -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - ] - } -@@ -1903,10 +1906,20 @@ - "type": "org.osbuild.containers", - "origin": "org.osbuild.source", - "references": { -+ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - } - } -+ }, -+ "manifest-lists": { -+ "type": "org.osbuild.files", -+ "origin": "org.osbuild.source", -+ "references": [ -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" -+ ] - } - }, - "options": { -@@ -3191,6 +3204,12 @@ - }, - "org.osbuild.skopeo": { - "items": { -+ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb" -+ } -+ }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "image": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -@@ -3198,6 +3217,15 @@ - } - } - } -+ }, -+ "org.osbuild.skopeo-index": { -+ "items": { -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ } -+ } -+ } - } - } - }, -@@ -8595,7 +8623,16 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "ListDigest": "" -+ }, -+ { -+ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", -+ "TLSVerify": null, -+ "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], - "no-image-info": true -diff --git a/test/data/manifests/rhel_8-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_8-x86_64-edge_commit_with_container-boot.json -index b39ce009c..24d984e15 100644 ---- a/test/data/manifests/rhel_8-x86_64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/rhel_8-x86_64-edge_commit_with_container-boot.json -@@ -28,6 +28,9 @@ - "containers": [ - { - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ { -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - ] - } -@@ -1975,8 +1978,18 @@ - "references": { - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - } -+ }, -+ "manifest-lists": { -+ "type": "org.osbuild.files", -+ "origin": "org.osbuild.source", -+ "references": [ -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" -+ ] - } - }, - "options": { -@@ -3311,6 +3324,21 @@ - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", - "digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b" - } -+ }, -+ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e" -+ } -+ } -+ } -+ }, -+ "org.osbuild.skopeo-index": { -+ "items": { -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ } - } - } - } -@@ -8890,7 +8918,16 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "ListDigest": "" -+ }, -+ { -+ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", -+ "TLSVerify": null, -+ "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], - "no-image-info": true -diff --git a/test/data/manifests/rhel_84-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_84-aarch64-edge_commit_with_container-boot.json -index 6a63178b6..8e24a89e7 100644 ---- a/test/data/manifests/rhel_84-aarch64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/rhel_84-aarch64-edge_commit_with_container-boot.json -@@ -20,6 +20,9 @@ - "containers": [ - { - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ { -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - ] - } -@@ -1864,10 +1867,20 @@ - "type": "org.osbuild.containers", - "origin": "org.osbuild.source", - "references": { -+ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - } - } -+ }, -+ "manifest-lists": { -+ "type": "org.osbuild.files", -+ "origin": "org.osbuild.source", -+ "references": [ -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" -+ ] - } - }, - "options": { -@@ -3159,6 +3172,12 @@ - }, - "org.osbuild.skopeo": { - "items": { -+ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb" -+ } -+ }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "image": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -@@ -3166,6 +3185,15 @@ - } - } - } -+ }, -+ "org.osbuild.skopeo-index": { -+ "items": { -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ } -+ } -+ } - } - } - }, -@@ -8446,7 +8474,16 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "ListDigest": "" -+ }, -+ { -+ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", -+ "TLSVerify": null, -+ "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], - "no-image-info": true -diff --git a/test/data/manifests/rhel_84-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_84-x86_64-edge_commit_with_container-boot.json -index 99cb91709..2a7ca1509 100644 ---- a/test/data/manifests/rhel_84-x86_64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/rhel_84-x86_64-edge_commit_with_container-boot.json -@@ -28,6 +28,9 @@ - "containers": [ - { - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ { -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - ] - } -@@ -1936,8 +1939,18 @@ - "references": { - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - } -+ }, -+ "manifest-lists": { -+ "type": "org.osbuild.files", -+ "origin": "org.osbuild.source", -+ "references": [ -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" -+ ] - } - }, - "options": { -@@ -3279,6 +3292,21 @@ - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", - "digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b" - } -+ }, -+ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e" -+ } -+ } -+ } -+ }, -+ "org.osbuild.skopeo-index": { -+ "items": { -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ } - } - } - } -@@ -8741,7 +8769,16 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "ListDigest": "" -+ }, -+ { -+ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", -+ "TLSVerify": null, -+ "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], - "no-image-info": true -diff --git a/test/data/manifests/rhel_85-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_85-aarch64-edge_commit_with_container-boot.json -index 326fbdf79..76b1ee048 100644 ---- a/test/data/manifests/rhel_85-aarch64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/rhel_85-aarch64-edge_commit_with_container-boot.json -@@ -20,6 +20,9 @@ - "containers": [ - { - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ { -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - ] - } -@@ -1885,10 +1888,20 @@ - "type": "org.osbuild.containers", - "origin": "org.osbuild.source", - "references": { -+ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - } - } -+ }, -+ "manifest-lists": { -+ "type": "org.osbuild.files", -+ "origin": "org.osbuild.source", -+ "references": [ -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" -+ ] - } - }, - "options": { -@@ -3148,6 +3161,12 @@ - }, - "org.osbuild.skopeo": { - "items": { -+ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb" -+ } -+ }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "image": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -@@ -3155,6 +3174,15 @@ - } - } - } -+ }, -+ "org.osbuild.skopeo-index": { -+ "items": { -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ } -+ } -+ } - } - } - }, -@@ -8498,7 +8526,16 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "ListDigest": "" -+ }, -+ { -+ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", -+ "TLSVerify": null, -+ "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], - "no-image-info": true -diff --git a/test/data/manifests/rhel_85-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_85-x86_64-edge_commit_with_container-boot.json -index 578e4bb55..bc67a9a85 100644 ---- a/test/data/manifests/rhel_85-x86_64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/rhel_85-x86_64-edge_commit_with_container-boot.json -@@ -28,6 +28,9 @@ - "containers": [ - { - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ { -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - ] - } -@@ -1957,8 +1960,18 @@ - "references": { - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - } -+ }, -+ "manifest-lists": { -+ "type": "org.osbuild.files", -+ "origin": "org.osbuild.source", -+ "references": [ -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" -+ ] - } - }, - "options": { -@@ -3268,6 +3281,21 @@ - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", - "digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b" - } -+ }, -+ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e" -+ } -+ } -+ } -+ }, -+ "org.osbuild.skopeo-index": { -+ "items": { -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ } - } - } - } -@@ -8793,7 +8821,16 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "ListDigest": "" -+ }, -+ { -+ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", -+ "TLSVerify": null, -+ "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], - "no-image-info": true -diff --git a/test/data/manifests/rhel_86-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_86-aarch64-edge_commit_with_container-boot.json -index 3dae2f682..0ce2c96a6 100644 ---- a/test/data/manifests/rhel_86-aarch64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/rhel_86-aarch64-edge_commit_with_container-boot.json -@@ -20,6 +20,9 @@ - "containers": [ - { - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ { -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - ] - } -@@ -1897,10 +1900,20 @@ - "type": "org.osbuild.containers", - "origin": "org.osbuild.source", - "references": { -+ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - } - } -+ }, -+ "manifest-lists": { -+ "type": "org.osbuild.files", -+ "origin": "org.osbuild.source", -+ "references": [ -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" -+ ] - } - }, - "options": { -@@ -3182,6 +3195,12 @@ - }, - "org.osbuild.skopeo": { - "items": { -+ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb" -+ } -+ }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "image": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -@@ -3189,6 +3208,15 @@ - } - } - } -+ }, -+ "org.osbuild.skopeo-index": { -+ "items": { -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ } -+ } -+ } - } - } - }, -@@ -8568,7 +8596,16 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "ListDigest": "" -+ }, -+ { -+ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", -+ "TLSVerify": null, -+ "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], - "no-image-info": true -diff --git a/test/data/manifests/rhel_86-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_86-x86_64-edge_commit_with_container-boot.json -index 1713c7829..06b054f29 100644 ---- a/test/data/manifests/rhel_86-x86_64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/rhel_86-x86_64-edge_commit_with_container-boot.json -@@ -28,6 +28,9 @@ - "containers": [ - { - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ { -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - ] - } -@@ -1969,8 +1972,18 @@ - "references": { - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - } -+ }, -+ "manifest-lists": { -+ "type": "org.osbuild.files", -+ "origin": "org.osbuild.source", -+ "references": [ -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" -+ ] - } - }, - "options": { -@@ -3302,6 +3315,21 @@ - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", - "digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b" - } -+ }, -+ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e" -+ } -+ } -+ } -+ }, -+ "org.osbuild.skopeo-index": { -+ "items": { -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ } - } - } - } -@@ -8863,7 +8891,16 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "ListDigest": "" -+ }, -+ { -+ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", -+ "TLSVerify": null, -+ "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], - "no-image-info": true -diff --git a/test/data/manifests/rhel_87-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_87-aarch64-edge_commit_with_container-boot.json -index 22646a8a7..1a29f877e 100644 ---- a/test/data/manifests/rhel_87-aarch64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/rhel_87-aarch64-edge_commit_with_container-boot.json -@@ -20,6 +20,9 @@ - "containers": [ - { - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ { -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - ] - } -@@ -1903,10 +1906,20 @@ - "type": "org.osbuild.containers", - "origin": "org.osbuild.source", - "references": { -+ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - } - } -+ }, -+ "manifest-lists": { -+ "type": "org.osbuild.files", -+ "origin": "org.osbuild.source", -+ "references": [ -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" -+ ] - } - }, - "options": { -@@ -3191,6 +3204,12 @@ - }, - "org.osbuild.skopeo": { - "items": { -+ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb" -+ } -+ }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "image": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -@@ -3198,6 +3217,15 @@ - } - } - } -+ }, -+ "org.osbuild.skopeo-index": { -+ "items": { -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ } -+ } -+ } - } - } - }, -@@ -8595,7 +8623,16 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "ListDigest": "" -+ }, -+ { -+ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", -+ "TLSVerify": null, -+ "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], - "no-image-info": true -diff --git a/test/data/manifests/rhel_87-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_87-x86_64-edge_commit_with_container-boot.json -index d2b334f67..24dada814 100644 ---- a/test/data/manifests/rhel_87-x86_64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/rhel_87-x86_64-edge_commit_with_container-boot.json -@@ -28,6 +28,9 @@ - "containers": [ - { - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ { -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - ] - } -@@ -1975,8 +1978,18 @@ - "references": { - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - } -+ }, -+ "manifest-lists": { -+ "type": "org.osbuild.files", -+ "origin": "org.osbuild.source", -+ "references": [ -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" -+ ] - } - }, - "options": { -@@ -3311,6 +3324,21 @@ - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", - "digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b" - } -+ }, -+ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e" -+ } -+ } -+ } -+ }, -+ "org.osbuild.skopeo-index": { -+ "items": { -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ } - } - } - } -@@ -8890,7 +8918,16 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "ListDigest": "" -+ }, -+ { -+ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", -+ "TLSVerify": null, -+ "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], - "no-image-info": true -diff --git a/test/data/manifests/rhel_88-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_88-aarch64-edge_commit_with_container-boot.json -index 9ca51e80b..baaf0b90d 100644 ---- a/test/data/manifests/rhel_88-aarch64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/rhel_88-aarch64-edge_commit_with_container-boot.json -@@ -20,6 +20,9 @@ - "containers": [ - { - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ { -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - ] - } -@@ -1903,10 +1906,20 @@ - "type": "org.osbuild.containers", - "origin": "org.osbuild.source", - "references": { -+ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - } - } -+ }, -+ "manifest-lists": { -+ "type": "org.osbuild.files", -+ "origin": "org.osbuild.source", -+ "references": [ -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" -+ ] - } - }, - "options": { -@@ -3191,6 +3204,12 @@ - }, - "org.osbuild.skopeo": { - "items": { -+ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb" -+ } -+ }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "image": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -@@ -3198,6 +3217,15 @@ - } - } - } -+ }, -+ "org.osbuild.skopeo-index": { -+ "items": { -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ } -+ } -+ } - } - } - }, -@@ -8595,7 +8623,16 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "ListDigest": "" -+ }, -+ { -+ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", -+ "TLSVerify": null, -+ "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], - "no-image-info": true -diff --git a/test/data/manifests/rhel_88-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_88-x86_64-edge_commit_with_container-boot.json -index df26cad08..c75702c4a 100644 ---- a/test/data/manifests/rhel_88-x86_64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/rhel_88-x86_64-edge_commit_with_container-boot.json -@@ -28,6 +28,9 @@ - "containers": [ - { - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ { -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - ] - } -@@ -1975,8 +1978,18 @@ - "references": { - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - } -+ }, -+ "manifest-lists": { -+ "type": "org.osbuild.files", -+ "origin": "org.osbuild.source", -+ "references": [ -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" -+ ] - } - }, - "options": { -@@ -3311,6 +3324,21 @@ - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", - "digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b" - } -+ }, -+ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e" -+ } -+ } -+ } -+ }, -+ "org.osbuild.skopeo-index": { -+ "items": { -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ } - } - } - } -@@ -8890,7 +8918,16 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "ListDigest": "" -+ }, -+ { -+ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", -+ "TLSVerify": null, -+ "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], - "no-image-info": true -diff --git a/test/data/manifests/rhel_9-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_9-aarch64-edge_commit_with_container-boot.json -index 2ab515c4b..7ca727841 100644 ---- a/test/data/manifests/rhel_9-aarch64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/rhel_9-aarch64-edge_commit_with_container-boot.json -@@ -22,6 +22,9 @@ - "containers": [ - { - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ { -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - ] - } -@@ -4575,10 +4578,20 @@ - "type": "org.osbuild.containers", - "origin": "org.osbuild.source", - "references": { -+ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - } - } -+ }, -+ "manifest-lists": { -+ "type": "org.osbuild.files", -+ "origin": "org.osbuild.source", -+ "references": [ -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" -+ ] - } - }, - "options": { -@@ -5836,6 +5849,12 @@ - }, - "org.osbuild.skopeo": { - "items": { -+ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb" -+ } -+ }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "image": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -@@ -5843,6 +5862,15 @@ - } - } - } -+ }, -+ "org.osbuild.skopeo-index": { -+ "items": { -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ } -+ } -+ } - } - } - }, -@@ -11438,7 +11466,16 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "ListDigest": "" -+ }, -+ { -+ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", -+ "TLSVerify": null, -+ "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], - "no-image-info": true -diff --git a/test/data/manifests/rhel_9-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_9-x86_64-edge_commit_with_container-boot.json -index 5eb599741..5ab941e81 100644 ---- a/test/data/manifests/rhel_9-x86_64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/rhel_9-x86_64-edge_commit_with_container-boot.json -@@ -31,6 +31,9 @@ - "containers": [ - { - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ { -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - ] - } -@@ -4788,8 +4791,18 @@ - "references": { - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - } -+ }, -+ "manifest-lists": { -+ "type": "org.osbuild.files", -+ "origin": "org.osbuild.source", -+ "references": [ -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" -+ ] - } - }, - "options": { -@@ -6094,6 +6107,21 @@ - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", - "digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b" - } -+ }, -+ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e" -+ } -+ } -+ } -+ }, -+ "org.osbuild.skopeo-index": { -+ "items": { -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ } - } - } - } -@@ -11941,7 +11969,16 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "ListDigest": "" -+ }, -+ { -+ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", -+ "TLSVerify": null, -+ "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], - "no-image-info": true -diff --git a/test/data/manifests/rhel_90-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_90-aarch64-edge_commit_with_container-boot.json -index 0daa7ef02..2cc34b97a 100644 ---- a/test/data/manifests/rhel_90-aarch64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/rhel_90-aarch64-edge_commit_with_container-boot.json -@@ -20,6 +20,9 @@ - "containers": [ - { - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ { -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - ] - } -@@ -1777,10 +1780,20 @@ - "type": "org.osbuild.containers", - "origin": "org.osbuild.source", - "references": { -+ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - } - } -+ }, -+ "manifest-lists": { -+ "type": "org.osbuild.files", -+ "origin": "org.osbuild.source", -+ "references": [ -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" -+ ] - } - }, - "options": { -@@ -3032,6 +3045,12 @@ - }, - "org.osbuild.skopeo": { - "items": { -+ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb" -+ } -+ }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "image": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -@@ -3039,6 +3058,15 @@ - } - } - } -+ }, -+ "org.osbuild.skopeo-index": { -+ "items": { -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ } -+ } -+ } - } - } - }, -@@ -8058,7 +8086,16 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "ListDigest": "" -+ }, -+ { -+ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", -+ "TLSVerify": null, -+ "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], - "no-image-info": true -diff --git a/test/data/manifests/rhel_90-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_90-x86_64-edge_commit_with_container-boot.json -index 8d141c74a..98e39d67a 100644 ---- a/test/data/manifests/rhel_90-x86_64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/rhel_90-x86_64-edge_commit_with_container-boot.json -@@ -28,6 +28,9 @@ - "containers": [ - { - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ { -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - ] - } -@@ -1867,8 +1870,18 @@ - "references": { - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - } -+ }, -+ "manifest-lists": { -+ "type": "org.osbuild.files", -+ "origin": "org.osbuild.source", -+ "references": [ -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" -+ ] - } - }, - "options": { -@@ -3170,6 +3183,21 @@ - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", - "digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b" - } -+ }, -+ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e" -+ } -+ } -+ } -+ }, -+ "org.osbuild.skopeo-index": { -+ "items": { -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ } - } - } - } -@@ -8425,7 +8453,16 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "ListDigest": "" -+ }, -+ { -+ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", -+ "TLSVerify": null, -+ "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], - "no-image-info": true -diff --git a/test/data/manifests/rhel_91-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_91-aarch64-edge_commit_with_container-boot.json -index c53ca9fe3..96f0587bd 100644 ---- a/test/data/manifests/rhel_91-aarch64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/rhel_91-aarch64-edge_commit_with_container-boot.json -@@ -22,6 +22,9 @@ - "containers": [ - { - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ { -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - ] - } -@@ -4575,10 +4578,20 @@ - "type": "org.osbuild.containers", - "origin": "org.osbuild.source", - "references": { -+ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - } - } -+ }, -+ "manifest-lists": { -+ "type": "org.osbuild.files", -+ "origin": "org.osbuild.source", -+ "references": [ -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" -+ ] - } - }, - "options": { -@@ -5836,6 +5849,12 @@ - }, - "org.osbuild.skopeo": { - "items": { -+ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb" -+ } -+ }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "image": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -@@ -5843,6 +5862,15 @@ - } - } - } -+ }, -+ "org.osbuild.skopeo-index": { -+ "items": { -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ } -+ } -+ } - } - } - }, -@@ -11438,7 +11466,16 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "ListDigest": "" -+ }, -+ { -+ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", -+ "TLSVerify": null, -+ "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], - "no-image-info": true -diff --git a/test/data/manifests/rhel_91-aarch64-qcow2_customize-boot.json b/test/data/manifests/rhel_91-aarch64-qcow2_customize-boot.json -index 499ec4487..878462742 100644 ---- a/test/data/manifests/rhel_91-aarch64-qcow2_customize-boot.json -+++ b/test/data/manifests/rhel_91-aarch64-qcow2_customize-boot.json -@@ -13442,7 +13442,8 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "ListDigest": "" - } - ], - "no-image-info": true -diff --git a/test/data/manifests/rhel_91-ppc64le-qcow2_customize-boot.json b/test/data/manifests/rhel_91-ppc64le-qcow2_customize-boot.json -index aa2870cab..32cc7bfc9 100644 ---- a/test/data/manifests/rhel_91-ppc64le-qcow2_customize-boot.json -+++ b/test/data/manifests/rhel_91-ppc64le-qcow2_customize-boot.json -@@ -14937,7 +14937,8 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "ListDigest": "" - } - ], - "no-image-info": true -diff --git a/test/data/manifests/rhel_91-s390x-qcow2_customize-boot.json b/test/data/manifests/rhel_91-s390x-qcow2_customize-boot.json -index 4fa7229f3..f12691619 100644 ---- a/test/data/manifests/rhel_91-s390x-qcow2_customize-boot.json -+++ b/test/data/manifests/rhel_91-s390x-qcow2_customize-boot.json -@@ -15430,7 +15430,8 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "ListDigest": "" - } - ], - "no-image-info": true -diff --git a/test/data/manifests/rhel_91-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_91-x86_64-edge_commit_with_container-boot.json -index 8e8c8d202..c9052dc32 100644 ---- a/test/data/manifests/rhel_91-x86_64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/rhel_91-x86_64-edge_commit_with_container-boot.json -@@ -31,6 +31,9 @@ - "containers": [ - { - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ { -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - ] - } -@@ -4788,8 +4791,18 @@ - "references": { - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - } -+ }, -+ "manifest-lists": { -+ "type": "org.osbuild.files", -+ "origin": "org.osbuild.source", -+ "references": [ -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" -+ ] - } - }, - "options": { -@@ -6094,6 +6107,21 @@ - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", - "digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b" - } -+ }, -+ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e" -+ } -+ } -+ } -+ }, -+ "org.osbuild.skopeo-index": { -+ "items": { -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ } - } - } - } -@@ -11941,7 +11969,16 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "ListDigest": "" -+ }, -+ { -+ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", -+ "TLSVerify": null, -+ "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], - "no-image-info": true -diff --git a/test/data/manifests/rhel_91-x86_64-qcow2_customize-boot.json b/test/data/manifests/rhel_91-x86_64-qcow2_customize-boot.json -index a6fa8cd0b..c94c84eb5 100644 ---- a/test/data/manifests/rhel_91-x86_64-qcow2_customize-boot.json -+++ b/test/data/manifests/rhel_91-x86_64-qcow2_customize-boot.json -@@ -14273,7 +14273,8 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "ListDigest": "" - } - ], - "no-image-info": true -diff --git a/test/data/manifests/rhel_92-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_92-aarch64-edge_commit_with_container-boot.json -index 65add64a4..f3ea895fa 100644 ---- a/test/data/manifests/rhel_92-aarch64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/rhel_92-aarch64-edge_commit_with_container-boot.json -@@ -22,6 +22,9 @@ - "containers": [ - { - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ { -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - ] - } -@@ -4543,10 +4546,20 @@ - "type": "org.osbuild.containers", - "origin": "org.osbuild.source", - "references": { -+ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - } - } -+ }, -+ "manifest-lists": { -+ "type": "org.osbuild.files", -+ "origin": "org.osbuild.source", -+ "references": [ -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" -+ ] - } - }, - "options": { -@@ -5812,6 +5825,12 @@ - }, - "org.osbuild.skopeo": { - "items": { -+ "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb" -+ } -+ }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "image": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -@@ -5819,6 +5838,15 @@ - } - } - } -+ }, -+ "org.osbuild.skopeo-index": { -+ "items": { -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ } -+ } -+ } - } - } - }, -@@ -11374,7 +11402,16 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "ListDigest": "" -+ }, -+ { -+ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", -+ "TLSVerify": null, -+ "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], - "no-image-info": true -diff --git a/test/data/manifests/rhel_92-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_92-x86_64-edge_commit_with_container-boot.json -index 223202d58..292208064 100644 ---- a/test/data/manifests/rhel_92-x86_64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/rhel_92-x86_64-edge_commit_with_container-boot.json -@@ -31,6 +31,9 @@ - "containers": [ - { - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ { -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - ] - } -@@ -4756,8 +4759,18 @@ - "references": { - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - } -+ }, -+ "manifest-lists": { -+ "type": "org.osbuild.files", -+ "origin": "org.osbuild.source", -+ "references": [ -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" -+ ] - } - }, - "options": { -@@ -6070,6 +6083,21 @@ - "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", - "digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b" - } -+ }, -+ "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e" -+ } -+ } -+ } -+ }, -+ "org.osbuild.skopeo-index": { -+ "items": { -+ "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc": { -+ "image": { -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ } - } - } - } -@@ -11877,7 +11905,16 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "ListDigest": "" -+ }, -+ { -+ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", -+ "TLSVerify": null, -+ "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], - "no-image-info": true -diff --git a/tools/test-case-generators/format-request-map.json b/tools/test-case-generators/format-request-map.json -index cb0a55552..f509c0275 100644 ---- a/tools/test-case-generators/format-request-map.json -+++ b/tools/test-case-generators/format-request-map.json -@@ -123,6 +123,9 @@ - "containers": [ - { - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ { -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - ] - } -@@ -296,6 +299,9 @@ - "containers": [ - { - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ }, -+ { -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" - } - ] - } --- -2.40.0 - - -From cd09d638c2cef740508e6e29b14ad233143b9c28 Mon Sep 17 00:00:00 2001 -From: Achilleas Koutsou -Date: Mon, 27 Mar 2023 20:42:16 +0200 -Subject: [PATCH 16/22] test/container-embedding: add container with - manifest-list - -Add a second container to the container-embedding test. The digest -refers to a manifest-list to test the new feature. ---- - test/cases/container-embedding.sh | 28 +++++++++++++++++++++------- - 1 file changed, 21 insertions(+), 7 deletions(-) - -diff --git a/test/cases/container-embedding.sh b/test/cases/container-embedding.sh -index 166eb9d0b..42d9a1259 100755 ---- a/test/cases/container-embedding.sh -+++ b/test/cases/container-embedding.sh -@@ -54,16 +54,20 @@ BLUEPRINT_FILE=${TEMPDIR}/blueprint.toml - COMPOSE_START=${TEMPDIR}/compose-start-${IMAGE_KEY}.json - COMPOSE_INFO=${TEMPDIR}/compose-info-${IMAGE_KEY}.json - --IMAGE_DIGEST="sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b" -+FEDORA_IMAGE_DIGEST="sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b" -+MANIFEST_LIST_DIGEST="sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - - # Write a basic blueprint for our container. - tee "$BLUEPRINT_FILE" > /dev/null << EOF - name = "image" --description = "A qcwo2 with an container" -+description = "A qcow2 with an container" - version = "0.0.1" - - [[containers]] --source = "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal@${IMAGE_DIGEST}" -+source = "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal@${FEDORA_IMAGE_DIGEST}" -+ -+[[containers]] -+source = "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test@${MANIFEST_LIST_DIGEST}" - EOF - - # Prepare the blueprint for the compose. -@@ -125,11 +129,21 @@ greenprint "💬 Checking that image exists" - INFO="$(sudo /usr/libexec/osbuild-composer-test/image-info "${IMAGE_FILENAME}")" - - IMAGE_ID="d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6" --EXISTS=$(jq -e --arg id "${IMAGE_ID}" 'any(."container-images" | select(. != null and .[].Id == $id); .)' <<< "${INFO}") -+FEDORA_CONTAINER_EXISTS=$(jq -e --arg id "${IMAGE_ID}" 'any(."container-images" | select(. != null and .[].Id == $id); .)' <<< "${INFO}") -+ -+if $FEDORA_CONTAINER_EXISTS; then -+ greenprint "💚 fedora container image '${IMAGE_ID}' was found!" -+else -+ echo "😢 fedora container image '${IMAGE_ID}' not in image." -+ exit 1 -+fi -+ -+# Check that the test image's manifest list was included -+MANIFEST_LIST_EXISTS=$(jq -e --arg id "${MANIFEST_LIST_DIGEST}" 'any(."container-images" | select(. != null and .[].Digest == $id); .)' <<< "${INFO}") - --if $EXISTS; then -- greenprint "💚 container image '${IMAGE_ID}' was found!" -+if $MANIFEST_LIST_EXISTS; then -+ greenprint "💚 Manifest list digest '${MANIFEST_LIST_DIGEST}' was found!" - else -- echo "😢 container image '${IMAGE_ID}' not in image." -+ echo "😢 Manifest list digest '${MANIFEST_LIST_DIGEST}' not in image." - exit 1 - fi --- -2.40.0 - - -From 7e39c8cad9037b99aab1f14de2218e8b762fbf11 Mon Sep 17 00:00:00 2001 -From: Achilleas Koutsou -Date: Mon, 27 Mar 2023 20:52:45 +0200 -Subject: [PATCH 17/22] Schutzfile: osbuild commit - -Pin osbuild to current main for manifest-list feature. ---- - Schutzfile | 26 +++++++++++++------------- - 1 file changed, 13 insertions(+), 13 deletions(-) - -diff --git a/Schutzfile b/Schutzfile -index ef342ee72..f39897beb 100644 ---- a/Schutzfile -+++ b/Schutzfile -@@ -2,7 +2,7 @@ - "fedora-36": { - "dependencies": { - "osbuild": { -- "commit": "345b2a599788e0ce3090025c06a7480e7497a94d" -+ "commit": "76a80bd8c590dba4480305efcb067145db3bf347" - } - }, - "repos": [ -@@ -79,7 +79,7 @@ - "fedora-37": { - "dependencies": { - "osbuild": { -- "commit": "345b2a599788e0ce3090025c06a7480e7497a94d" -+ "commit": "76a80bd8c590dba4480305efcb067145db3bf347" - } - }, - "repos": [ -@@ -156,28 +156,28 @@ - "rhel-8.4": { - "dependencies": { - "osbuild": { -- "commit": "345b2a599788e0ce3090025c06a7480e7497a94d" -+ "commit": "76a80bd8c590dba4480305efcb067145db3bf347" - } - } - }, - "rhel-8.6": { - "dependencies": { - "osbuild": { -- "commit": "345b2a599788e0ce3090025c06a7480e7497a94d" -+ "commit": "76a80bd8c590dba4480305efcb067145db3bf347" - } - } - }, - "rhel-8.7": { - "dependencies": { - "osbuild": { -- "commit": "345b2a599788e0ce3090025c06a7480e7497a94d" -+ "commit": "76a80bd8c590dba4480305efcb067145db3bf347" - } - } - }, - "rhel-8.8": { - "dependencies": { - "osbuild": { -- "commit": "345b2a599788e0ce3090025c06a7480e7497a94d" -+ "commit": "76a80bd8c590dba4480305efcb067145db3bf347" - } - }, - "repos": [ -@@ -223,21 +223,21 @@ - "rhel-9.0": { - "dependencies": { - "osbuild": { -- "commit": "345b2a599788e0ce3090025c06a7480e7497a94d" -+ "commit": "76a80bd8c590dba4480305efcb067145db3bf347" - } - } - }, - "rhel-9.1": { - "dependencies": { - "osbuild": { -- "commit": "345b2a599788e0ce3090025c06a7480e7497a94d" -+ "commit": "76a80bd8c590dba4480305efcb067145db3bf347" - } - } - }, - "rhel-9.2": { - "dependencies": { - "osbuild": { -- "commit": "345b2a599788e0ce3090025c06a7480e7497a94d" -+ "commit": "76a80bd8c590dba4480305efcb067145db3bf347" - } - }, - "repos": [ -@@ -283,21 +283,21 @@ - "centos-8": { - "dependencies": { - "osbuild": { -- "commit": "345b2a599788e0ce3090025c06a7480e7497a94d" -+ "commit": "76a80bd8c590dba4480305efcb067145db3bf347" - } - } - }, - "centos-9": { - "dependencies": { - "osbuild": { -- "commit": "345b2a599788e0ce3090025c06a7480e7497a94d" -+ "commit": "76a80bd8c590dba4480305efcb067145db3bf347" - } - } - }, - "centos-stream-9": { - "dependencies": { - "osbuild": { -- "commit": "345b2a599788e0ce3090025c06a7480e7497a94d" -+ "commit": "76a80bd8c590dba4480305efcb067145db3bf347" - } - }, - "repos": [ -@@ -343,7 +343,7 @@ - "centos-stream-8": { - "dependencies": { - "osbuild": { -- "commit": "345b2a599788e0ce3090025c06a7480e7497a94d" -+ "commit": "76a80bd8c590dba4480305efcb067145db3bf347" - } - }, - "repos": [ --- -2.40.0 - - -From 49ef4577edf92e212d7a44d6186aaabb9d7b211d Mon Sep 17 00:00:00 2001 -From: Achilleas Koutsou -Date: Sun, 2 Apr 2023 15:13:04 +0200 -Subject: [PATCH 18/22] spec: depend on osbuild v83 - -Set the dependency to osbuild v83 which contains the new features for -preserving manifest lists for containers. - -Added in https://github.com/osbuild/osbuild/pull/1252 ---- - osbuild-composer.spec | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/osbuild-composer.spec b/osbuild-composer.spec -index 39c526dde..0a4512100 100644 ---- a/osbuild-composer.spec -+++ b/osbuild-composer.spec -@@ -295,10 +295,10 @@ The core osbuild-composer binary. This is suitable both for spawning in containe - Summary: The worker for osbuild-composer - Requires: systemd - Requires: qemu-img --Requires: osbuild >= 81 --Requires: osbuild-ostree >= 81 --Requires: osbuild-lvm2 >= 81 --Requires: osbuild-luks2 >= 81 -+Requires: osbuild >= 83 -+Requires: osbuild-ostree >= 83 -+Requires: osbuild-lvm2 >= 83 -+Requires: osbuild-luks2 >= 83 - Requires: %{name}-dnf-json = %{version}-%{release} - - %description worker --- -2.40.0 - - -From f14f4e4f98515fdb7d7273998d9e07463573512e Mon Sep 17 00:00:00 2001 -From: Achilleas Koutsou -Date: Tue, 18 Apr 2023 15:32:28 +0200 -Subject: [PATCH 19/22] container: explicitly set LocalName - -Set the LocalName for the spec using a separate argument in the -NewSpec() constructor instead of reusing the `source` arg. -The name is already available in the calling scope in the client's -Resolve() method. - -If the LocalName is an empty string, default to the remote (source) -reference. This is a change from the previous behaviour which only used -the base source.Name(). The full source corresponds to the -user-provided source value, which includes any specified tag or digest. - -The `name` argument which is used in the `Resolve()` function should -always correspond to the user-provided container name. ---- - internal/container/client.go | 2 +- - internal/container/spec.go | 10 ++++++---- - 2 files changed, 7 insertions(+), 5 deletions(-) - -diff --git a/internal/container/client.go b/internal/container/client.go -index 5e03d31c1..e90fff79c 100644 ---- a/internal/container/client.go -+++ b/internal/container/client.go -@@ -500,7 +500,7 @@ func (cl *Client) Resolve(ctx context.Context, name string) (Spec, error) { - return Spec{}, err - } - -- spec := NewSpec(cl.Target, ids.Manifest, ids.Config, cl.GetTLSVerify(), ids.ListManifest.String()) -+ spec := NewSpec(cl.Target, ids.Manifest, ids.Config, cl.GetTLSVerify(), ids.ListManifest.String(), name) - - return spec, nil - } -diff --git a/internal/container/spec.go b/internal/container/spec.go -index a9db3f731..15fe1572a 100644 ---- a/internal/container/spec.go -+++ b/internal/container/spec.go -@@ -22,14 +22,16 @@ type Spec struct { - // NewSpec creates a new Spec from the essential information. - // It also converts is the transition point from container - // specific types (digest.Digest) to generic types (string). --func NewSpec(source reference.Named, digest, imageID digest.Digest, tlsVerify *bool, listDigest string) Spec { -- name := source.Name() -+func NewSpec(source reference.Named, digest, imageID digest.Digest, tlsVerify *bool, listDigest string, localName string) Spec { -+ if localName == "" { -+ localName = source.String() -+ } - return Spec{ -- Source: name, -+ Source: source.Name(), - Digest: digest.String(), - TLSVerify: tlsVerify, - ImageID: imageID.String(), -- LocalName: name, -+ LocalName: localName, - ListDigest: listDigest, - } - } --- -2.40.0 - - -From 0b199b1782f7dd722539efa431237e954b142f16 Mon Sep 17 00:00:00 2001 -From: Achilleas Koutsou -Date: Wed, 19 Apr 2023 13:30:43 +0200 -Subject: [PATCH 20/22] container: update unit tests to match expected - behaviour - ---- - internal/container/client_test.go | 4 ++-- - internal/container/container_test.go | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/internal/container/client_test.go b/internal/container/client_test.go -index 49695dae9..eb7a44037 100644 ---- a/internal/container/client_test.go -+++ b/internal/container/client_test.go -@@ -44,7 +44,7 @@ func TestClientResolve(t *testing.T) { - Digest: "sha256:f29b6cd42a94a574583439addcd6694e6224f0e4b32044c9e3aee4c4856c2a50", - ImageID: "sha256:c2ecf25cf190e76b12b07436ad5140d4ba53d8a136d498705e57a006837a720f", - TLSVerify: client.GetTLSVerify(), -- LocalName: ref, -+ LocalName: client.Target.String(), - ListDigest: listDigest, - }, spec) - -@@ -57,7 +57,7 @@ func TestClientResolve(t *testing.T) { - Digest: "sha256:d49eebefb6c7ce5505594bef652bd4adc36f413861bd44209d9b9486310b1264", - ImageID: "sha256:d2ab8fea7f08a22f03b30c13c6ea443121f25e87202a7496e93736efa6fe345a", - TLSVerify: client.GetTLSVerify(), -- LocalName: ref, -+ LocalName: client.Target.String(), - ListDigest: listDigest, - }, spec) - -diff --git a/internal/container/container_test.go b/internal/container/container_test.go -index 85a945471..52ce86504 100644 ---- a/internal/container/container_test.go -+++ b/internal/container/container_test.go -@@ -374,7 +374,7 @@ func (reg *Registry) Resolve(target, arch string) (container.Spec, error) { - Source: ref.String(), - Digest: checksum, - ImageID: mf.ConfigDescriptor.Digest.String(), -- LocalName: ref.String(), -+ LocalName: target, - TLSVerify: common.ToPtr(false), - ListDigest: listDigest, - }, nil --- -2.40.0 - - -From 349d1ead968f8e787e61eb6bd8965bf2940e60f5 Mon Sep 17 00:00:00 2001 -From: Achilleas Koutsou -Date: Wed, 19 Apr 2023 10:04:56 +0200 -Subject: [PATCH 21/22] test: add "name" to test manifests with container - -Add name field to the manifest-list-test container in the test -request. The value is the same as the source but with a `v1` tag -added. - -In the manifests, the name field for the manifest-list-test is added to -the skopeo stage. The `name` option of the fedora-minimal container in -the skopeo stage is also changed to reflect the full source reference -including the `latest` tag. ---- - ...rch64-edge_commit_with_container-boot.json | 11 ++++---- - ...86_64-edge_commit_with_container-boot.json | 11 ++++---- - ...rch64-edge_commit_with_container-boot.json | 11 ++++---- - ...86_64-edge_commit_with_container-boot.json | 11 ++++---- - ...arch64-iot_commit_with_container-boot.json | 11 ++++---- - ...x86_64-iot_commit_with_container-boot.json | 11 ++++---- - ...arch64-iot_commit_with_container-boot.json | 11 ++++---- - ...x86_64-iot_commit_with_container-boot.json | 11 ++++---- - ...arch64-iot_commit_with_container-boot.json | 25 ++++++++++--------- - ...x86_64-iot_commit_with_container-boot.json | 11 ++++---- - ...rch64-edge_commit_with_container-boot.json | 11 ++++---- - ...86_64-edge_commit_with_container-boot.json | 11 ++++---- - ...rch64-edge_commit_with_container-boot.json | 11 ++++---- - ...86_64-edge_commit_with_container-boot.json | 11 ++++---- - ...rch64-edge_commit_with_container-boot.json | 11 ++++---- - ...86_64-edge_commit_with_container-boot.json | 11 ++++---- - ...rch64-edge_commit_with_container-boot.json | 11 ++++---- - ...86_64-edge_commit_with_container-boot.json | 11 ++++---- - ...rch64-edge_commit_with_container-boot.json | 11 ++++---- - ...86_64-edge_commit_with_container-boot.json | 11 ++++---- - ...rch64-edge_commit_with_container-boot.json | 11 ++++---- - ...86_64-edge_commit_with_container-boot.json | 11 ++++---- - ...rch64-edge_commit_with_container-boot.json | 11 ++++---- - ...86_64-edge_commit_with_container-boot.json | 11 ++++---- - ...rch64-edge_commit_with_container-boot.json | 11 ++++---- - ...86_64-edge_commit_with_container-boot.json | 11 ++++---- - ...rch64-edge_commit_with_container-boot.json | 11 ++++---- - .../rhel_91-aarch64-qcow2_customize-boot.json | 4 +-- - .../rhel_91-ppc64le-qcow2_customize-boot.json | 4 +-- - .../rhel_91-s390x-qcow2_customize-boot.json | 4 +-- - ...86_64-edge_commit_with_container-boot.json | 11 ++++---- - .../rhel_91-x86_64-qcow2_customize-boot.json | 4 +-- - ...rch64-edge_commit_with_container-boot.json | 11 ++++---- - ...86_64-edge_commit_with_container-boot.json | 11 ++++---- - .../format-request-map.json | 6 +++-- - 35 files changed, 199 insertions(+), 167 deletions(-) - -diff --git a/test/data/manifests/centos_8-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/centos_8-aarch64-edge_commit_with_container-boot.json -index ecf6766ab..0dc3b2a96 100644 ---- a/test/data/manifests/centos_8-aarch64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/centos_8-aarch64-edge_commit_with_container-boot.json -@@ -24,7 +24,8 @@ - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - }, - { -- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - } - ] - } -@@ -4891,10 +4892,10 @@ - "origin": "org.osbuild.source", - "references": { - "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" - } - } - }, -@@ -12184,7 +12185,7 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", - "ListDigest": "" - }, - { -@@ -12192,7 +12193,7 @@ - "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", - "TLSVerify": null, - "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", - "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], -diff --git a/test/data/manifests/centos_8-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/centos_8-x86_64-edge_commit_with_container-boot.json -index 097cc2005..cf9f9ba1e 100644 ---- a/test/data/manifests/centos_8-x86_64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/centos_8-x86_64-edge_commit_with_container-boot.json -@@ -24,7 +24,8 @@ - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - }, - { -- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - } - ] - } -@@ -5051,10 +5052,10 @@ - "origin": "org.osbuild.source", - "references": { - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" - }, - "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - } - } - }, -@@ -12589,7 +12590,7 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", - "ListDigest": "" - }, - { -@@ -12597,7 +12598,7 @@ - "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", - "TLSVerify": null, - "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", - "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], -diff --git a/test/data/manifests/centos_9-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/centos_9-aarch64-edge_commit_with_container-boot.json -index ec4673efe..5498f7087 100644 ---- a/test/data/manifests/centos_9-aarch64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/centos_9-aarch64-edge_commit_with_container-boot.json -@@ -24,7 +24,8 @@ - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - }, - { -- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - } - ] - } -@@ -4531,10 +4532,10 @@ - "origin": "org.osbuild.source", - "references": { - "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" - } - } - }, -@@ -11355,7 +11356,7 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", - "ListDigest": "" - }, - { -@@ -11363,7 +11364,7 @@ - "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", - "TLSVerify": null, - "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", - "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], -diff --git a/test/data/manifests/centos_9-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/centos_9-x86_64-edge_commit_with_container-boot.json -index d231b9496..4c70b8b2a 100644 ---- a/test/data/manifests/centos_9-x86_64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/centos_9-x86_64-edge_commit_with_container-boot.json -@@ -30,7 +30,8 @@ - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - }, - { -- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - } - ] - } -@@ -4739,10 +4740,10 @@ - "origin": "org.osbuild.source", - "references": { - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" - }, - "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - } - } - }, -@@ -11855,7 +11856,7 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", - "ListDigest": "" - }, - { -@@ -11863,7 +11864,7 @@ - "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", - "TLSVerify": null, - "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", - "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], -diff --git a/test/data/manifests/fedora_36-aarch64-iot_commit_with_container-boot.json b/test/data/manifests/fedora_36-aarch64-iot_commit_with_container-boot.json -index dca9bd472..0778bddb3 100644 ---- a/test/data/manifests/fedora_36-aarch64-iot_commit_with_container-boot.json -+++ b/test/data/manifests/fedora_36-aarch64-iot_commit_with_container-boot.json -@@ -38,7 +38,8 @@ - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - }, - { -- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "name": "manifest-list-test:v1" - } - ] - } -@@ -5397,10 +5398,10 @@ - "origin": "org.osbuild.source", - "references": { - "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "name": "manifest-list-test:v1" - }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" - } - } - }, -@@ -13449,7 +13450,7 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", - "ListDigest": "" - }, - { -@@ -13457,7 +13458,7 @@ - "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", - "TLSVerify": null, - "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "LocalName": "manifest-list-test:v1", - "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], -diff --git a/test/data/manifests/fedora_36-x86_64-iot_commit_with_container-boot.json b/test/data/manifests/fedora_36-x86_64-iot_commit_with_container-boot.json -index e3742a48a..ee971e308 100644 ---- a/test/data/manifests/fedora_36-x86_64-iot_commit_with_container-boot.json -+++ b/test/data/manifests/fedora_36-x86_64-iot_commit_with_container-boot.json -@@ -38,7 +38,8 @@ - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - }, - { -- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "name": "manifest-list-test:v1" - } - ] - } -@@ -5517,10 +5518,10 @@ - "origin": "org.osbuild.source", - "references": { - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" - }, - "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "name": "manifest-list-test:v1" - } - } - }, -@@ -13755,7 +13756,7 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", - "ListDigest": "" - }, - { -@@ -13763,7 +13764,7 @@ - "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", - "TLSVerify": null, - "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "LocalName": "manifest-list-test:v1", - "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], -diff --git a/test/data/manifests/fedora_37-aarch64-iot_commit_with_container-boot.json b/test/data/manifests/fedora_37-aarch64-iot_commit_with_container-boot.json -index 9cce29ff4..07590c7ac 100644 ---- a/test/data/manifests/fedora_37-aarch64-iot_commit_with_container-boot.json -+++ b/test/data/manifests/fedora_37-aarch64-iot_commit_with_container-boot.json -@@ -24,7 +24,8 @@ - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - }, - { -- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "name": "manifest-list-test:v1" - } - ] - } -@@ -5467,10 +5468,10 @@ - "origin": "org.osbuild.source", - "references": { - "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "name": "manifest-list-test:v1" - }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" - } - } - }, -@@ -13650,7 +13651,7 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", - "ListDigest": "" - }, - { -@@ -13658,7 +13659,7 @@ - "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", - "TLSVerify": null, - "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "LocalName": "manifest-list-test:v1", - "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], -diff --git a/test/data/manifests/fedora_37-x86_64-iot_commit_with_container-boot.json b/test/data/manifests/fedora_37-x86_64-iot_commit_with_container-boot.json -index 5fc0b2ee4..37649e4ea 100644 ---- a/test/data/manifests/fedora_37-x86_64-iot_commit_with_container-boot.json -+++ b/test/data/manifests/fedora_37-x86_64-iot_commit_with_container-boot.json -@@ -24,7 +24,8 @@ - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - }, - { -- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "name": "manifest-list-test:v1" - } - ] - } -@@ -5587,10 +5588,10 @@ - "origin": "org.osbuild.source", - "references": { - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" - }, - "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "name": "manifest-list-test:v1" - } - } - }, -@@ -13956,7 +13957,7 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", - "ListDigest": "" - }, - { -@@ -13964,7 +13965,7 @@ - "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", - "TLSVerify": null, - "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "LocalName": "manifest-list-test:v1", - "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], -diff --git a/test/data/manifests/fedora_38-aarch64-iot_commit_with_container-boot.json b/test/data/manifests/fedora_38-aarch64-iot_commit_with_container-boot.json -index 3b2ddc32f..c38f970d0 100644 ---- a/test/data/manifests/fedora_38-aarch64-iot_commit_with_container-boot.json -+++ b/test/data/manifests/fedora_38-aarch64-iot_commit_with_container-boot.json -@@ -24,7 +24,8 @@ - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - }, - { -- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "name": "manifest-list-test:v1" - } - ] - } -@@ -5299,10 +5300,10 @@ - "origin": "org.osbuild.source", - "references": { - "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "name": "manifest-list-test:v1" - }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" - } - } - }, -@@ -13270,21 +13271,21 @@ - ] - }, - "containers": [ -- { -- "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -- "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", -- "TLSVerify": null, -- "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -- "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" -- }, - { - "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", - "ListDigest": "" -+ }, -+ { -+ "Source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", -+ "TLSVerify": null, -+ "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", -+ "LocalName": "manifest-list-test:v1", -+ "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], - "no-image-info": true -diff --git a/test/data/manifests/fedora_38-x86_64-iot_commit_with_container-boot.json b/test/data/manifests/fedora_38-x86_64-iot_commit_with_container-boot.json -index f1986cd5f..606a73907 100644 ---- a/test/data/manifests/fedora_38-x86_64-iot_commit_with_container-boot.json -+++ b/test/data/manifests/fedora_38-x86_64-iot_commit_with_container-boot.json -@@ -24,7 +24,8 @@ - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - }, - { -- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "name": "manifest-list-test:v1" - } - ] - } -@@ -5403,10 +5404,10 @@ - "origin": "org.osbuild.source", - "references": { - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" - }, - "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "name": "manifest-list-test:v1" - } - } - }, -@@ -13542,7 +13543,7 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", - "ListDigest": "" - }, - { -@@ -13550,7 +13551,7 @@ - "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", - "TLSVerify": null, - "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "LocalName": "manifest-list-test:v1", - "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], -diff --git a/test/data/manifests/rhel_8-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_8-aarch64-edge_commit_with_container-boot.json -index 3218630de..c586347bd 100644 ---- a/test/data/manifests/rhel_8-aarch64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/rhel_8-aarch64-edge_commit_with_container-boot.json -@@ -22,7 +22,8 @@ - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - }, - { -- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - } - ] - } -@@ -1907,10 +1908,10 @@ - "origin": "org.osbuild.source", - "references": { - "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" - } - } - }, -@@ -8623,7 +8624,7 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", - "ListDigest": "" - }, - { -@@ -8631,7 +8632,7 @@ - "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", - "TLSVerify": null, - "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", - "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], -diff --git a/test/data/manifests/rhel_8-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_8-x86_64-edge_commit_with_container-boot.json -index 24d984e15..474c7e0fd 100644 ---- a/test/data/manifests/rhel_8-x86_64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/rhel_8-x86_64-edge_commit_with_container-boot.json -@@ -30,7 +30,8 @@ - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - }, - { -- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - } - ] - } -@@ -1977,10 +1978,10 @@ - "origin": "org.osbuild.source", - "references": { - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" - }, - "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - } - } - }, -@@ -8918,7 +8919,7 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", - "ListDigest": "" - }, - { -@@ -8926,7 +8927,7 @@ - "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", - "TLSVerify": null, - "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", - "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], -diff --git a/test/data/manifests/rhel_84-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_84-aarch64-edge_commit_with_container-boot.json -index 8e24a89e7..48cc58419 100644 ---- a/test/data/manifests/rhel_84-aarch64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/rhel_84-aarch64-edge_commit_with_container-boot.json -@@ -22,7 +22,8 @@ - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - }, - { -- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - } - ] - } -@@ -1868,10 +1869,10 @@ - "origin": "org.osbuild.source", - "references": { - "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" - } - } - }, -@@ -8474,7 +8475,7 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", - "ListDigest": "" - }, - { -@@ -8482,7 +8483,7 @@ - "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", - "TLSVerify": null, - "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", - "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], -diff --git a/test/data/manifests/rhel_84-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_84-x86_64-edge_commit_with_container-boot.json -index 2a7ca1509..f911e978c 100644 ---- a/test/data/manifests/rhel_84-x86_64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/rhel_84-x86_64-edge_commit_with_container-boot.json -@@ -30,7 +30,8 @@ - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - }, - { -- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - } - ] - } -@@ -1938,10 +1939,10 @@ - "origin": "org.osbuild.source", - "references": { - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" - }, - "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - } - } - }, -@@ -8769,7 +8770,7 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", - "ListDigest": "" - }, - { -@@ -8777,7 +8778,7 @@ - "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", - "TLSVerify": null, - "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", - "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], -diff --git a/test/data/manifests/rhel_85-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_85-aarch64-edge_commit_with_container-boot.json -index 76b1ee048..2dbd7bc0f 100644 ---- a/test/data/manifests/rhel_85-aarch64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/rhel_85-aarch64-edge_commit_with_container-boot.json -@@ -22,7 +22,8 @@ - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - }, - { -- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - } - ] - } -@@ -1889,10 +1890,10 @@ - "origin": "org.osbuild.source", - "references": { - "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" - } - } - }, -@@ -8526,7 +8527,7 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", - "ListDigest": "" - }, - { -@@ -8534,7 +8535,7 @@ - "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", - "TLSVerify": null, - "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", - "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], -diff --git a/test/data/manifests/rhel_85-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_85-x86_64-edge_commit_with_container-boot.json -index bc67a9a85..0ae6d880f 100644 ---- a/test/data/manifests/rhel_85-x86_64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/rhel_85-x86_64-edge_commit_with_container-boot.json -@@ -30,7 +30,8 @@ - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - }, - { -- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - } - ] - } -@@ -1959,10 +1960,10 @@ - "origin": "org.osbuild.source", - "references": { - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" - }, - "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - } - } - }, -@@ -8821,7 +8822,7 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", - "ListDigest": "" - }, - { -@@ -8829,7 +8830,7 @@ - "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", - "TLSVerify": null, - "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", - "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], -diff --git a/test/data/manifests/rhel_86-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_86-aarch64-edge_commit_with_container-boot.json -index 0ce2c96a6..c6add0335 100644 ---- a/test/data/manifests/rhel_86-aarch64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/rhel_86-aarch64-edge_commit_with_container-boot.json -@@ -22,7 +22,8 @@ - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - }, - { -- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - } - ] - } -@@ -1901,10 +1902,10 @@ - "origin": "org.osbuild.source", - "references": { - "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" - } - } - }, -@@ -8596,7 +8597,7 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", - "ListDigest": "" - }, - { -@@ -8604,7 +8605,7 @@ - "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", - "TLSVerify": null, - "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", - "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], -diff --git a/test/data/manifests/rhel_86-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_86-x86_64-edge_commit_with_container-boot.json -index 06b054f29..e4d716a71 100644 ---- a/test/data/manifests/rhel_86-x86_64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/rhel_86-x86_64-edge_commit_with_container-boot.json -@@ -30,7 +30,8 @@ - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - }, - { -- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - } - ] - } -@@ -1971,10 +1972,10 @@ - "origin": "org.osbuild.source", - "references": { - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" - }, - "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - } - } - }, -@@ -8891,7 +8892,7 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", - "ListDigest": "" - }, - { -@@ -8899,7 +8900,7 @@ - "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", - "TLSVerify": null, - "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", - "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], -diff --git a/test/data/manifests/rhel_87-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_87-aarch64-edge_commit_with_container-boot.json -index 1a29f877e..1af6201e1 100644 ---- a/test/data/manifests/rhel_87-aarch64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/rhel_87-aarch64-edge_commit_with_container-boot.json -@@ -22,7 +22,8 @@ - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - }, - { -- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - } - ] - } -@@ -1907,10 +1908,10 @@ - "origin": "org.osbuild.source", - "references": { - "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" - } - } - }, -@@ -8623,7 +8624,7 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", - "ListDigest": "" - }, - { -@@ -8631,7 +8632,7 @@ - "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", - "TLSVerify": null, - "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", - "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], -diff --git a/test/data/manifests/rhel_87-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_87-x86_64-edge_commit_with_container-boot.json -index 24dada814..d31893e37 100644 ---- a/test/data/manifests/rhel_87-x86_64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/rhel_87-x86_64-edge_commit_with_container-boot.json -@@ -30,7 +30,8 @@ - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - }, - { -- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - } - ] - } -@@ -1977,10 +1978,10 @@ - "origin": "org.osbuild.source", - "references": { - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" - }, - "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - } - } - }, -@@ -8918,7 +8919,7 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", - "ListDigest": "" - }, - { -@@ -8926,7 +8927,7 @@ - "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", - "TLSVerify": null, - "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", - "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], -diff --git a/test/data/manifests/rhel_88-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_88-aarch64-edge_commit_with_container-boot.json -index baaf0b90d..1e144282c 100644 ---- a/test/data/manifests/rhel_88-aarch64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/rhel_88-aarch64-edge_commit_with_container-boot.json -@@ -22,7 +22,8 @@ - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - }, - { -- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - } - ] - } -@@ -1907,10 +1908,10 @@ - "origin": "org.osbuild.source", - "references": { - "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" - } - } - }, -@@ -8623,7 +8624,7 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", - "ListDigest": "" - }, - { -@@ -8631,7 +8632,7 @@ - "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", - "TLSVerify": null, - "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", - "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], -diff --git a/test/data/manifests/rhel_88-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_88-x86_64-edge_commit_with_container-boot.json -index c75702c4a..9a86f87d6 100644 ---- a/test/data/manifests/rhel_88-x86_64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/rhel_88-x86_64-edge_commit_with_container-boot.json -@@ -30,7 +30,8 @@ - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - }, - { -- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - } - ] - } -@@ -1977,10 +1978,10 @@ - "origin": "org.osbuild.source", - "references": { - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" - }, - "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - } - } - }, -@@ -8918,7 +8919,7 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", - "ListDigest": "" - }, - { -@@ -8926,7 +8927,7 @@ - "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", - "TLSVerify": null, - "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", - "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], -diff --git a/test/data/manifests/rhel_9-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_9-aarch64-edge_commit_with_container-boot.json -index 7ca727841..feea13062 100644 ---- a/test/data/manifests/rhel_9-aarch64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/rhel_9-aarch64-edge_commit_with_container-boot.json -@@ -24,7 +24,8 @@ - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - }, - { -- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - } - ] - } -@@ -4579,10 +4580,10 @@ - "origin": "org.osbuild.source", - "references": { - "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" - } - } - }, -@@ -11466,7 +11467,7 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", - "ListDigest": "" - }, - { -@@ -11474,7 +11475,7 @@ - "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", - "TLSVerify": null, - "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", - "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], -diff --git a/test/data/manifests/rhel_9-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_9-x86_64-edge_commit_with_container-boot.json -index 5ab941e81..405f66cef 100644 ---- a/test/data/manifests/rhel_9-x86_64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/rhel_9-x86_64-edge_commit_with_container-boot.json -@@ -33,7 +33,8 @@ - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - }, - { -- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - } - ] - } -@@ -4790,10 +4791,10 @@ - "origin": "org.osbuild.source", - "references": { - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" - }, - "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - } - } - }, -@@ -11969,7 +11970,7 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", - "ListDigest": "" - }, - { -@@ -11977,7 +11978,7 @@ - "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", - "TLSVerify": null, - "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", - "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], -diff --git a/test/data/manifests/rhel_90-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_90-aarch64-edge_commit_with_container-boot.json -index 2cc34b97a..797861030 100644 ---- a/test/data/manifests/rhel_90-aarch64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/rhel_90-aarch64-edge_commit_with_container-boot.json -@@ -22,7 +22,8 @@ - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - }, - { -- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - } - ] - } -@@ -1781,10 +1782,10 @@ - "origin": "org.osbuild.source", - "references": { - "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" - } - } - }, -@@ -8086,7 +8087,7 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", - "ListDigest": "" - }, - { -@@ -8094,7 +8095,7 @@ - "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", - "TLSVerify": null, - "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", - "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], -diff --git a/test/data/manifests/rhel_90-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_90-x86_64-edge_commit_with_container-boot.json -index 98e39d67a..5bad89cd1 100644 ---- a/test/data/manifests/rhel_90-x86_64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/rhel_90-x86_64-edge_commit_with_container-boot.json -@@ -30,7 +30,8 @@ - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - }, - { -- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - } - ] - } -@@ -1869,10 +1870,10 @@ - "origin": "org.osbuild.source", - "references": { - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" - }, - "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - } - } - }, -@@ -8453,7 +8454,7 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", - "ListDigest": "" - }, - { -@@ -8461,7 +8462,7 @@ - "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", - "TLSVerify": null, - "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", - "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], -diff --git a/test/data/manifests/rhel_91-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_91-aarch64-edge_commit_with_container-boot.json -index 96f0587bd..f2d899ce9 100644 ---- a/test/data/manifests/rhel_91-aarch64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/rhel_91-aarch64-edge_commit_with_container-boot.json -@@ -24,7 +24,8 @@ - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - }, - { -- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - } - ] - } -@@ -4579,10 +4580,10 @@ - "origin": "org.osbuild.source", - "references": { - "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" - } - } - }, -@@ -11466,7 +11467,7 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", - "ListDigest": "" - }, - { -@@ -11474,7 +11475,7 @@ - "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", - "TLSVerify": null, - "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", - "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], -diff --git a/test/data/manifests/rhel_91-aarch64-qcow2_customize-boot.json b/test/data/manifests/rhel_91-aarch64-qcow2_customize-boot.json -index 878462742..d37d1f55c 100644 ---- a/test/data/manifests/rhel_91-aarch64-qcow2_customize-boot.json -+++ b/test/data/manifests/rhel_91-aarch64-qcow2_customize-boot.json -@@ -5186,7 +5186,7 @@ - "origin": "org.osbuild.source", - "references": { - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" - } - } - } -@@ -13442,7 +13442,7 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", - "ListDigest": "" - } - ], -diff --git a/test/data/manifests/rhel_91-ppc64le-qcow2_customize-boot.json b/test/data/manifests/rhel_91-ppc64le-qcow2_customize-boot.json -index 32cc7bfc9..896966d2b 100644 ---- a/test/data/manifests/rhel_91-ppc64le-qcow2_customize-boot.json -+++ b/test/data/manifests/rhel_91-ppc64le-qcow2_customize-boot.json -@@ -5794,7 +5794,7 @@ - "origin": "org.osbuild.source", - "references": { - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" - } - } - } -@@ -14937,7 +14937,7 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", - "ListDigest": "" - } - ], -diff --git a/test/data/manifests/rhel_91-s390x-qcow2_customize-boot.json b/test/data/manifests/rhel_91-s390x-qcow2_customize-boot.json -index f12691619..115aaae0c 100644 ---- a/test/data/manifests/rhel_91-s390x-qcow2_customize-boot.json -+++ b/test/data/manifests/rhel_91-s390x-qcow2_customize-boot.json -@@ -6018,7 +6018,7 @@ - "origin": "org.osbuild.source", - "references": { - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" - } - } - } -@@ -15430,7 +15430,7 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", - "ListDigest": "" - } - ], -diff --git a/test/data/manifests/rhel_91-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_91-x86_64-edge_commit_with_container-boot.json -index c9052dc32..00dc71480 100644 ---- a/test/data/manifests/rhel_91-x86_64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/rhel_91-x86_64-edge_commit_with_container-boot.json -@@ -33,7 +33,8 @@ - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - }, - { -- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - } - ] - } -@@ -4790,10 +4791,10 @@ - "origin": "org.osbuild.source", - "references": { - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" - }, - "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - } - } - }, -@@ -11969,7 +11970,7 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", - "ListDigest": "" - }, - { -@@ -11977,7 +11978,7 @@ - "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", - "TLSVerify": null, - "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", - "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], -diff --git a/test/data/manifests/rhel_91-x86_64-qcow2_customize-boot.json b/test/data/manifests/rhel_91-x86_64-qcow2_customize-boot.json -index c94c84eb5..c1bb51e32 100644 ---- a/test/data/manifests/rhel_91-x86_64-qcow2_customize-boot.json -+++ b/test/data/manifests/rhel_91-x86_64-qcow2_customize-boot.json -@@ -5522,7 +5522,7 @@ - "origin": "org.osbuild.source", - "references": { - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" - } - } - } -@@ -14273,7 +14273,7 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", - "ListDigest": "" - } - ], -diff --git a/test/data/manifests/rhel_92-aarch64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_92-aarch64-edge_commit_with_container-boot.json -index f3ea895fa..3071e7a58 100644 ---- a/test/data/manifests/rhel_92-aarch64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/rhel_92-aarch64-edge_commit_with_container-boot.json -@@ -24,7 +24,8 @@ - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - }, - { -- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - } - ] - } -@@ -4547,10 +4548,10 @@ - "origin": "org.osbuild.source", - "references": { - "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - }, - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" - } - } - }, -@@ -11402,7 +11403,7 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", - "ListDigest": "" - }, - { -@@ -11410,7 +11411,7 @@ - "Digest": "sha256:1a19a94647b1379fed8c23eb7553327cb604ba546eb93f9f6c1e6d11911c8beb", - "TLSVerify": null, - "ImageID": "sha256:62d2a7b3bf9e0b4f3aba22553d6971227b5a39f7f408d46347b1ee74eb97cb20", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", - "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], -diff --git a/test/data/manifests/rhel_92-x86_64-edge_commit_with_container-boot.json b/test/data/manifests/rhel_92-x86_64-edge_commit_with_container-boot.json -index 292208064..1a3709853 100644 ---- a/test/data/manifests/rhel_92-x86_64-edge_commit_with_container-boot.json -+++ b/test/data/manifests/rhel_92-x86_64-edge_commit_with_container-boot.json -@@ -33,7 +33,8 @@ - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - }, - { -- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - } - ] - } -@@ -4758,10 +4759,10 @@ - "origin": "org.osbuild.source", - "references": { - "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest" - }, - "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99": { -- "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - } - } - }, -@@ -11905,7 +11906,7 @@ - "Digest": "sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b", - "TLSVerify": null, - "ImageID": "sha256:d4ee87dab8193afad523b1042b9d3f5ec887555a704e5aaec2876798ebb585a6", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal:latest", - "ListDigest": "" - }, - { -@@ -11913,7 +11914,7 @@ - "Digest": "sha256:601c98c8148720ec5c29b8e854a1d5d88faddbc443eca12920d76cf993d7290e", - "TLSVerify": null, - "ImageID": "sha256:dbb63178dc9157068107961f11397df3fb62c02fa64f697d571bf84aad71cb99", -- "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "LocalName": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1", - "ListDigest": "sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" - } - ], -diff --git a/tools/test-case-generators/format-request-map.json b/tools/test-case-generators/format-request-map.json -index f509c0275..96bb5b209 100644 ---- a/tools/test-case-generators/format-request-map.json -+++ b/tools/test-case-generators/format-request-map.json -@@ -125,7 +125,8 @@ - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - }, - { -- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "name": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test:v1" - } - ] - } -@@ -301,7 +302,8 @@ - "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal" - }, - { -- "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test" -+ "source": "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test", -+ "name": "manifest-list-test:v1" - } - ] - } --- -2.40.0 - - -From c3af4a847284f2c87fa7fd6f017fba7988034cf8 Mon Sep 17 00:00:00 2001 -From: Achilleas Koutsou -Date: Wed, 19 Apr 2023 12:44:08 +0200 -Subject: [PATCH 22/22] test/container-embedding: add checks for container - names - -Add a local name for the fedora minimal image which includes the tag -`v1`. - -Check the image info for the expected names: -1. For the fedora-minimal image, the name as it appears in the blueprint - should be included in the names list. -2. For the manifest-list-test image, the full source reference should be - included in the names list since no name was specified in the - blueprint. ---- - test/cases/container-embedding.sh | 25 ++++++++++++++++++++++++- - 1 file changed, 24 insertions(+), 1 deletion(-) - -diff --git a/test/cases/container-embedding.sh b/test/cases/container-embedding.sh -index 42d9a1259..ba17901e6 100755 ---- a/test/cases/container-embedding.sh -+++ b/test/cases/container-embedding.sh -@@ -55,7 +55,9 @@ COMPOSE_START=${TEMPDIR}/compose-start-${IMAGE_KEY}.json - COMPOSE_INFO=${TEMPDIR}/compose-info-${IMAGE_KEY}.json - - FEDORA_IMAGE_DIGEST="sha256:4d76a7480ce1861c95975945633dc9d03807ffb45c64b664ef22e673798d414b" -+FEDORA_LOCAL_NAME="localhost/fedora-minimal:v1" - MANIFEST_LIST_DIGEST="sha256:58150862447d05feeb263ddb7257bf11d2ce2a697362ac117de2184d10f028fc" -+MANIFEST_LIST_SOURCE="registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test@${MANIFEST_LIST_DIGEST}" - - # Write a basic blueprint for our container. - tee "$BLUEPRINT_FILE" > /dev/null << EOF -@@ -65,9 +67,10 @@ version = "0.0.1" - - [[containers]] - source = "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/fedora-minimal@${FEDORA_IMAGE_DIGEST}" -+name = "${FEDORA_LOCAL_NAME}" - - [[containers]] --source = "registry.gitlab.com/redhat/services/products/image-builder/ci/osbuild-composer/manifest-list-test@${MANIFEST_LIST_DIGEST}" -+source = "${MANIFEST_LIST_SOURCE}" - EOF - - # Prepare the blueprint for the compose. -@@ -138,6 +141,16 @@ else - exit 1 - fi - -+# Check that the local name was set in the names array -+FEDORA_NAME_EXISTS=$(jq -e --arg name "${FEDORA_LOCAL_NAME}" 'any(."container-images"[].Names[] | select(. != null and . == $name); .)' <<< "${INFO}") -+ -+if $FEDORA_NAME_EXISTS; then -+ greenprint "💚 fedora container image's name ${FEDORA_LOCAL_NAME}' was found!" -+else -+ echo "😢 fedora container image's name '${FEDORA_LOCAL_NAME}' not in image." -+ exit 1 -+fi -+ - # Check that the test image's manifest list was included - MANIFEST_LIST_EXISTS=$(jq -e --arg id "${MANIFEST_LIST_DIGEST}" 'any(."container-images" | select(. != null and .[].Digest == $id); .)' <<< "${INFO}") - -@@ -147,3 +160,13 @@ else - echo "😢 Manifest list digest '${MANIFEST_LIST_DIGEST}' not in image." - exit 1 - fi -+ -+# Check that the source was set in the names array as a fallback for the name -+MANIFEST_NAME_EXISTS=$(jq -e --arg name "${MANIFEST_LIST_SOURCE}" 'any(."container-images"[].Names[] | select(. != null and . == $name); .)' <<< "${INFO}") -+ -+if $MANIFEST_NAME_EXISTS; then -+ greenprint "💚 Manifest list's name '${MANIFEST_LIST_SOURCE}' was found!" -+else -+ echo "😢 Manifest list digest's name '${MANIFEST_LIST_SOURCE}' not in image." -+ exit 1 -+fi --- -2.40.0 - diff --git a/SPECS/osbuild-composer.spec b/SPECS/osbuild-composer.spec index 9318da0..c3c7472 100644 --- a/SPECS/osbuild-composer.spec +++ b/SPECS/osbuild-composer.spec @@ -9,7 +9,7 @@ %global goipath github.com/osbuild/osbuild-composer -Version: 76 +Version: 88 %gometa @@ -22,7 +22,7 @@ It is compatible with composer-cli and cockpit-composer clients. } Name: osbuild-composer -Release: 2%{?dist}.2 +Release: 1%{?dist} Summary: An image building service based on osbuild # osbuild-composer doesn't have support for building i686 and armv7hl images @@ -33,21 +33,6 @@ License: Apache-2.0 URL: %{gourl} Source0: %{gosource} -# Patches were generated from the upstream 'rhel-9.2.0' branch: -# git clone https://github.com/osbuild/osbuild-composer.git -# cd osbuild-composer/ -# git checkout rhel-9.2.0 -# git format-patch HEAD...v76 -# -# https://github.com/osbuild/osbuild-composer/pull/3349 -Patch0: 0001-tests-ostree-Change-centos-8-BOOT_LOCATION-to-a-work.patch -Patch1: 0002-distro-rhel-add-payload-repos-to-os-package-set.patch -# https://github.com/osbuild/osbuild-composer/pull/3348 -Patch2: 0003-Manifest-always-set-kernel-options-in-grub2-stage.patch -# https://github.com/osbuild/osbuild-composer/pull/3410 -Patch3: 0004-simplified-installer-enable-isolinux.patch -# https://github.com/osbuild/osbuild-composer/pull/3411 -Patch4: 0005-Save-manifest-lists-when-pulling-containers-Set-container-local-names-explicitly.patch BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang} BuildRequires: systemd @@ -129,7 +114,6 @@ go test -c -tags=integration -ldflags="${TEST_LDFLAGS}" -o _bin/osbuild-image-te go test -c -tags=integration -ldflags="${TEST_LDFLAGS}" -o _bin/osbuild-auth-tests %{goipath}/cmd/osbuild-auth-tests go test -c -tags=integration -ldflags="${TEST_LDFLAGS}" -o _bin/osbuild-koji-tests %{goipath}/cmd/osbuild-koji-tests go test -c -tags=integration -ldflags="${TEST_LDFLAGS}" -o _bin/osbuild-composer-dbjobqueue-tests %{goipath}/cmd/osbuild-composer-dbjobqueue-tests -go test -c -tags=integration -ldflags="${TEST_LDFLAGS}" -o _bin/osbuild-composer-manifest-tests %{goipath}/cmd/osbuild-composer-manifest-tests go test -c -tags=integration -ldflags="${TEST_LDFLAGS}" -o _bin/osbuild-service-maintenance-tests %{goipath}/cmd/osbuild-service-maintenance go build -tags=integration -ldflags="${TEST_LDFLAGS}" -o _bin/osbuild-mock-openid-provider %{goipath}/cmd/osbuild-mock-openid-provider @@ -195,7 +179,6 @@ install -m 0755 -vp _bin/osbuild-image-tests %{buildroot}% install -m 0755 -vp _bin/osbuild-auth-tests %{buildroot}%{_libexecdir}/osbuild-composer-test/ install -m 0755 -vp _bin/osbuild-koji-tests %{buildroot}%{_libexecdir}/osbuild-composer-test/ install -m 0755 -vp _bin/osbuild-composer-dbjobqueue-tests %{buildroot}%{_libexecdir}/osbuild-composer-test/ -install -m 0755 -vp _bin/osbuild-composer-manifest-tests %{buildroot}%{_libexecdir}/osbuild-composer-test/ install -m 0755 -vp _bin/osbuild-service-maintenance-tests %{buildroot}%{_libexecdir}/osbuild-composer-test/ install -m 0755 -vp _bin/osbuild-mock-openid-provider %{buildroot}%{_libexecdir}/osbuild-composer-test/ install -m 0755 -vp tools/define-compose-url.sh %{buildroot}%{_libexecdir}/osbuild-composer-test/ @@ -276,13 +259,13 @@ cd $PWD/_build/src/%{goipath} %endif %post -%systemd_post osbuild-composer.service osbuild-composer.socket osbuild-composer-api.socket osbuild-remote-worker.socket +%systemd_post osbuild-composer.service osbuild-composer.socket osbuild-composer-api.socket osbuild-composer-prometheus.socket osbuild-remote-worker.socket %preun -%systemd_preun osbuild-composer.service osbuild-composer.socket osbuild-composer-api.socket osbuild-remote-worker.socket +%systemd_preun osbuild-composer.service osbuild-composer.socket osbuild-composer-api.socket osbuild-composer-prometheus.socket osbuild-remote-worker.socket %postun -%systemd_postun_with_restart osbuild-composer.service osbuild-composer.socket osbuild-composer-api.socket osbuild-remote-worker.socket +%systemd_postun_with_restart osbuild-composer.service osbuild-composer.socket osbuild-composer-api.socket osbuild-composer-prometheus.socket osbuild-remote-worker.socket %files %license LICENSE @@ -291,6 +274,7 @@ cd $PWD/_build/src/%{goipath} %{_unitdir}/osbuild-composer.service %{_unitdir}/osbuild-composer.socket %{_unitdir}/osbuild-composer-api.socket +%{_unitdir}/osbuild-composer-prometheus.socket %{_unitdir}/osbuild-local-worker.socket %{_unitdir}/osbuild-remote-worker.socket %{_sysusersdir}/osbuild-composer.conf @@ -310,10 +294,10 @@ The core osbuild-composer binary. This is suitable both for spawning in containe Summary: The worker for osbuild-composer Requires: systemd Requires: qemu-img -Requires: osbuild >= 81-1.el9_2.1 -Requires: osbuild-ostree >= 81-1.el9_2.1 -Requires: osbuild-lvm2 >= 81-1.el9_2.1 -Requires: osbuild-luks2 >= 81-1.el9_2.1 +Requires: osbuild >= 93 +Requires: osbuild-ostree >= 93 +Requires: osbuild-lvm2 >= 93 +Requires: osbuild-luks2 >= 93 Requires: %{name}-dnf-json = %{version}-%{release} %description worker @@ -432,15 +416,32 @@ Integration tests to be run on a pristine-dedicated system to test the osbuild-c %endif %changelog -* Tue Apr 25 2023 Achilleas Koutsou - 76-2.2 -- Save manifest lists when pulling containers & Set container local names explicitly (rhbz#2189400) +* Thu Aug 24 2023 imagebuilder-bot - 88-1 +- New upstream release + +* Wed Aug 09 2023 imagebuilder-bot - 87-1 +- New upstream release + +* Wed Jul 26 2023 imagebuilder-bot - 86-1 +- New upstream release + +* Fri Jul 14 2023 imagebuilder-bot - 85-1 +- New upstream release -* Tue Apr 25 2023 Tomáš Hozza - 76-2.1 -- simplified-installer: enable isolinux (rhbz#2178130) +* Wed Jun 14 2023 imagebuilder-bot - 84-1 +- New upstream release + +* Wed May 17 2023 imagebuilder-bot - 82-1 +- New upstream release + +* Wed Apr 19 2023 imagebuilder-bot - 80-1 +- New upstream release + +* Wed Apr 05 2023 imagebuilder-bot - 79-1 +- New upstream release -* Mon Mar 27 2023 Tomáš Hozza - 76-2 -- distro/rhel: add payload repos to os package set (rhbz#2177699) -- Manifest: always set kernel options in grub2 stage (rhbz#2162299) +* Wed Mar 08 2023 imagebuilder-bot - 77-1 +- New upstream release * Wed Mar 01 2023 imagebuilder-bot - 76-1 - New upstream release