diff --git a/data/distrodefs/eln-11/installer.yaml b/data/distrodefs/eln-11/installer.yaml index f87c77d402..2e430c9f13 100644 --- a/data/distrodefs/eln-11/installer.yaml +++ b/data/distrodefs/eln-11/installer.yaml @@ -94,6 +94,18 @@ default_iso_config: &default_iso_config rootfs_type: "erofs" + rootfs_excludes: + - "boot/efi/.*" + - "boot/grub2/.*" + - "boot/config-.*" + - "boot/initramfs-.*" + - "boot/loader/.*" + - "boot/symvers-.*" + - "boot/System.map-.*" + - "usr/lib/sysimage/rpm/.*" + - "var/lib/rpm/.*" + - "var/lib/yum/.*" + - "var/lib/dnf/.*" erofs_options: compression: method: "lzma" diff --git a/data/distrodefs/fedora/imagetypes.yaml b/data/distrodefs/fedora/imagetypes.yaml index 963ab50e52..50c0d5fa6d 100644 --- a/data/distrodefs/fedora/imagetypes.yaml +++ b/data/distrodefs/fedora/imagetypes.yaml @@ -558,19 +558,33 @@ - "net-lib" - "dbus-broker" default_menu: 1 - lorax_template_package: lorax-templates-generic - lorax_templates: - - path: 99-generic/runtime-postinstall.tmpl - - path: 99-generic/runtime-cleanup.tmpl - after_dracut: true - lorax_logos_package: fedora-logos - lorax_release_package: fedora-release install_weak_deps: true + conditions: &default_installer_conditions + "below fedora 45 we use lorax": + when: + version_less_than: "45" + shallow_merge: + lorax_template_package: lorax-templates-generic + lorax_templates: + - path: 99-generic/runtime-postinstall.tmpl + - path: 99-generic/runtime-cleanup.tmpl + after_dracut: true + lorax_logos_package: fedora-logos + lorax_release_package: fedora-release iso_config: &default_iso_config preparer: "image-builder - https://osbuild.org/" publisher: "Fedora Project" rootfs_type: "squashfs" + rootfs_excludes: + - "boot/efi/.*" + - "boot/grub2/.*" + - "boot/config-.*" + - "boot/initramfs-.*" + - "boot/loader/.*" + - "boot/symvers-.*" + - "boot/System.map-.*" + conditions: &default_iso_config_conditions "x86_64 uses grub2": when: @@ -594,6 +608,22 @@ arch: "s390x" shallow_merge: boot_type: "s390-iso" + "fedora < 45 excludes metadata": + when: + version_less_than: "45" + shallow_merge: + rootfs_excludes: + - "boot/efi/.*" + - "boot/grub2/.*" + - "boot/config-.*" + - "boot/initramfs-.*" + - "boot/loader/.*" + - "boot/symvers-.*" + - "boot/System.map-.*" + - "usr/lib/sysimage/rpm/.*" + - "var/lib/rpm/.*" + - "var/lib/yum/.*" + - "var/lib/dnf/.*" erofs_options: &default_erofs_options compression: @@ -3055,6 +3085,7 @@ image_types: - "app/org.kde.skanpage/{{.Arch}}/stable" - "app/org.kde.qrca/{{.Arch}}/stable" conditions: + <<: *default_installer_conditions "there are no 45 runtimes": when: version_greater_or_equal: "45" @@ -3117,6 +3148,7 @@ image_types: - "app/org.gnome.Papers/{{.Arch}}/stable" - "app/org.gnome.Weather/{{.Arch}}/stable" conditions: + <<: *default_installer_conditions "there are no 45 runtimes": when: version_greater_or_equal: "45" diff --git a/data/distrodefs/rhel-10/imagetypes.yaml b/data/distrodefs/rhel-10/imagetypes.yaml index 415c95acf7..bfa5fc6955 100644 --- a/data/distrodefs/rhel-10/imagetypes.yaml +++ b/data/distrodefs/rhel-10/imagetypes.yaml @@ -216,6 +216,18 @@ default_iso_config: &default_iso_config rootfs_type: "squashfs" + rootfs_excludes: + - "boot/efi/.*" + - "boot/grub2/.*" + - "boot/config-.*" + - "boot/initramfs-.*" + - "boot/loader/.*" + - "boot/symvers-.*" + - "boot/System.map-.*" + - "usr/lib/sysimage/rpm/.*" + - "var/lib/rpm/.*" + - "var/lib/yum/.*" + - "var/lib/dnf/.*" conditions: "x86_64 uses grub2": when: diff --git a/data/distrodefs/rhel-8/imagetypes.yaml b/data/distrodefs/rhel-8/imagetypes.yaml index a6dfc39643..9bd4f53c61 100644 --- a/data/distrodefs/rhel-8/imagetypes.yaml +++ b/data/distrodefs/rhel-8/imagetypes.yaml @@ -945,6 +945,18 @@ default_iso_config: &default_iso_config rootfs_type: "squashfs-ext4" + rootfs_excludes: + - "boot/efi/.*" + - "boot/grub2/.*" + - "boot/config-.*" + - "boot/initramfs-.*" + - "boot/loader/.*" + - "boot/symvers-.*" + - "boot/System.map-.*" + - "usr/lib/sysimage/rpm/.*" + - "var/lib/rpm/.*" + - "var/lib/yum/.*" + - "var/lib/dnf/.*" conditions: "x86_64 uses syslinux": when: diff --git a/data/distrodefs/rhel-9/imagetypes.yaml b/data/distrodefs/rhel-9/imagetypes.yaml index 8a1c1f83c5..c673998657 100644 --- a/data/distrodefs/rhel-9/imagetypes.yaml +++ b/data/distrodefs/rhel-9/imagetypes.yaml @@ -1296,6 +1296,18 @@ install_weak_deps: true default_iso_config: &default_iso_config + rootfs_excludes: + - "boot/efi/.*" + - "boot/grub2/.*" + - "boot/config-.*" + - "boot/initramfs-.*" + - "boot/loader/.*" + - "boot/symvers-.*" + - "boot/System.map-.*" + - "usr/lib/sysimage/rpm/.*" + - "var/lib/rpm/.*" + - "var/lib/yum/.*" + - "var/lib/dnf/.*" conditions: "x86_64 uses syslinux": when: diff --git a/pkg/distro/generic/bootc_imagetype.go b/pkg/distro/generic/bootc_imagetype.go index 8437950eeb..38c24935bb 100644 --- a/pkg/distro/generic/bootc_imagetype.go +++ b/pkg/distro/generic/bootc_imagetype.go @@ -370,6 +370,19 @@ func (t *bootcImageType) initAnacondaInstallerBaseFromSourceInfo(img *image.Anac // see https://github.com/osbuild/bootc-image-builder/issues/733 img.ISOCustomizations.RootfsType = manifest.SquashfsRootfs + img.ISOCustomizations.RootfsExcludes = []string{ + "boot/efi/.*", + "boot/grub2/.*", + "boot/config-.*", + "boot/initramfs-.*", + "boot/loader/.*", + "boot/symvers-.*", + "boot/System.map-.*", + "usr/lib/sysimage/rpm/.*", + "var/lib/rpm/.*", + "var/lib/yum/.*", + "var/lib/dnf/.*", + } // Enabled by default to keep backwards compatibility img.InstallerCustomizations.InstallWeakDeps = true @@ -481,6 +494,19 @@ func (t *bootcImageType) manifestForGenericISO(options distro.ImageOptions, rng } img.RootfsCompression = "zstd" img.RootfsType = manifest.SquashfsRootfs + img.RootfsExcludes = []string{ + "boot/efi/.*", + "boot/grub2/.*", + "boot/config-.*", + "boot/initramfs-.*", + "boot/loader/.*", + "boot/symvers-.*", + "boot/System.map-.*", + "usr/lib/sysimage/rpm/.*", + "var/lib/rpm/.*", + "var/lib/yum/.*", + "var/lib/dnf/.*", + } // Potentially KernelInfo is nil when we couldn't read it from the container; handle that so // we don't panic diff --git a/pkg/distro/generic/images.go b/pkg/distro/generic/images.go index 52070ccddc..b747adcf04 100644 --- a/pkg/distro/generic/images.go +++ b/pkg/distro/generic/images.go @@ -602,6 +602,10 @@ func isoCustomizations(t ISOImageType, c *blueprint.Customizations) (manifest.IS isc.RootfsType = *isoroot } + if rootfsExcludes := isoConfig.RootfsExcludes; len(rootfsExcludes) > 0 { + isc.RootfsExcludes = rootfsExcludes + } + if preparer := isoConfig.Preparer; preparer != nil { isc.Preparer = *preparer } diff --git a/pkg/distro/iso_config.go b/pkg/distro/iso_config.go index 926f84806f..1e4f627e68 100644 --- a/pkg/distro/iso_config.go +++ b/pkg/distro/iso_config.go @@ -15,6 +15,9 @@ type ISOConfig struct { // is used RootfsType *manifest.ISORootfsType `yaml:"rootfs_type,omitempty"` + // RootfsExcludes lists paths for exclusion from a rootfs + RootfsExcludes []string `yaml:"rootfs_excludes,omitempty"` + // set only when RootfsType is erofs ErofsOptions *osbuild.ErofsStageOptions `yaml:"erofs_options,omitempty"` diff --git a/pkg/image/bootc_pxetar.go b/pkg/image/bootc_pxetar.go index d1f9ee32f4..9c3b38bb09 100644 --- a/pkg/image/bootc_pxetar.go +++ b/pkg/image/bootc_pxetar.go @@ -120,6 +120,19 @@ func (img *BootcPXEImage) InstantiateManifestFromContainers(m *manifest.Manifest rootfsPipeline := manifest.NewBootcRootFS(buildPipeline, rawImage, img.platform) rootfsPipeline.ErofsOptions = img.ISOCustomizations.ErofsOptions rootfsPipeline.RootfsType = img.ISOCustomizations.RootfsType + rootfsPipeline.RootfsExcludes = []string{ + "boot/efi/.*", + "boot/grub2/.*", + "boot/config-.*", + "boot/initramfs-.*", + "boot/loader/.*", + "boot/symvers-.*", + "boot/System.map-.*", + "usr/lib/sysimage/rpm/.*", + "var/lib/rpm/.*", + "var/lib/yum/.*", + "var/lib/dnf/.*", + } // Add the rootfs pipeline which compresses the bootc/ostree filesystem and copies // out the kernel, initramfs, and EFI/ files needed for PXE booting it diff --git a/pkg/image/container_based_iso.go b/pkg/image/container_based_iso.go index 7013703470..66999ce9f6 100644 --- a/pkg/image/container_based_iso.go +++ b/pkg/image/container_based_iso.go @@ -31,6 +31,7 @@ type ContainerBasedIso struct { RootfsCompression string RootfsType manifest.ISORootfsType + RootfsExcludes []string KernelPath string KernelOpts []string @@ -110,6 +111,7 @@ func (img *ContainerBasedIso) InstantiateManifestFromContainer(m *manifest.Manif isoTreePipeline.Version = img.Version isoTreePipeline.RootfsCompression = img.RootfsCompression isoTreePipeline.RootfsType = img.RootfsType + isoTreePipeline.RootfsExcludes = img.RootfsExcludes isoTreePipeline.KernelPath = img.KernelPath isoTreePipeline.InitramfsPath = img.InitramfsPath isoTreePipeline.KernelOpts = kernelOpts diff --git a/pkg/image/pxetar.go b/pkg/image/pxetar.go index 7f30b4aefa..3d43ada9a9 100644 --- a/pkg/image/pxetar.go +++ b/pkg/image/pxetar.go @@ -43,6 +43,22 @@ func (img *PXETar) InstantiateManifest(m *manifest.Manifest, } pxeTreePipeline := manifest.NewPXETree(buildPipeline, osPipeline) + + // Hard-coded for now but specific to the PXE-tar + pxeTreePipeline.RootfsExcludes = []string{ + "boot/efi/.*", + "boot/grub2/.*", + "boot/config-.*", + "boot/initramfs-.*", + "boot/loader/.*", + "boot/symvers-.*", + "boot/System.map-.*", + "usr/lib/sysimage/rpm/.*", + "var/lib/rpm/.*", + "var/lib/yum/.*", + "var/lib/dnf/.*", + } + // TODO // - Setup compresstion (squashfs/erofs, etc.) diff --git a/pkg/manifest/anaconda_installer.go b/pkg/manifest/anaconda_installer.go index f61f45e7d6..81fcb8c480 100644 --- a/pkg/manifest/anaconda_installer.go +++ b/pkg/manifest/anaconda_installer.go @@ -226,6 +226,10 @@ func (p *AnacondaInstaller) getBuildPackages(Distro) ([]string, error) { packages = append(packages, p.InstallerCustomizations.LoraxTemplatePackage, ) + } else { + // Lorax pulls this in as a dependency; we need it directly if we're not + // pulling in Lorax + packages = append(packages, "dosfstools") } if p.SELinux != "" { @@ -630,6 +634,13 @@ func (p *AnacondaInstaller) payloadStages() ([]*osbuild.Stage, error) { })) } + if len(p.InstallerCustomizations.LoraxTemplatePackage) == 0 { + // Set the default target of the ISO to Anaconda if it is not being handled by Lorax. + stages = append(stages, osbuild.NewSystemdStage(&osbuild.SystemdStageOptions{ + DefaultTarget: "anaconda.target", + })) + } + stages = append(stages, osbuild.NewSELinuxConfigStage(&osbuild.SELinuxConfigStageOptions{State: osbuild.SELinuxStatePermissive})) // SELinux is not supported on the non-live-installers (see the previous @@ -720,6 +731,15 @@ func (p *AnacondaInstaller) dracutStageOptions() (*osbuild.DracutStageOptions, e options.AddModules = append(options.AddModules, p.InstallerCustomizations.AdditionalDracutModules...) + // If Lorax is not in use we want to remove additional files from the initrd. Lorax handles this + // by removing them from the tree itself. + if len(p.InstallerCustomizations.LoraxTemplatePackage) == 0 { + options.Remove = []string{ + "usr/lib/systemd/system-generators/lvm2-activation-generator", + "usr/lib/systemd/system-generators/systemd-gpt-auto-generator", + } + } + if p.Biosdevname { options.AddModules = append(options.AddModules, "biosdevname") } diff --git a/pkg/manifest/anaconda_installer_iso_tree.go b/pkg/manifest/anaconda_installer_iso_tree.go index 72ce03292c..5667ed82a7 100644 --- a/pkg/manifest/anaconda_installer_iso_tree.go +++ b/pkg/manifest/anaconda_installer_iso_tree.go @@ -254,24 +254,6 @@ func (p *AnacondaInstallerISOTree) getBuildPackages(_ Distro) ([]string, error) return packages, nil } -// Exclude most of the /boot files inside the rootfs to save space -// These are not needed on the running system -// The kernel and kernel .hmac are left for use with FIPS systems -// Used by NewSquashfsStage and NewErofsStage -var installerBootExcludePaths = []string{ - "boot/efi/.*", - "boot/grub2/.*", - "boot/config-.*", - "boot/initramfs-.*", - "boot/loader/.*", - "boot/symvers-.*", - "boot/System.map-.*", - "usr/lib/sysimage/rpm/.*", - "var/lib/rpm/.*", - "var/lib/yum/.*", - "var/lib/dnf/.*", -} - // NewSquashfsStage returns an osbuild stage configured to build // the squashfs root filesystem for the ISO. func (p *AnacondaInstallerISOTree) NewSquashfsStage() (*osbuild.Stage, error) { @@ -304,8 +286,8 @@ func (p *AnacondaInstallerISOTree) NewSquashfsStage() (*osbuild.Stage, error) { } } - // Clean up the root filesystem's /boot to save space - squashfsOptions.ExcludePaths = installerBootExcludePaths + // Clean up the root filesystem to save space + squashfsOptions.ExcludePaths = p.ISOCustomizations.RootfsExcludes // The iso's rootfs can either be an ext4 filesystem compressed with squashfs, or // a squashfs of the plain directory tree @@ -338,8 +320,8 @@ func (p *AnacondaInstallerISOTree) NewErofsStage() (*osbuild.Stage, error) { return nil, fmt.Errorf("unknown AnacondaInstallerType %v in NewErofsStage", p.anacondaPipeline.Type) } - // Clean up the root filesystem's /boot to save space - erofsOptions.ExcludePaths = installerBootExcludePaths + // Clean up the root filesystem to save space + erofsOptions.ExcludePaths = p.ISOCustomizations.RootfsExcludes return osbuild.NewErofsStage(erofsOptions, p.anacondaPipeline.Name()), nil } diff --git a/pkg/manifest/anaconda_installer_iso_tree_test.go b/pkg/manifest/anaconda_installer_iso_tree_test.go index 19d814ca5e..df304c7f9f 100644 --- a/pkg/manifest/anaconda_installer_iso_tree_test.go +++ b/pkg/manifest/anaconda_installer_iso_tree_test.go @@ -1053,6 +1053,7 @@ func TestAnacondaISOTreeSerializeInstallRootfsType(t *testing.T) { func TestAnacondaInstallerISOTreeNewErofsStage(t *testing.T) { pipeline := newTestAnacondaISOTreeErofs(manifest.Grub2UEFIOnlyISOBoot) pipeline.RootfsType = manifest.ErofsRootfs + pipeline.ISOCustomizations.RootfsExcludes = []string{"/foo"} stage, err := pipeline.NewErofsStage() require.NoError(t, err) diff --git a/pkg/manifest/bootc_rootfs.go b/pkg/manifest/bootc_rootfs.go index 4cb5df6536..74d195fd26 100644 --- a/pkg/manifest/bootc_rootfs.go +++ b/pkg/manifest/bootc_rootfs.go @@ -11,6 +11,7 @@ type BootcRootFS struct { Base RootfsCompression string RootfsType ISORootfsType + RootfsExcludes []string ErofsOptions osbuild.ErofsStageOptions // set only when RootfsType is erofs platform platform.Platform @@ -79,7 +80,7 @@ func (p *BootcRootFS) serialize() (osbuild.Pipeline, error) { // TODO this is shared with the ISO, should it be? // Clean up the root filesystem's /boot to save space - erofsOptions.ExcludePaths = installerBootExcludePaths + erofsOptions.ExcludePaths = p.RootfsExcludes erofsOptions.Source = "mount://-/" erofsStage := osbuild.NewErofsWithMountsStage(&erofsOptions, nil, devices, mounts) pipeline.AddStage(erofsStage) diff --git a/pkg/manifest/iso.go b/pkg/manifest/iso.go index 8abee4bcc1..8dba986e13 100644 --- a/pkg/manifest/iso.go +++ b/pkg/manifest/iso.go @@ -18,9 +18,10 @@ type ISOCustomizations struct { Publisher string Application string - RootfsType ISORootfsType - ErofsOptions osbuild.ErofsStageOptions - BootType ISOBootType + RootfsType ISORootfsType + RootfsExcludes []string + ErofsOptions osbuild.ErofsStageOptions + BootType ISOBootType ExcludePaths []string } diff --git a/pkg/manifest/iso_tree.go b/pkg/manifest/iso_tree.go index 149cc94cdd..0249b84154 100644 --- a/pkg/manifest/iso_tree.go +++ b/pkg/manifest/iso_tree.go @@ -25,6 +25,7 @@ type ISOTree struct { RootfsCompression string RootfsType ISORootfsType + RootfsExcludes []string // set only when RootfsType is erofs ErofsOptions *osbuild.ErofsStageOptions `yaml:"erofs_options,omitempty"` @@ -79,7 +80,7 @@ func (p *ISOTree) NewSquashfsStage() (*osbuild.Stage, error) { } // Clean up the root filesystem's /boot to save space - squashfsOptions.ExcludePaths = installerBootExcludePaths + squashfsOptions.ExcludePaths = p.RootfsExcludes return osbuild.NewSquashfsStage(&squashfsOptions, p.treePipeline.Name()), nil } @@ -97,7 +98,7 @@ func (p *ISOTree) NewErofsStage() (*osbuild.Stage, error) { erofsOptions.Filename = "LiveOS/squashfs.img" // Clean up the root filesystem's /boot to save space - erofsOptions.ExcludePaths = installerBootExcludePaths + erofsOptions.ExcludePaths = p.RootfsExcludes return osbuild.NewErofsStage(erofsOptions, p.treePipeline.Name()), nil } diff --git a/pkg/manifest/pxetree.go b/pkg/manifest/pxetree.go index d5c5685cb1..a199cba298 100644 --- a/pkg/manifest/pxetree.go +++ b/pkg/manifest/pxetree.go @@ -17,6 +17,7 @@ type PXETree struct { Base RootfsCompression string RootfsType ISORootfsType + RootfsExcludes []string osPipeline *OS files []*fsnode.File // grub template and README files @@ -93,7 +94,7 @@ func (p *PXETree) serialize() (osbuild.Pipeline, error) { // TODO this is shared with the ISO, should it be? // Clean up the root filesystem's /boot to save space - erofsOptions.ExcludePaths = installerBootExcludePaths + erofsOptions.ExcludePaths = p.RootfsExcludes pipeline.AddStage(osbuild.NewErofsStage(erofsOptions, p.osPipeline.Name())) } else { var squashfsOptions osbuild.SquashfsStageOptions @@ -109,7 +110,7 @@ func (p *PXETree) serialize() (osbuild.Pipeline, error) { // TODO this is shared with the ISO, should it be? // Clean up the root filesystem's /boot to save space - squashfsOptions.ExcludePaths = installerBootExcludePaths + squashfsOptions.ExcludePaths = p.RootfsExcludes pipeline.AddStage(osbuild.NewSquashfsStage(&squashfsOptions, p.osPipeline.Name())) } diff --git a/pkg/osbuild/dracut_stage.go b/pkg/osbuild/dracut_stage.go index 3357690c3a..c30a256dca 100644 --- a/pkg/osbuild/dracut_stage.go +++ b/pkg/osbuild/dracut_stage.go @@ -43,6 +43,9 @@ type DracutStageOptions struct { // Extra arguments to directly pass to dracut Extra []string `json:"extra,omitempty"` + + // Paths to remove/exclude from the initramfs + Remove []string `json:"remove,omitempty"` } func (DracutStageOptions) isStageOptions() {} diff --git a/test/data/manifest-checksums/fedora_45-aarch64-budgie_atomic_installer-iot_ostree_pull_empty b/test/data/manifest-checksums/fedora_45-aarch64-budgie_atomic_installer-iot_ostree_pull_empty index f8776197c8..6410ad31c1 100644 --- a/test/data/manifest-checksums/fedora_45-aarch64-budgie_atomic_installer-iot_ostree_pull_empty +++ b/test/data/manifest-checksums/fedora_45-aarch64-budgie_atomic_installer-iot_ostree_pull_empty @@ -1 +1 @@ -b14beef7c7da879011fe261ad5463792edafd8bc443d36b9666bf9ba4bbd443a +5e4d037fa72b6fa0b24e074fb8d7743c0d3557de502db800acb7e205eea40489 diff --git a/test/data/manifest-checksums/fedora_45-aarch64-cosmic_atomic_installer-iot_ostree_pull_empty b/test/data/manifest-checksums/fedora_45-aarch64-cosmic_atomic_installer-iot_ostree_pull_empty index 10053319bb..d68f97ad66 100644 --- a/test/data/manifest-checksums/fedora_45-aarch64-cosmic_atomic_installer-iot_ostree_pull_empty +++ b/test/data/manifest-checksums/fedora_45-aarch64-cosmic_atomic_installer-iot_ostree_pull_empty @@ -1 +1 @@ -1a0e4315a71be0f70d5fefa6f67ca47741df84cab5979e861513403dc02666b8 +3bd5327dec2a73c7ae77d260491ea500a965ff77e3cbd460f3b449cd791ddc96 diff --git a/test/data/manifest-checksums/fedora_45-aarch64-everything_network_installer-empty b/test/data/manifest-checksums/fedora_45-aarch64-everything_network_installer-empty index 6da7e405fa..60c4f5d1c8 100644 --- a/test/data/manifest-checksums/fedora_45-aarch64-everything_network_installer-empty +++ b/test/data/manifest-checksums/fedora_45-aarch64-everything_network_installer-empty @@ -1 +1 @@ -e152de5ef86e2832ea0b5a4660a76eb72e46344cc29110ab24a47cae147e5871 +8147d0cc8bff63e1055ac43faf0fa10fd9d89f0a27eda3f8a6f94676fc8f7f0d diff --git a/test/data/manifest-checksums/fedora_45-aarch64-everything_network_installer-locale b/test/data/manifest-checksums/fedora_45-aarch64-everything_network_installer-locale index 5aabf2454d..34d0f12d62 100644 --- a/test/data/manifest-checksums/fedora_45-aarch64-everything_network_installer-locale +++ b/test/data/manifest-checksums/fedora_45-aarch64-everything_network_installer-locale @@ -1 +1 @@ -303f32c7db96d844d3343619207c4c650641fdd45de5ecb7a88777adc3f6c83b +fe6e45393aa6f72e6ab249aabfd1fea2bf608ef372736cd3dda2c0d17c3c245f diff --git a/test/data/manifest-checksums/fedora_45-aarch64-iot_installer-iot_ostree_pull_empty b/test/data/manifest-checksums/fedora_45-aarch64-iot_installer-iot_ostree_pull_empty index c889583236..c413df8438 100644 --- a/test/data/manifest-checksums/fedora_45-aarch64-iot_installer-iot_ostree_pull_empty +++ b/test/data/manifest-checksums/fedora_45-aarch64-iot_installer-iot_ostree_pull_empty @@ -1 +1 @@ -d7221842919a8e994596f400400a45212da353174d21e665b90bc7f67b52994a +7a30917c23869a0651590caf8ab409ad90b2cb4c5623902f71d63010d5cd013d diff --git a/test/data/manifest-checksums/fedora_45-aarch64-iot_installer-unattended_iso_iot b/test/data/manifest-checksums/fedora_45-aarch64-iot_installer-unattended_iso_iot index 84b1c2361b..e33113a42c 100644 --- a/test/data/manifest-checksums/fedora_45-aarch64-iot_installer-unattended_iso_iot +++ b/test/data/manifest-checksums/fedora_45-aarch64-iot_installer-unattended_iso_iot @@ -1 +1 @@ -352b45e130709b37d9e43f04a9471562a581f4f1e0e8c2cb867f4001b5ba449f +a18ca5579be3ef081e728b13a987a611c4dd9356ea25f57164a4ab359cbc1de6 diff --git a/test/data/manifest-checksums/fedora_45-aarch64-kinoite_installer-iot_ostree_pull_empty b/test/data/manifest-checksums/fedora_45-aarch64-kinoite_installer-iot_ostree_pull_empty index c2f74972ca..13dededc39 100644 --- a/test/data/manifest-checksums/fedora_45-aarch64-kinoite_installer-iot_ostree_pull_empty +++ b/test/data/manifest-checksums/fedora_45-aarch64-kinoite_installer-iot_ostree_pull_empty @@ -1 +1 @@ -8d508ce97fdd13342981db6ed52067bdfffc45290e4debf4fbf757f5ec538841 +61ac4f910d5a80ea8d62366c561991382c16e78b37a0feb7d239935439189926 diff --git a/test/data/manifest-checksums/fedora_45-aarch64-minimal_installer-empty b/test/data/manifest-checksums/fedora_45-aarch64-minimal_installer-empty index e92bab8edb..b0f9eb3d37 100644 --- a/test/data/manifest-checksums/fedora_45-aarch64-minimal_installer-empty +++ b/test/data/manifest-checksums/fedora_45-aarch64-minimal_installer-empty @@ -1 +1 @@ -6780602f248319a560807ec6c11d25aaeb83ba731b633181f769fd3e4471d3fb +2aa61485ee6012f160286aee50b8527e3ba024a30917bb915d5a189fda34f0fc diff --git a/test/data/manifest-checksums/fedora_45-aarch64-minimal_installer-unattended_iso b/test/data/manifest-checksums/fedora_45-aarch64-minimal_installer-unattended_iso index 0bca1bfcee..ec813fb98d 100644 --- a/test/data/manifest-checksums/fedora_45-aarch64-minimal_installer-unattended_iso +++ b/test/data/manifest-checksums/fedora_45-aarch64-minimal_installer-unattended_iso @@ -1 +1 @@ -bfa103384567246f71dfc4cd17797c3d48cd00b9c0076d8e060f13e0e5b8474f +89eb56bbfc44f14fd11265f100e49121494d29cdef567b907618204136f64ed0 diff --git a/test/data/manifest-checksums/fedora_45-aarch64-server_network_installer-empty b/test/data/manifest-checksums/fedora_45-aarch64-server_network_installer-empty index fa4389ad37..12a74b84a4 100644 --- a/test/data/manifest-checksums/fedora_45-aarch64-server_network_installer-empty +++ b/test/data/manifest-checksums/fedora_45-aarch64-server_network_installer-empty @@ -1 +1 @@ -683022848e84a13b5e28eb8751d17f8ba25b759f84e702e3fb7fbf50a1094d0e +a3578d0b836b92f0ce5e91d738d673201f5f154253a313bcbcbf0cab8c3d4caf diff --git a/test/data/manifest-checksums/fedora_45-aarch64-server_network_installer-locale b/test/data/manifest-checksums/fedora_45-aarch64-server_network_installer-locale index b8ed4750c4..6ef0499cb1 100644 --- a/test/data/manifest-checksums/fedora_45-aarch64-server_network_installer-locale +++ b/test/data/manifest-checksums/fedora_45-aarch64-server_network_installer-locale @@ -1 +1 @@ -ed5dec3e88d5df63d741631ba23b2b6481366352179bb5fde55a7bac14cdf4c8 +6c082968f046d1c1da88cc6256068022fdd62ab4c66fb0737f65e51c37288d1b diff --git a/test/data/manifest-checksums/fedora_45-aarch64-silverblue_installer-iot_ostree_pull_empty b/test/data/manifest-checksums/fedora_45-aarch64-silverblue_installer-iot_ostree_pull_empty index 2c5690b7d5..af547fbb18 100644 --- a/test/data/manifest-checksums/fedora_45-aarch64-silverblue_installer-iot_ostree_pull_empty +++ b/test/data/manifest-checksums/fedora_45-aarch64-silverblue_installer-iot_ostree_pull_empty @@ -1 +1 @@ -6fa1e57086740ca4508e08e851f61d98d8e771c010a396d34157878923a64243 +3ba867baf8703588a6601feb13db1c28a2d3f14010ceba9715d222f8bafb6ab9 diff --git a/test/data/manifest-checksums/fedora_45-aarch64-sway_atomic_installer-iot_ostree_pull_empty b/test/data/manifest-checksums/fedora_45-aarch64-sway_atomic_installer-iot_ostree_pull_empty index 77f455a54f..7d808d5339 100644 --- a/test/data/manifest-checksums/fedora_45-aarch64-sway_atomic_installer-iot_ostree_pull_empty +++ b/test/data/manifest-checksums/fedora_45-aarch64-sway_atomic_installer-iot_ostree_pull_empty @@ -1 +1 @@ -1c10205296ecf54257d73e298b25cf61ede58fbc98e43583275798e7f303bc49 +66a8e4ceaa29375900bffca4a85f7adf1e9d17d3e684f15d52dcb0a3c883876f diff --git a/test/data/manifest-checksums/fedora_45-aarch64-workstation_live_installer-empty b/test/data/manifest-checksums/fedora_45-aarch64-workstation_live_installer-empty index 15bbce76e5..2a990dcd69 100644 --- a/test/data/manifest-checksums/fedora_45-aarch64-workstation_live_installer-empty +++ b/test/data/manifest-checksums/fedora_45-aarch64-workstation_live_installer-empty @@ -1 +1 @@ -18abeef0b97a53f10f78763a08133ab99dc177315dc05de7497693600e6bbcc0 +ff3f3be976c0128fdcc22f8da3f9de74035c331e007c76bc1f9681efdc438bdf diff --git a/test/data/manifest-checksums/fedora_45-ppc64le-everything_network_installer-empty b/test/data/manifest-checksums/fedora_45-ppc64le-everything_network_installer-empty index c078ba185f..94389dc9f0 100644 --- a/test/data/manifest-checksums/fedora_45-ppc64le-everything_network_installer-empty +++ b/test/data/manifest-checksums/fedora_45-ppc64le-everything_network_installer-empty @@ -1 +1 @@ -9a69d9d6b90626a08892eff64fc3bca31da6d92054c27207ef020dca8aeaa118 +965535c0c2df618c9d5b0a04460ff31b23911651ebff0e679c52c0b8f13b71df diff --git a/test/data/manifest-checksums/fedora_45-ppc64le-everything_network_installer-locale b/test/data/manifest-checksums/fedora_45-ppc64le-everything_network_installer-locale index af684260ee..364b48ed9b 100644 --- a/test/data/manifest-checksums/fedora_45-ppc64le-everything_network_installer-locale +++ b/test/data/manifest-checksums/fedora_45-ppc64le-everything_network_installer-locale @@ -1 +1 @@ -bb054be414ae86e58981170696939b44ba82625ab653d4a1d5397a964e691b2a +642603c27221f8d5e580aac4ad7a96d5c7a60f27b15c82a3c2c85bbd676da8a2 diff --git a/test/data/manifest-checksums/fedora_45-ppc64le-server_network_installer-empty b/test/data/manifest-checksums/fedora_45-ppc64le-server_network_installer-empty index aae769b8ea..924d7df8d5 100644 --- a/test/data/manifest-checksums/fedora_45-ppc64le-server_network_installer-empty +++ b/test/data/manifest-checksums/fedora_45-ppc64le-server_network_installer-empty @@ -1 +1 @@ -21a9c49d496dfbe459e2c8083a6f140bed2ab51a4001226f3ef7aa9cf2a4507e +2a72789aa85c942721c7eb0e30c6523a07fc6274b95175f3a6126c8fb3afb9b6 diff --git a/test/data/manifest-checksums/fedora_45-ppc64le-server_network_installer-locale b/test/data/manifest-checksums/fedora_45-ppc64le-server_network_installer-locale index 010dc6ca61..d3540126f1 100644 --- a/test/data/manifest-checksums/fedora_45-ppc64le-server_network_installer-locale +++ b/test/data/manifest-checksums/fedora_45-ppc64le-server_network_installer-locale @@ -1 +1 @@ -b2bc598ed1b2d7334342fdfb5838c3f38b4f3870b66b32d6764f1c3a9878de2b +8b7b424444ff91a5d54a4324ac43a483dffa7d381beee3ab989f5a29be7f3b1d diff --git a/test/data/manifest-checksums/fedora_45-s390x-everything_network_installer-empty b/test/data/manifest-checksums/fedora_45-s390x-everything_network_installer-empty index 5c2c0cc800..90a1084251 100644 --- a/test/data/manifest-checksums/fedora_45-s390x-everything_network_installer-empty +++ b/test/data/manifest-checksums/fedora_45-s390x-everything_network_installer-empty @@ -1 +1 @@ -efcd81f8be6fe5c0a30d43d4c226bdcb3bea83558070fb29c14cf815a7e889ca +75d7cdb65e65462c0f5354951e46a74a7437735470ecc2c86d4d5f530c1e0827 diff --git a/test/data/manifest-checksums/fedora_45-s390x-everything_network_installer-locale b/test/data/manifest-checksums/fedora_45-s390x-everything_network_installer-locale index 1bec371d09..14623a7912 100644 --- a/test/data/manifest-checksums/fedora_45-s390x-everything_network_installer-locale +++ b/test/data/manifest-checksums/fedora_45-s390x-everything_network_installer-locale @@ -1 +1 @@ -e3f7b0641f480bccf86718cd13ba77043176bb23b363f05725c12e2c42915bd1 +adef69acb90bfd01b348cf7953db33b8dd5605570ae88e47991afcc8224873ea diff --git a/test/data/manifest-checksums/fedora_45-s390x-server_network_installer-empty b/test/data/manifest-checksums/fedora_45-s390x-server_network_installer-empty index 56436542c3..6e6c8b3d08 100644 --- a/test/data/manifest-checksums/fedora_45-s390x-server_network_installer-empty +++ b/test/data/manifest-checksums/fedora_45-s390x-server_network_installer-empty @@ -1 +1 @@ -0a3413c02a63d47f9d59f62e36678d9875e4c55119dd997eb4fc76320168b097 +e0e6c5da6c74ec887a271276c8bbfbd83d457f3d83028e20856c6e5a8febccdc diff --git a/test/data/manifest-checksums/fedora_45-s390x-server_network_installer-locale b/test/data/manifest-checksums/fedora_45-s390x-server_network_installer-locale index c70c41ef1c..06a67bff52 100644 --- a/test/data/manifest-checksums/fedora_45-s390x-server_network_installer-locale +++ b/test/data/manifest-checksums/fedora_45-s390x-server_network_installer-locale @@ -1 +1 @@ -02f6ce74238f7ce54cf5efccdd3e343310b86d516257caf2cda85b5b05088f3e +3b71d5eb57000b80da99de147158881c076c50876c0e8af3ecc95cf97e3ff2b4 diff --git a/test/data/manifest-checksums/fedora_45-x86_64-budgie_atomic_installer-iot_ostree_pull_empty b/test/data/manifest-checksums/fedora_45-x86_64-budgie_atomic_installer-iot_ostree_pull_empty index fe27a0b3bd..c19c9fb681 100644 --- a/test/data/manifest-checksums/fedora_45-x86_64-budgie_atomic_installer-iot_ostree_pull_empty +++ b/test/data/manifest-checksums/fedora_45-x86_64-budgie_atomic_installer-iot_ostree_pull_empty @@ -1 +1 @@ -4d6c006bfc3473e34b9b719aff3134091fb60c1e3608dbbafab10584dfe81dbc +3d1c51194aa7158caa85ce080f9a7abe60356c3ef7826dd9cd0c9aeda635fb68 diff --git a/test/data/manifest-checksums/fedora_45-x86_64-cosmic_atomic_installer-iot_ostree_pull_empty b/test/data/manifest-checksums/fedora_45-x86_64-cosmic_atomic_installer-iot_ostree_pull_empty index 027a65aa02..5cf920fd42 100644 --- a/test/data/manifest-checksums/fedora_45-x86_64-cosmic_atomic_installer-iot_ostree_pull_empty +++ b/test/data/manifest-checksums/fedora_45-x86_64-cosmic_atomic_installer-iot_ostree_pull_empty @@ -1 +1 @@ -9b2a287500833784875435d84fde9271faf0e8c2b86f8c4109b880b5c270843f +ea24a540a5ede0abc39cc1bf84af3477048e6008f6924a5f74bc48af7f23653a diff --git a/test/data/manifest-checksums/fedora_45-x86_64-everything_network_installer-empty b/test/data/manifest-checksums/fedora_45-x86_64-everything_network_installer-empty index 5dbf633aeb..9c6b7a2678 100644 --- a/test/data/manifest-checksums/fedora_45-x86_64-everything_network_installer-empty +++ b/test/data/manifest-checksums/fedora_45-x86_64-everything_network_installer-empty @@ -1 +1 @@ -2f1bb68d7e34507d1a984e58d3177139f342070339cac04a3b435824a131a1e6 +24c1faf4c66591c76eff65e787cba6a9177d07a636a25838d905c474be89e357 diff --git a/test/data/manifest-checksums/fedora_45-x86_64-everything_network_installer-locale b/test/data/manifest-checksums/fedora_45-x86_64-everything_network_installer-locale index c8ce3a5922..db88badcd1 100644 --- a/test/data/manifest-checksums/fedora_45-x86_64-everything_network_installer-locale +++ b/test/data/manifest-checksums/fedora_45-x86_64-everything_network_installer-locale @@ -1 +1 @@ -f2d1fceec7f17d955b40caeb66d767e47e01112f772c7bd76388ec7a261a895a +09bd97c98f8391f2f15217868fdfd3dba5339d66813eb0db5d2486c8553ddb91 diff --git a/test/data/manifest-checksums/fedora_45-x86_64-iot_installer-iot_ostree_pull_empty b/test/data/manifest-checksums/fedora_45-x86_64-iot_installer-iot_ostree_pull_empty index 03dbe691c0..c102dd5cfb 100644 --- a/test/data/manifest-checksums/fedora_45-x86_64-iot_installer-iot_ostree_pull_empty +++ b/test/data/manifest-checksums/fedora_45-x86_64-iot_installer-iot_ostree_pull_empty @@ -1 +1 @@ -3a0185b8a5548c8abce4026f96502eed7eab60be6e28fcfee94746595f8ffbc6 +1060735f8e70e74728f0934f0b5b6139a234ba8a85abda77864d3aa1aab3e331 diff --git a/test/data/manifest-checksums/fedora_45-x86_64-iot_installer-unattended_iso_iot b/test/data/manifest-checksums/fedora_45-x86_64-iot_installer-unattended_iso_iot index a2b11133ca..cc9741539b 100644 --- a/test/data/manifest-checksums/fedora_45-x86_64-iot_installer-unattended_iso_iot +++ b/test/data/manifest-checksums/fedora_45-x86_64-iot_installer-unattended_iso_iot @@ -1 +1 @@ -37be1477ba1b00a3800d088f924b400770c54582c84caa6659e9b383d300ef4a +0663db8e28f26e105692f2f92d8ef098217dda1e32e403096e5f67d2237bebbe diff --git a/test/data/manifest-checksums/fedora_45-x86_64-kinoite_installer-iot_ostree_pull_empty b/test/data/manifest-checksums/fedora_45-x86_64-kinoite_installer-iot_ostree_pull_empty index 50aea2716b..cd672d3d44 100644 --- a/test/data/manifest-checksums/fedora_45-x86_64-kinoite_installer-iot_ostree_pull_empty +++ b/test/data/manifest-checksums/fedora_45-x86_64-kinoite_installer-iot_ostree_pull_empty @@ -1 +1 @@ -f3c100fcfc1a333e1a44ad40166e61c44335dd4937f6b30755833c6d89e22221 +daa08872ec4e74ac8e91b4f2dabd8bd1e101de70c61b890f4465502bae3b324e diff --git a/test/data/manifest-checksums/fedora_45-x86_64-minimal_installer-empty b/test/data/manifest-checksums/fedora_45-x86_64-minimal_installer-empty index 0304222e2b..9045da0ba4 100644 --- a/test/data/manifest-checksums/fedora_45-x86_64-minimal_installer-empty +++ b/test/data/manifest-checksums/fedora_45-x86_64-minimal_installer-empty @@ -1 +1 @@ -bd94cd33a819fd2d2470e11c83f0f5b4d3b5f0832b3799079de699d7ba40e560 +4788c48aa2bad1834d5c89be99a18e1061b94c768ec8fce7e91ee58b1bbd3dd8 diff --git a/test/data/manifest-checksums/fedora_45-x86_64-minimal_installer-unattended_iso b/test/data/manifest-checksums/fedora_45-x86_64-minimal_installer-unattended_iso index 708ff36a20..9a8344e57e 100644 --- a/test/data/manifest-checksums/fedora_45-x86_64-minimal_installer-unattended_iso +++ b/test/data/manifest-checksums/fedora_45-x86_64-minimal_installer-unattended_iso @@ -1 +1 @@ -0cd7900e9043c4a1c7d69cbc2022ac7f6c902423d4cfa7f4768f91598cbb1600 +c0e7da13e322c100ec6a2267a0fe97eb40ea150c16e3a38eee4b576108d7f743 diff --git a/test/data/manifest-checksums/fedora_45-x86_64-server_network_installer-empty b/test/data/manifest-checksums/fedora_45-x86_64-server_network_installer-empty index 499b04b598..29f8e07cf2 100644 --- a/test/data/manifest-checksums/fedora_45-x86_64-server_network_installer-empty +++ b/test/data/manifest-checksums/fedora_45-x86_64-server_network_installer-empty @@ -1 +1 @@ -13a6730978acc37529af41e8257b6c1acb4e636cab54ee1e9ad9081d996f522a +f3e316bf80fb8573fc253effb6f02e6c96cab8d1b032a4f710a1bd442ed389c1 diff --git a/test/data/manifest-checksums/fedora_45-x86_64-server_network_installer-locale b/test/data/manifest-checksums/fedora_45-x86_64-server_network_installer-locale index 1d6eb34fff..73b98ed886 100644 --- a/test/data/manifest-checksums/fedora_45-x86_64-server_network_installer-locale +++ b/test/data/manifest-checksums/fedora_45-x86_64-server_network_installer-locale @@ -1 +1 @@ -360fb37583b33e153eb26d4243a6f8b8baff7f6e320e663e035185c37c25a3f1 +4a2c3e62927e0fe87841c594140c9170cee969586f6833aa4c1bfa5ba4fa8586 diff --git a/test/data/manifest-checksums/fedora_45-x86_64-silverblue_installer-iot_ostree_pull_empty b/test/data/manifest-checksums/fedora_45-x86_64-silverblue_installer-iot_ostree_pull_empty index dd89409f52..cbf5d42e24 100644 --- a/test/data/manifest-checksums/fedora_45-x86_64-silverblue_installer-iot_ostree_pull_empty +++ b/test/data/manifest-checksums/fedora_45-x86_64-silverblue_installer-iot_ostree_pull_empty @@ -1 +1 @@ -7a106f9cecc28d1028307d87dd53bf515dfb4e46c502a33eb62244ff26e45537 +cfba191fe7848b03e2536d39cc1cb0a675589a13183c33964f5fc01dece6da78 diff --git a/test/data/manifest-checksums/fedora_45-x86_64-sway_atomic_installer-iot_ostree_pull_empty b/test/data/manifest-checksums/fedora_45-x86_64-sway_atomic_installer-iot_ostree_pull_empty index 6c448a11cb..cf5be62157 100644 --- a/test/data/manifest-checksums/fedora_45-x86_64-sway_atomic_installer-iot_ostree_pull_empty +++ b/test/data/manifest-checksums/fedora_45-x86_64-sway_atomic_installer-iot_ostree_pull_empty @@ -1 +1 @@ -496da90cc24f2111003f9042e48865793831bbee5fb75376c0c3821fe148e2c9 +f126461bc7d1801d7b64c22fd371594ef38bbdc23b1a07de1478b29adb5ba224 diff --git a/test/data/manifest-checksums/fedora_45-x86_64-workstation_live_installer-empty b/test/data/manifest-checksums/fedora_45-x86_64-workstation_live_installer-empty index 8c986622c4..16f2f5b4ae 100644 --- a/test/data/manifest-checksums/fedora_45-x86_64-workstation_live_installer-empty +++ b/test/data/manifest-checksums/fedora_45-x86_64-workstation_live_installer-empty @@ -1 +1 @@ -0e0e9f2b6cf007a1ea9ed2e0ef83a5fe75ea867fb3c4c483514ee2deabee17e2 +06ff01002f0ad90b9da9b78059bcd8428ac0595a2178fb97fcd1ccd0f2e6961b