diff --git a/.fmf/version b/.fmf/version deleted file mode 100644 index d00491f..0000000 --- a/.fmf/version +++ /dev/null @@ -1 +0,0 @@ -1 diff --git a/.gitignore b/.gitignore index 8b8e7d0..d595043 100644 --- a/.gitignore +++ b/.gitignore @@ -1,120 +1 @@ -/osbuild-composer-8.tar.gz -/osbuild-composer-9.tar.gz -/osbuild-composer-10.tar.gz -/osbuild-composer-11.tar.gz -/osbuild-composer-12.tar.gz -/osbuild-composer-13.tar.gz -/osbuild-composer-14.tar.gz -/osbuild-composer-15.tar.gz -/osbuild-composer-16.tar.gz -/osbuild-composer-17.tar.gz -/osbuild-composer-18.tar.gz -/osbuild-composer-19.tar.gz -/osbuild-composer-20.tar.gz -/osbuild-composer-22.tar.gz -/osbuild-composer-23.tar.gz -/osbuild-composer-24.tar.gz -/osbuild-composer-25.tar.gz -/osbuild-composer-26.tar.gz -/osbuild-composer-27.tar.gz -/osbuild-composer-28.tar.gz -/osbuild-composer-29.tar.gz -/osbuild-composer-30.tar.gz -/osbuild-composer-31.tar.gz -/osbuild-composer-35.tar.gz -/osbuild-composer-36.tar.gz -/osbuild-composer-37.tar.gz -/osbuild-composer-38.tar.gz -/osbuild-composer-39.tar.gz -/osbuild-composer-40.tar.gz -/osbuild-composer-41.tar.gz -/osbuild-composer-42.tar.gz -/osbuild-composer-43.tar.gz -/osbuild-composer-44.tar.gz -/osbuild-composer-45.tar.gz -/osbuild-composer-46.tar.gz -/osbuild-composer-47.tar.gz -/osbuild-composer-48.tar.gz -/osbuild-composer-46.1.tar.gz -/osbuild-composer-46.2.tar.gz -/osbuild-composer-49.tar.gz -/osbuild-composer-50.tar.gz -/osbuild-composer-46.3.tar.gz -/osbuild-composer-51.tar.gz -/osbuild-composer-53.tar.gz -/osbuild-composer-54.tar.gz -/osbuild-composer-55.tar.gz -/osbuild-composer-56.tar.gz -/osbuild-composer-57.tar.gz -/osbuild-composer-58.tar.gz -/osbuild-composer-59.tar.gz -/osbuild-composer-60.tar.gz -/osbuild-composer-61.tar.gz -/osbuild-composer-62.tar.gz -/osbuild-composer-63.tar.gz -/osbuild-composer-63.1.tar.gz -/osbuild-composer-62.1.tar.gz -/osbuild-composer-64.tar.gz -/osbuild-composer-65.tar.gz -/osbuild-composer-66.tar.gz -/osbuild-composer-67.tar.gz -/osbuild-composer-68.tar.gz -/osbuild-composer-69.tar.gz -/osbuild-composer-70.tar.gz -/osbuild-composer-71.tar.gz -/osbuild-composer-72.tar.gz -/osbuild-composer-73.tar.gz -/osbuild-composer-74.tar.gz -/osbuild-composer-75.tar.gz -/osbuild-composer-76.tar.gz -/osbuild-composer-77.tar.gz -/osbuild-composer-78.tar.gz -/osbuild-composer-79.tar.gz -/osbuild-composer-80.tar.gz -/osbuild-composer-82.tar.gz -/osbuild-composer-83.tar.gz -/osbuild-composer-84.tar.gz -/osbuild-composer-85.tar.gz -/osbuild-composer-86.tar.gz -/osbuild-composer-87.tar.gz -/osbuild-composer-88.tar.gz -/osbuild-composer-89.tar.gz -/osbuild-composer-90.tar.gz -/osbuild-composer-91.tar.gz -/osbuild-composer-92.tar.gz -/osbuild-composer-88.2.tar.gz -/osbuild-composer-93.tar.gz -/osbuild-composer-94.tar.gz -/osbuild-composer-95.tar.gz -/osbuild-composer-96.tar.gz -/osbuild-composer-98.tar.gz -/osbuild-composer-99.tar.gz -/osbuild-composer-100.tar.gz -/osbuild-composer-106.tar.gz -/osbuild-composer-108.tar.gz -/osbuild-composer-109.tar.gz -/osbuild-composer-113.tar.gz -/osbuild-composer-114.tar.gz -/osbuild-composer-115.tar.gz -/osbuild-composer-116.tar.gz -/osbuild-composer-117.tar.gz -/osbuild-composer-118.tar.gz -/osbuild-composer-123.tar.gz -/osbuild-composer-124.tar.gz -/osbuild-composer-125.tar.gz -/osbuild-composer-126.tar.gz -/osbuild-composer-127.tar.gz -/osbuild-composer-128.tar.gz -/osbuild-composer-131.tar.gz -/osbuild-composer-132.tar.gz -/osbuild-composer-134.tar.gz -/osbuild-composer-135.tar.gz -/osbuild-composer-136.tar.gz -/osbuild-composer-137.tar.gz -/osbuild-composer-138.tar.gz -/osbuild-composer-139.tar.gz -/osbuild-composer-141.tar.gz -/osbuild-composer-142.tar.gz -/osbuild-composer-143.tar.gz -/osbuild-composer-144.tar.gz osbuild-composer-134.1.tar.gz diff --git a/.packit.yaml b/.packit.yaml deleted file mode 100644 index 02e3d82..0000000 --- a/.packit.yaml +++ /dev/null @@ -1,54 +0,0 @@ -# https://packit.dev/docs/configuration/ - -specfile_path: osbuild-composer.spec - -files_to_sync: - - osbuild-composer.spec - - .packit.yaml - -copy_upstream_release_description: true - -upstream_tag_template: v{version} - -srpm_build_deps: [] -actions: - get-current-version: bash -c "git describe --tags --abbrev=0 | sed 's|v||'" - post-upstream-clone: "./tools/rpm_spec_add_provides_bundle.sh" - -# Handle only releases without a "dot" (e.g. v88.2), since "dot" releases should never be released to Fedora -upstream_tag_include: 'v\d+' - -jobs: -- job: bodhi_update - trigger: commit - dist_git_branches: - - fedora-branched # rawhide updates are created automatically -- job: koji_build - trigger: commit - dist_git_branches: - - fedora-all -- job: propose_downstream - trigger: release - dist_git_branches: - - fedora-all -- job: copr_build - trigger: pull_request - targets: &build_targets - - centos-stream-8-aarch64 - - centos-stream-8-x86_64 - - centos-stream-9-aarch64 - - centos-stream-9-x86_64 - - fedora-all-aarch64 - - fedora-all-s390x - - fedora-all-ppc64le - - fedora-all - - rhel-8-aarch64 - - rhel-8-x86_64 - - rhel-9-aarch64 - - rhel-9-x86_64 -- job: copr_build - trigger: commit - branch: main - owner: "@osbuild" # copr repo namespace - project: osbuild-composer # copr repo name so you can consume the builds - targets: *build_targets diff --git a/1001-Add-repositories-for-OL-8.10-OL-9.5-and-OL-10.0.patch b/1001-Add-repositories-for-OL-8.10-OL-9.5-and-OL-10.0.patch new file mode 100644 index 0000000..9decb01 --- /dev/null +++ b/1001-Add-repositories-for-OL-8.10-OL-9.5-and-OL-10.0.patch @@ -0,0 +1,174 @@ +From 1435583e096feab99cff3a7b94de5c56817e926c Mon Sep 17 00:00:00 2001 +From: Josue David Hernandez Gutierrez +Date: Wed, 30 Oct 2024 17:08:55 +0000 +Subject: [PATCH 01/11] Add repositories for OL-8.10, OL-9.5 and OL-10.0 + +Signed-off-by: Josue David Hernandez Gutierrez +--- + repositories/ol-100.json | 48 ++++++++++++++++++++++++++++++++++++++++ + repositories/ol-810.json | 42 +++++++++++++++++++++++++++++++++++ + repositories/ol-95.json | 48 ++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 138 insertions(+) + create mode 100644 repositories/ol-100.json + create mode 100644 repositories/ol-810.json + create mode 100644 repositories/ol-95.json + +diff --git a/repositories/ol-100.json b/repositories/ol-100.json +new file mode 100644 +index 0000000..45ac9c0 +--- /dev/null ++++ b/repositories/ol-100.json +@@ -0,0 +1,48 @@ ++{ ++ "aarch64": [ ++ { ++ "name": "baseos", ++ "baseurl": "https://yum-qa.oracle.com/repo/OracleLinux/OL10/baseos/latest/aarch64", ++ "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\n4QrtLe//99hXPcFVanIxgkdslnyYf4fjdbdlmNY=\n=xpaH\n-----END PGP PUBLIC KEY BLOCK-----", ++ "check_gpg": false, ++ "rhsm": false ++ }, ++ { ++ "name": "uekr8", ++ "baseurl": "https://yum-qa.oracle.com/repo/OracleLinux/OL10/UEKR8/aarch64/", ++ "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\n=0hyN\n-----END PGP PUBLIC KEY BLOCK-----", ++ "check_gpg": false, ++ "rhsm": false ++ }, ++ { ++ "name": "appstream", ++ "baseurl": "https://yum-qa.oracle.com/repo/OracleLinux/OL10/appstream/aarch64", ++ "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\n4QrtLe//99hXPcFVanIxgkdslnyYf4fjdbdlmNY=\n=xpaH\n-----END PGP PUBLIC KEY BLOCK-----", ++ "check_gpg": false, ++ "rhsm": false ++ } ++ ], ++ "x86_64": [ ++ { ++ "name": "baseos", ++ "baseurl": "https://yum-qa.oracle.com/repo/OracleLinux/OL10/baseos/latest/x86_64", ++ "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\n4QrtLe//99hXPcFVanIxgkdslnyYf4fjdbdlmNY=\n=xpaH\n-----END PGP PUBLIC KEY BLOCK-----", ++ "check_gpg": false, ++ "rhsm": false ++ }, ++ { ++ "name": "uekr8", ++ "baseurl": "https://yum-qa.oracle.com/repo/OracleLinux/OL10/UEKR8/x86_64/", ++ "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\n=0hyN\n-----END PGP PUBLIC KEY BLOCK-----", ++ "check_gpg": false, ++ "rhsm": false ++ }, ++ { ++ "name": "appstream", ++ "baseurl": "https://yum-qa.oracle.com/repo/OracleLinux/OL10/appstream/x86_64", ++ "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\n4QrtLe//99hXPcFVanIxgkdslnyYf4fjdbdlmNY=\n=xpaH\n-----END PGP PUBLIC KEY BLOCK-----", ++ "check_gpg": false, ++ "rhsm": false ++ } ++ ] ++} +diff --git a/repositories/ol-810.json b/repositories/ol-810.json +new file mode 100644 +index 0000000..a23b3c6 +--- /dev/null ++++ b/repositories/ol-810.json +@@ -0,0 +1,42 @@ ++{ ++ "aarch64": [ ++ { ++ "name": "baseos", ++ "baseurl": "https://yum.oracle.com/repo/OracleLinux/OL8/baseos/latest/aarch64", ++ "check_gpg": false, ++ "rhsm": false ++ }, ++ { ++ "name": "uekr7", ++ "baseurl": "https://yum.oracle.com/repo/OracleLinux/OL8/UEKR7/aarch64/", ++ "check_gpg": false, ++ "rhsm": false ++ }, ++ { ++ "name": "appstream", ++ "baseurl": "https://yum.oracle.com/repo/OracleLinux/OL8/appstream/aarch64", ++ "check_gpg": false, ++ "rhsm": false ++ } ++ ], ++ "x86_64": [ ++ { ++ "name": "baseos", ++ "baseurl": "https://yum.oracle.com/repo/OracleLinux/OL8/baseos/latest/x86_64", ++ "check_gpg": false, ++ "rhsm": false ++ }, ++ { ++ "name": "uekr7", ++ "baseurl": "https://yum.oracle.com/repo/OracleLinux/OL8/UEKR7/x86_64/", ++ "check_gpg": false, ++ "rhsm": false ++ }, ++ { ++ "name": "appstream", ++ "baseurl": "https://yum.oracle.com/repo/OracleLinux/OL8/appstream/x86_64", ++ "check_gpg": false, ++ "rhsm": false ++ } ++ ] ++} +diff --git a/repositories/ol-95.json b/repositories/ol-95.json +new file mode 100644 +index 0000000..08b877e +--- /dev/null ++++ b/repositories/ol-95.json +@@ -0,0 +1,48 @@ ++{ ++ "aarch64": [ ++ { ++ "name": "baseos", ++ "baseurl": "https://yum.oracle.com/repo/OracleLinux/OL9/baseos/latest/aarch64", ++ "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\n4QrtLe//99hXPcFVanIxgkdslnyYf4fjdbdlmNY=\n=xpaH\n-----END PGP PUBLIC KEY BLOCK-----", ++ "check_gpg": true, ++ "rhsm": false ++ }, ++ { ++ "name": "uekr7", ++ "baseurl": "https://yum.oracle.com/repo/OracleLinux/OL9/UEKR7/aarch64/", ++ "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\n4QrtLe//99hXPcFVanIxgkdslnyYf4fjdbdlmNY=\n=xpaH\n-----END PGP PUBLIC KEY BLOCK-----", ++ "check_gpg": true, ++ "rhsm": false ++ }, ++ { ++ "name": "appstream", ++ "baseurl": "https://yum.oracle.com/repo/OracleLinux/OL9/appstream/aarch64", ++ "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\n4QrtLe//99hXPcFVanIxgkdslnyYf4fjdbdlmNY=\n=xpaH\n-----END PGP PUBLIC KEY BLOCK-----", ++ "check_gpg": true, ++ "rhsm": false ++ } ++ ], ++ "x86_64": [ ++ { ++ "name": "baseos", ++ "baseurl": "https://yum.oracle.com/repo/OracleLinux/OL9/baseos/latest/x86_64", ++ "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\n4QrtLe//99hXPcFVanIxgkdslnyYf4fjdbdlmNY=\n=xpaH\n-----END PGP PUBLIC KEY BLOCK-----", ++ "check_gpg": true, ++ "rhsm": false ++ }, ++ { ++ "name": "uekr7", ++ "baseurl": "https://yum.oracle.com/repo/OracleLinux/OL9/UEKR7/x86_64/", ++ "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\n4QrtLe//99hXPcFVanIxgkdslnyYf4fjdbdlmNY=\n=xpaH\n-----END PGP PUBLIC KEY BLOCK-----", ++ "check_gpg": true, ++ "rhsm": false ++ }, ++ { ++ "name": "appstream", ++ "baseurl": "https://yum.oracle.com/repo/OracleLinux/OL9/appstream/x86_64", ++ "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\n4QrtLe//99hXPcFVanIxgkdslnyYf4fjdbdlmNY=\n=xpaH\n-----END PGP PUBLIC KEY BLOCK-----", ++ "check_gpg": true, ++ "rhsm": false ++ } ++ ] ++} +-- +2.47.1 + diff --git a/1002-Add-support-for-OL-on-osbuild-composer.patch b/1002-Add-support-for-OL-on-osbuild-composer.patch new file mode 100644 index 0000000..5860246 --- /dev/null +++ b/1002-Add-support-for-OL-on-osbuild-composer.patch @@ -0,0 +1,441 @@ +From c1b8bd6b7afbb36ce0222afc7102cb82b2b192ab Mon Sep 17 00:00:00 2001 +From: Josue David Hernandez Gutierrez +Date: Wed, 30 Oct 2024 18:39:41 +0000 +Subject: [PATCH 2/9] Add support for OL on osbuild-composer + +Signed-off-by: Josue David Hernandez Gutierrez +--- + .../osbuild/images/pkg/blueprint/customizations.go | 2 +- + .../osbuild/images/pkg/distro/rhel/distribution.go | 11 +++++++++++ + .../osbuild/images/pkg/distro/rhel/rhel10/ami.go | 2 +- + .../osbuild/images/pkg/distro/rhel/rhel10/azure.go | 8 ++++---- + .../images/pkg/distro/rhel/rhel10/bare_metal.go | 4 ++-- + .../osbuild/images/pkg/distro/rhel/rhel10/distro.go | 10 +++++++--- + .../osbuild/images/pkg/distro/rhel/rhel8/ami.go | 2 +- + .../osbuild/images/pkg/distro/rhel/rhel8/azure.go | 8 ++++---- + .../images/pkg/distro/rhel/rhel8/bare_metal.go | 2 +- + .../osbuild/images/pkg/distro/rhel/rhel8/distro.go | 12 ++++++++---- + .../osbuild/images/pkg/distro/rhel/rhel9/ami.go | 2 +- + .../osbuild/images/pkg/distro/rhel/rhel9/azure.go | 8 ++++---- + .../images/pkg/distro/rhel/rhel9/bare_metal.go | 4 ++-- + .../osbuild/images/pkg/distro/rhel/rhel9/distro.go | 12 ++++++++---- + .../images/pkg/image/anaconda_live_installer.go | 2 +- + .../images/pkg/image/anaconda_ostree_installer.go | 2 +- + .../images/pkg/image/anaconda_tar_installer.go | 2 +- + .../images/pkg/image/ostree_simplified_installer.go | 2 +- + 18 files changed, 59 insertions(+), 36 deletions(-) + +diff --git a/vendor/github.com/osbuild/images/pkg/blueprint/customizations.go b/vendor/github.com/osbuild/images/pkg/blueprint/customizations.go +index bcb1f98..3293cb8 100644 +--- a/vendor/github.com/osbuild/images/pkg/blueprint/customizations.go ++++ b/vendor/github.com/osbuild/images/pkg/blueprint/customizations.go +@@ -270,7 +270,7 @@ func (c *Customizations) GetKernel() *KernelCustomization { + } + + if name == "" { +- name = "kernel" ++ name = "kernel-uek" + } + + return &KernelCustomization{ +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/distribution.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/distribution.go +index 963aed0..40fcf8e 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/distribution.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/distribution.go +@@ -142,6 +142,17 @@ func NewDistribution(name string, major, minor int) (*Distribution, error) { + ostreeRefTmpl: fmt.Sprintf("centos/%d/%%s/edge", major), + runner: &runner.CentOS{Version: uint64(major)}, + } ++ case "ol": ++ rd = &Distribution{ ++ name: fmt.Sprintf("ol-%d.%d", major, minor), ++ product: "Oracle Linux", ++ osVersion: fmt.Sprintf("%d.%d", major, minor), ++ releaseVersion: fmt.Sprintf("%d", major), ++ modulePlatformID: fmt.Sprintf("platform:el%d", major), ++ vendor: "redhat", ++ ostreeRefTmpl: fmt.Sprintf("ol/%d/%%s/edge", major), ++ runner: &runner.RHEL{Major: uint64(major), Minor: uint64(minor)}, ++ } + default: + return nil, fmt.Errorf("unknown distro name: %s", name) + } +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/ami.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/ami.go +index 2358791..7042251 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/ami.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/ami.go +@@ -204,7 +204,7 @@ func defaultEc2ImageConfig() *distro.ImageConfig { + { + Kernel: &osbuild.SysconfigKernelOptions{ + UpdateDefault: true, +- DefaultKernel: "kernel", ++ DefaultKernel: "kernel-uek", + }, + Network: &osbuild.SysconfigNetworkOptions{ + Networking: true, +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/azure.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/azure.go +index 7f10832..a25efae 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/azure.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/azure.go +@@ -97,9 +97,9 @@ func azureCommonPackageSet(t *rhel.ImageType) rpmmd.PackageSet { + "dracut-config-generic", + "efibootmgr", + "hyperv-daemons", +- "kernel-core", +- "kernel-modules", +- "kernel", ++ "kernel-uek-core", ++ "kernel-uek-modules", ++ "kernel-uek", + "langpacks-en", + "lvm2", + "NetworkManager", +@@ -418,7 +418,7 @@ func defaultAzureImageConfig(rd *rhel.Distribution) *distro.ImageConfig { + { + Kernel: &osbuild.SysconfigKernelOptions{ + UpdateDefault: true, +- DefaultKernel: "kernel-core", ++ DefaultKernel: "kernel-uek-core", + }, + Network: &osbuild.SysconfigNetworkOptions{ + Networking: true, +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/bare_metal.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/bare_metal.go +index 81b9a7e..dd39e1b 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/bare_metal.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/bare_metal.go +@@ -140,7 +140,7 @@ func installerPackageSet(t *rhel.ImageType) rpmmd.PackageSet { + "iwl5150-firmware", + "iwl6050-firmware", + "iwl7260-firmware", +- "kernel", ++ "kernel-uek", + "less", + "nfs-utils", + "openssh-clients", +@@ -246,7 +246,7 @@ func anacondaPackageSet(t *rhel.ImageType) rpmmd.PackageSet { + "kbd", + "kbd-misc", + "kdump-anaconda-addon", +- "kernel", ++ "kernel-uek", + "less", + "libblockdev-lvm-dbus", + "libibverbs", +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/distro.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/distro.go +index a5cd9b9..d11868a 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/distro.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/distro.go +@@ -40,10 +40,14 @@ var ( + func distroISOLabelFunc(t *rhel.ImageType) string { + const RHEL_ISO_LABEL = "RHEL-%s-%s-0-BaseOS-%s" + const CS_ISO_LABEL = "CentOS-Stream-%s-BaseOS-%s" ++ const OL_ISO_LABEL = "OL-%s-%s-dvd-%s" + + if t.IsRHEL() { + osVer := strings.Split(t.Arch().Distro().OsVersion(), ".") + return fmt.Sprintf(RHEL_ISO_LABEL, osVer[0], osVer[1], t.Arch().Name()) ++ } else if t.Arch().Distro().Name() == "ol" { ++ osVer := strings.Split(t.Arch().Distro().OsVersion(), ".") ++ return fmt.Sprintf(RHEL_ISO_LABEL, osVer[0], osVer[1], t.Arch().Name()) + } else { + return fmt.Sprintf(CS_ISO_LABEL, t.Arch().Distro().Releasever(), t.Arch().Name()) + } +@@ -57,7 +61,7 @@ func defaultDistroImageConfig(d *rhel.Distribution) *distro.ImageConfig { + { + Kernel: &osbuild.SysconfigKernelOptions{ + UpdateDefault: true, +- DefaultKernel: "kernel", ++ DefaultKernel: "kernel-uek", + }, + Network: &osbuild.SysconfigNetworkOptions{ + Networking: true, +@@ -274,7 +278,7 @@ func ParseID(idStr string) (*distro.ID, error) { + return nil, err + } + +- if id.Name != "rhel" && id.Name != "centos" { ++ if id.Name != "rhel" && id.Name != "centos" && id.Name != "ol" { + return nil, fmt.Errorf("invalid distro name: %s", id.Name) + } + +@@ -288,7 +292,7 @@ func ParseID(idStr string) (*distro.ID, error) { + } + + // RHEL uses minor version +- if id.Name == "rhel" && id.MinorVersion == -1 { ++ if (id.Name == "rhel" || id.Name == "ol") && id.MinorVersion == -1 { + return nil, fmt.Errorf("rhel requires minor version, but got: %d", id.MinorVersion) + } + +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/ami.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/ami.go +index e4c7fba..a29f9ee 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/ami.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/ami.go +@@ -197,7 +197,7 @@ func baseEc2ImageConfig() *distro.ImageConfig { + { + Kernel: &osbuild.SysconfigKernelOptions{ + UpdateDefault: true, +- DefaultKernel: "kernel", ++ DefaultKernel: "kernel-uek", + }, + Network: &osbuild.SysconfigNetworkOptions{ + Networking: true, +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/azure.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/azure.go +index a596493..8c65876 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/azure.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/azure.go +@@ -155,9 +155,9 @@ func azureCommonPackageSet(t *rhel.ImageType) rpmmd.PackageSet { + "efibootmgr", + "gdisk", + "hyperv-daemons", +- "kernel", +- "kernel-core", +- "kernel-modules", ++ "kernel-uek", ++ "kernel-uek-core", ++ "kernel-uek-modules", + "langpacks-en", + "lvm2", + "nvme-cli", +@@ -517,7 +517,7 @@ var defaultAzureImageConfig = &distro.ImageConfig{ + { + Kernel: &osbuild.SysconfigKernelOptions{ + UpdateDefault: true, +- DefaultKernel: "kernel-core", ++ DefaultKernel: "kernel-uek-core", + }, + Network: &osbuild.SysconfigNetworkOptions{ + Networking: true, +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/bare_metal.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/bare_metal.go +index 0d5fbe0..ac371d8 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/bare_metal.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/bare_metal.go +@@ -142,7 +142,7 @@ func installerPackageSet(t *rhel.ImageType) rpmmd.PackageSet { + "iwl6000-firmware", + "iwl6050-firmware", + "iwl7260-firmware", +- "kernel", ++ "kernel-uek", + "less", + "nfs-utils", + "openssh-clients", +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/distro.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/distro.go +index 4c4a1e3..6615063 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/distro.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/distro.go +@@ -44,7 +44,7 @@ func defaultDistroImageConfig(d *rhel.Distribution) *distro.ImageConfig { + { + Kernel: &osbuild.SysconfigKernelOptions{ + UpdateDefault: true, +- DefaultKernel: "kernel", ++ DefaultKernel: "kernel-uek", + }, + Network: &osbuild.SysconfigNetworkOptions{ + Networking: true, +@@ -60,10 +60,14 @@ func defaultDistroImageConfig(d *rhel.Distribution) *distro.ImageConfig { + func distroISOLabelFunc(t *rhel.ImageType) string { + const RHEL_ISO_LABEL = "RHEL-%s-%s-0-BaseOS-%s" + const CS_ISO_LABEL = "CentOS-Stream-%s-%s-dvd" ++ const OL_ISO_LABEL = "OL-%s-%s-dvd-%s" + + if t.IsRHEL() { + osVer := strings.Split(t.Arch().Distro().OsVersion(), ".") + return fmt.Sprintf(RHEL_ISO_LABEL, osVer[0], osVer[1], t.Arch().Name()) ++ }else if t.Arch().Distro().Name() == "ol" { ++ osVer := strings.Split(t.Arch().Distro().OsVersion(), ".") ++ return fmt.Sprintf(RHEL_ISO_LABEL, osVer[0], osVer[1], t.Arch().Name()) + } else { + return fmt.Sprintf(CS_ISO_LABEL, t.Arch().Distro().Releasever(), t.Arch().Name()) + } +@@ -417,12 +421,12 @@ func ParseID(idStr string) (*distro.ID, error) { + return nil, err + } + +- if id.Name != "rhel" && id.Name != "centos" { ++ if id.Name != "rhel" && id.Name != "centos" && id.Name != "ol" { + return nil, fmt.Errorf("invalid distro name: %s", id.Name) + } + + // Backward compatibility layer for "rhel-84" or "rhel-810" +- if id.Name == "rhel" && id.MinorVersion == -1 { ++ if (id.Name == "rhel" || id.Name == "ol") && id.MinorVersion == -1 { + if id.MajorVersion/10 == 8 { + // handle single digit minor version + id.MinorVersion = id.MajorVersion % 10 +@@ -444,7 +448,7 @@ func ParseID(idStr string) (*distro.ID, error) { + } + + // RHEL uses minor version +- if id.Name == "rhel" && id.MinorVersion == -1 { ++ if (id.Name == "rhel" || id.Name == "ol") && id.MinorVersion == -1 { + return nil, fmt.Errorf("rhel requires minor version, but got: %d", id.MinorVersion) + } + +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/ami.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/ami.go +index d4216ae..1604be8 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/ami.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/ami.go +@@ -53,7 +53,7 @@ func defaultEc2ImageConfig() *distro.ImageConfig { + { + Kernel: &osbuild.SysconfigKernelOptions{ + UpdateDefault: true, +- DefaultKernel: "kernel", ++ DefaultKernel: "kernel-uek", + }, + Network: &osbuild.SysconfigNetworkOptions{ + Networking: true, +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/azure.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/azure.go +index cb3831d..9db3db7 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/azure.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/azure.go +@@ -98,9 +98,9 @@ func azureCommonPackageSet(t *rhel.ImageType) rpmmd.PackageSet { + "efibootmgr", + "gdisk", + "hyperv-daemons", +- "kernel-core", +- "kernel-modules", +- "kernel", ++ "kernel-uek-core", ++ "kernel-uek-modules", ++ "kernel-uek", + "langpacks-en", + "lvm2", + "NetworkManager", +@@ -430,7 +430,7 @@ func defaultAzureImageConfig(rd *rhel.Distribution) *distro.ImageConfig { + { + Kernel: &osbuild.SysconfigKernelOptions{ + UpdateDefault: true, +- DefaultKernel: "kernel-core", ++ DefaultKernel: "kernel-uek-core", + }, + Network: &osbuild.SysconfigNetworkOptions{ + Networking: true, +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/bare_metal.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/bare_metal.go +index 22807f3..f98f4c5 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/bare_metal.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/bare_metal.go +@@ -147,7 +147,7 @@ func installerPackageSet(t *rhel.ImageType) rpmmd.PackageSet { + "iwl5150-firmware", + "iwl6050-firmware", + "iwl7260-firmware", +- "kernel", ++ "kernel-uek", + "less", + "nfs-utils", + "openssh-clients", +@@ -257,7 +257,7 @@ func anacondaPackageSet(t *rhel.ImageType) rpmmd.PackageSet { + "kbd", + "kbd-misc", + "kdump-anaconda-addon", +- "kernel", ++ "kernel-uek", + "khmeros-base-fonts", + "less", + "libblockdev-lvm-dbus", +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/distro.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/distro.go +index 0648813..0d06b1a 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/distro.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/distro.go +@@ -43,10 +43,14 @@ var ( + func distroISOLabelFunc(t *rhel.ImageType) string { + const RHEL_ISO_LABEL = "RHEL-%s-%s-0-BaseOS-%s" + const CS_ISO_LABEL = "CentOS-Stream-%s-BaseOS-%s" ++ const OL_ISO_LABEL = "OL-%s-%s-dvd-%s" + + if t.IsRHEL() { + osVer := strings.Split(t.Arch().Distro().OsVersion(), ".") + return fmt.Sprintf(RHEL_ISO_LABEL, osVer[0], osVer[1], t.Arch().Name()) ++ }else if t.Arch().Distro().Name() == "ol" { ++ osVer := strings.Split(t.Arch().Distro().OsVersion(), ".") ++ return fmt.Sprintf(RHEL_ISO_LABEL, osVer[0], osVer[1], t.Arch().Name()) + } else { + return fmt.Sprintf(CS_ISO_LABEL, t.Arch().Distro().Releasever(), t.Arch().Name()) + } +@@ -60,7 +64,7 @@ func defaultDistroImageConfig(d *rhel.Distribution) *distro.ImageConfig { + { + Kernel: &osbuild.SysconfigKernelOptions{ + UpdateDefault: true, +- DefaultKernel: "kernel", ++ DefaultKernel: "kernel-uek", + }, + Network: &osbuild.SysconfigNetworkOptions{ + Networking: true, +@@ -370,12 +374,12 @@ func ParseID(idStr string) (*distro.ID, error) { + return nil, err + } + +- if id.Name != "rhel" && id.Name != "centos" { ++ if id.Name != "rhel" && id.Name != "centos" && id.Name != "ol" { + return nil, fmt.Errorf("invalid distro name: %s", id.Name) + } + + // Backward compatibility layer for "rhel-93" or "rhel-910" +- if id.Name == "rhel" && id.MinorVersion == -1 { ++ if (id.Name == "rhel" || id.Name == "ol") && id.MinorVersion == -1 { + if id.MajorVersion/10 == 9 { + // handle single digit minor version + id.MinorVersion = id.MajorVersion % 10 +@@ -397,7 +401,7 @@ func ParseID(idStr string) (*distro.ID, error) { + } + + // RHEL uses minor version +- if id.Name == "rhel" && id.MinorVersion == -1 { ++ if (id.Name == "rhel" || id.Name == "ol") && id.MinorVersion == -1 { + return nil, fmt.Errorf("rhel requires minor version, but got: %d", id.MinorVersion) + } + +diff --git a/vendor/github.com/osbuild/images/pkg/image/anaconda_live_installer.go b/vendor/github.com/osbuild/images/pkg/image/anaconda_live_installer.go +index 393030c..134ba58 100644 +--- a/vendor/github.com/osbuild/images/pkg/image/anaconda_live_installer.go ++++ b/vendor/github.com/osbuild/images/pkg/image/anaconda_live_installer.go +@@ -53,7 +53,7 @@ func (img *AnacondaLiveInstaller) InstantiateManifest(m *manifest.Manifest, + buildPipeline, + img.Platform, + repos, +- "kernel", ++ "kernel-uek", + img.Product, + img.OSVersion, + img.Preview, +diff --git a/vendor/github.com/osbuild/images/pkg/image/anaconda_ostree_installer.go b/vendor/github.com/osbuild/images/pkg/image/anaconda_ostree_installer.go +index 46f2142..adf327a 100644 +--- a/vendor/github.com/osbuild/images/pkg/image/anaconda_ostree_installer.go ++++ b/vendor/github.com/osbuild/images/pkg/image/anaconda_ostree_installer.go +@@ -71,7 +71,7 @@ func (img *AnacondaOSTreeInstaller) InstantiateManifest(m *manifest.Manifest, + buildPipeline, + img.Platform, + repos, +- "kernel", ++ "kernel-uek", + img.Product, + img.OSVersion, + img.Preview, +diff --git a/vendor/github.com/osbuild/images/pkg/image/anaconda_tar_installer.go b/vendor/github.com/osbuild/images/pkg/image/anaconda_tar_installer.go +index 5f3e330..236a695 100644 +--- a/vendor/github.com/osbuild/images/pkg/image/anaconda_tar_installer.go ++++ b/vendor/github.com/osbuild/images/pkg/image/anaconda_tar_installer.go +@@ -114,7 +114,7 @@ func (img *AnacondaTarInstaller) InstantiateManifest(m *manifest.Manifest, + buildPipeline, + img.Platform, + repos, +- "kernel", ++ "kernel-uek", + img.Product, + img.OSVersion, + img.Preview, +diff --git a/vendor/github.com/osbuild/images/pkg/image/ostree_simplified_installer.go b/vendor/github.com/osbuild/images/pkg/image/ostree_simplified_installer.go +index 253c8c1..451d2d0 100644 +--- a/vendor/github.com/osbuild/images/pkg/image/ostree_simplified_installer.go ++++ b/vendor/github.com/osbuild/images/pkg/image/ostree_simplified_installer.go +@@ -86,7 +86,7 @@ func (img *OSTreeSimplifiedInstaller) InstantiateManifest(m *manifest.Manifest, + buildPipeline, + img.Platform, + repos, +- "kernel", ++ "kernel-uek", + img.Product, + img.OSVersion, + ) +-- +2.47.1 + diff --git a/1003-Removing-non-supported-image-types.patch b/1003-Removing-non-supported-image-types.patch new file mode 100644 index 0000000..49a5bb3 --- /dev/null +++ b/1003-Removing-non-supported-image-types.patch @@ -0,0 +1,516 @@ +From 7756d7a52c439b5c9d9a438848dfa5d1e1d1fa21 Mon Sep 17 00:00:00 2001 +From: Josue David Hernandez Gutierrez +Date: Thu, 31 Oct 2024 01:49:23 +0000 +Subject: [PATCH 3/9] Removing non supported image types + +image types removed are: +Edge Images +Openstack Images +Vmdk Images +GPC Images +MinimalRaw Images +Vmk Images +Ova Images +Wsl Images + +Signed-off-by: Josue David Hernandez Gutierrez +--- + internal/cloudapi/v2/compose_test.go | 60 --------- + .../images/pkg/distro/rhel/rhel10/distro.go | 35 ------ + .../images/pkg/distro/rhel/rhel8/distro.go | 115 ------------------ + .../images/pkg/distro/rhel/rhel9/distro.go | 108 ---------------- + 4 files changed, 318 deletions(-) + +diff --git a/internal/cloudapi/v2/compose_test.go b/internal/cloudapi/v2/compose_test.go +index f7f8dc7..9c815d5 100644 +--- a/internal/cloudapi/v2/compose_test.go ++++ b/internal/cloudapi/v2/compose_test.go +@@ -648,42 +648,6 @@ func TestGetImageRequests_ImageTypeConversion(t *testing.T) { + expectedImageType: "azure-sap-rhui", + expectedTargetName: target.TargetNameAzureImage, + }, +- { +- requestedImageType: ImageTypesEdgeCommit, +- requestedDistros: []string{rhel8, centos8, rhel9, centos9}, +- expectedImageType: "edge-commit", +- expectedTargetName: target.TargetNameAWSS3, +- }, +- { +- requestedImageType: ImageTypesEdgeContainer, +- requestedDistros: []string{rhel8, centos8, rhel9, centos9}, +- expectedImageType: "edge-container", +- expectedTargetName: target.TargetNameContainer, +- }, +- { +- requestedImageType: ImageTypesEdgeInstaller, +- requestedDistros: []string{rhel8, centos8, rhel9, centos9}, +- expectedImageType: "edge-installer", +- expectedTargetName: target.TargetNameAWSS3, +- }, +- { +- requestedImageType: ImageTypesGcp, +- requestedDistros: []string{rhel8, centos8, rhel9, centos9}, +- expectedImageType: "gce", +- expectedTargetName: target.TargetNameGCP, +- }, +- { +- requestedImageType: ImageTypesGcpRhui, +- requestedDistros: []string{rhel9}, +- expectedImageType: "gce", +- expectedTargetName: target.TargetNameGCP, +- }, +- { +- requestedImageType: ImageTypesGcpRhui, +- requestedDistros: []string{rhel8}, +- expectedImageType: "gce-rhui", +- expectedTargetName: target.TargetNameGCP, +- }, + { + requestedImageType: ImageTypesGuestImage, + requestedDistros: []string{fedora, rhel8, centos8, rhel9, centos9}, +@@ -738,36 +702,12 @@ func TestGetImageRequests_ImageTypeConversion(t *testing.T) { + expectedImageType: "live-installer", + expectedTargetName: target.TargetNameAWSS3, + }, +- { +- requestedImageType: ImageTypesMinimalRaw, +- requestedDistros: []string{fedora, rhel8, centos8, rhel9, centos9}, +- expectedImageType: "minimal-raw", +- expectedTargetName: target.TargetNameAWSS3, +- }, + { + requestedImageType: ImageTypesOci, + requestedDistros: []string{fedora, rhel8, centos8, rhel9, centos9}, + expectedImageType: "oci", + expectedTargetName: target.TargetNameOCIObjectStorage, + }, +- { +- requestedImageType: ImageTypesVsphere, +- requestedDistros: []string{fedora, rhel8, centos8, rhel9, centos9}, +- expectedImageType: "vmdk", +- expectedTargetName: target.TargetNameAWSS3, +- }, +- { +- requestedImageType: ImageTypesVsphereOva, +- requestedDistros: []string{fedora, rhel8, centos8, rhel9, centos9}, +- expectedImageType: "ova", +- expectedTargetName: target.TargetNameAWSS3, +- }, +- { +- requestedImageType: ImageTypesWsl, +- requestedDistros: []string{fedora, rhel8, centos8, rhel9, centos9}, +- expectedImageType: "wsl", +- expectedTargetName: target.TargetNameAWSS3, +- }, + } + + for _, tt := range tests { +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/distro.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/distro.go +index d11868a..1ea4c5d 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/distro.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/distro.go +@@ -100,38 +100,14 @@ func newDistro(name string, major, minor int) *rhel.Distribution { + mkOCIImgType(rd), + ) + +- x86_64.AddImageTypes( +- &platform.X86{ +- BIOS: true, +- UEFIVendor: rd.Vendor(), +- BasePlatform: platform.BasePlatform{ +- ImageFormat: platform.FORMAT_VMDK, +- }, +- }, +- mkVMDKImgType(), +- ) +- +- x86_64.AddImageTypes( +- &platform.X86{ +- BIOS: true, +- UEFIVendor: rd.Vendor(), +- BasePlatform: platform.BasePlatform{ +- ImageFormat: platform.FORMAT_OVA, +- }, +- }, +- mkOVAImgType(), +- ) +- + x86_64.AddImageTypes( + &platform.X86{}, + mkTarImgType(), +- mkWSLImgType(), + ) + + aarch64.AddImageTypes( + &platform.Aarch64{}, + mkTarImgType(), +- mkWSLImgType(), + ) + + aarch64.AddImageTypes( +@@ -216,17 +192,6 @@ func newDistro(name string, major, minor int) *rhel.Distribution { + x86_64.AddImageTypes(azureX64Platform, mkAzureImgType(rd)) + aarch64.AddImageTypes(azureAarch64Platform, mkAzureImgType(rd)) + +- gceX86Platform := &platform.X86{ +- UEFIVendor: rd.Vendor(), +- BasePlatform: platform.BasePlatform{ +- ImageFormat: platform.FORMAT_GCE, +- }, +- } +- x86_64.AddImageTypes( +- gceX86Platform, +- mkGCEImageType(), +- ) +- + x86_64.AddImageTypes( + &platform.X86{ + BasePlatform: platform.BasePlatform{ +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/distro.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/distro.go +index 6615063..7539479 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/distro.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/distro.go +@@ -101,17 +101,6 @@ func newDistro(name string, minor int) *rhel.Distribution { + mkOCIImgType(rd), + ) + +- x86_64.AddImageTypes( +- &platform.X86{ +- BIOS: true, +- UEFIVendor: rd.Vendor(), +- BasePlatform: platform.BasePlatform{ +- ImageFormat: platform.FORMAT_QCOW2, +- }, +- }, +- mkOpenstackImgType(), +- ) +- + ec2X86Platform := &platform.X86{ + BIOS: true, + UEFIVendor: rd.Vendor(), +@@ -155,50 +144,12 @@ func newDistro(name string, minor int) *rhel.Distribution { + + x86_64.AddImageTypes( + bareMetalX86Platform, +- mkEdgeOCIImgType(rd), +- mkEdgeCommitImgType(rd), +- mkEdgeInstallerImgType(rd), + mkImageInstaller(), + ) + +- gceX86Platform := &platform.X86{ +- UEFIVendor: rd.Vendor(), +- BasePlatform: platform.BasePlatform{ +- ImageFormat: platform.FORMAT_GCE, +- }, +- } +- +- x86_64.AddImageTypes( +- gceX86Platform, +- mkGceImgType(rd), +- ) +- +- x86_64.AddImageTypes( +- &platform.X86{ +- BIOS: true, +- UEFIVendor: rd.Vendor(), +- BasePlatform: platform.BasePlatform{ +- ImageFormat: platform.FORMAT_VMDK, +- }, +- }, +- mkVmdkImgType(), +- ) +- +- x86_64.AddImageTypes( +- &platform.X86{ +- BIOS: true, +- UEFIVendor: rd.Vendor(), +- BasePlatform: platform.BasePlatform{ +- ImageFormat: platform.FORMAT_OVA, +- }, +- }, +- mkOvaImgType(), +- ) +- + x86_64.AddImageTypes( + &platform.X86{}, + mkTarImgType(), +- mkWslImgType(), + ) + + aarch64.AddImageTypes( +@@ -212,20 +163,9 @@ func newDistro(name string, minor int) *rhel.Distribution { + mkQcow2ImgType(rd), + ) + +- aarch64.AddImageTypes( +- &platform.Aarch64{ +- UEFIVendor: rd.Vendor(), +- BasePlatform: platform.BasePlatform{ +- ImageFormat: platform.FORMAT_QCOW2, +- }, +- }, +- mkOpenstackImgType(), +- ) +- + aarch64.AddImageTypes( + &platform.Aarch64{}, + mkTarImgType(), +- mkWslImgType(), + ) + + bareMetalAarch64Platform := &platform.Aarch64{ +@@ -235,9 +175,6 @@ func newDistro(name string, minor int) *rhel.Distribution { + + aarch64.AddImageTypes( + bareMetalAarch64Platform, +- mkEdgeOCIImgType(rd), +- mkEdgeCommitImgType(rd), +- mkEdgeInstallerImgType(rd), + mkImageInstaller(), + ) + +@@ -251,7 +188,6 @@ func newDistro(name string, minor int) *rhel.Distribution { + aarch64.AddImageTypes( + rawAarch64Platform, + mkAmiImgTypeAarch64(), +- mkMinimalRawImgType(), + ) + + ppc64le.AddImageTypes( +@@ -301,44 +237,15 @@ func newDistro(name string, minor int) *rhel.Distribution { + }, + } + +- rawUEFIx86Platform := &platform.X86{ +- BasePlatform: platform.BasePlatform{ +- ImageFormat: platform.FORMAT_RAW, +- }, +- BIOS: false, +- UEFIVendor: rd.Vendor(), +- } +- +- x86_64.AddImageTypes( +- rawUEFIx86Platform, +- mkMinimalRawImgType(), +- ) +- + if rd.IsRHEL() { + if common.VersionGreaterThanOrEqual(rd.OsVersion(), "8.6") { + // image types only available on 8.6 and later on RHEL + // These edge image types require FDO which aren't available on older versions +- x86_64.AddImageTypes( +- bareMetalX86Platform, +- mkEdgeRawImgType(), +- ) +- +- x86_64.AddImageTypes( +- rawUEFIx86Platform, +- mkEdgeSimplifiedInstallerImgType(rd), +- ) +- + x86_64.AddImageTypes( + azureX64Platform, + mkAzureEap7RhuiImgType(), + ) + +- aarch64.AddImageTypes( +- rawAarch64Platform, +- mkEdgeRawImgType(), +- mkEdgeSimplifiedInstallerImgType(rd), +- ) +- + // The Azure image types require hyperv-daemons which isn't available on older versions + aarch64.AddImageTypes( + azureAarch64Platform, +@@ -376,36 +283,14 @@ func newDistro(name string, minor int) *rhel.Distribution { + ) + } + +- // add GCE RHUI image to RHEL only +- x86_64.AddImageTypes( +- gceX86Platform, +- mkGceRhuiImgType(rd), +- ) +- + // add s390x to RHEL distro only + rd.AddArches(s390x) + } else { +- x86_64.AddImageTypes( +- bareMetalX86Platform, +- mkEdgeRawImgType(), +- ) +- +- x86_64.AddImageTypes( +- rawUEFIx86Platform, +- mkEdgeSimplifiedInstallerImgType(rd), +- ) +- + x86_64.AddImageTypes( + azureX64Platform, + mkAzureImgType(), + ) + +- aarch64.AddImageTypes( +- rawAarch64Platform, +- mkEdgeRawImgType(), +- mkEdgeSimplifiedInstallerImgType(rd), +- ) +- + aarch64.AddImageTypes( + azureAarch64Platform, + mkAzureImgType(), +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/distro.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/distro.go +index 0d06b1a..6745702 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/distro.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/distro.go +@@ -103,59 +103,15 @@ func newDistro(name string, major, minor int) *rhel.Distribution { + mkOCIImgType(rd), + ) + +- x86_64.AddImageTypes( +- &platform.X86{ +- BIOS: true, +- UEFIVendor: rd.Vendor(), +- BasePlatform: platform.BasePlatform{ +- ImageFormat: platform.FORMAT_QCOW2, +- }, +- }, +- mkOpenstackImgType(), +- ) +- +- x86_64.AddImageTypes( +- &platform.X86{ +- BIOS: true, +- UEFIVendor: rd.Vendor(), +- BasePlatform: platform.BasePlatform{ +- ImageFormat: platform.FORMAT_VMDK, +- }, +- }, +- mkVMDKImgType(), +- ) +- +- x86_64.AddImageTypes( +- &platform.X86{ +- BIOS: true, +- UEFIVendor: rd.Vendor(), +- BasePlatform: platform.BasePlatform{ +- ImageFormat: platform.FORMAT_OVA, +- }, +- }, +- mkOVAImgType(), +- ) + + x86_64.AddImageTypes( + &platform.X86{}, + mkTarImgType(), +- mkWSLImgType(), +- ) +- +- aarch64.AddImageTypes( +- &platform.Aarch64{ +- UEFIVendor: rd.Vendor(), +- BasePlatform: platform.BasePlatform{ +- ImageFormat: platform.FORMAT_QCOW2, +- }, +- }, +- mkOpenstackImgType(), + ) + + aarch64.AddImageTypes( + &platform.Aarch64{}, + mkTarImgType(), +- mkWSLImgType(), + ) + + aarch64.AddImageTypes( +@@ -248,16 +204,6 @@ func newDistro(name string, major, minor int) *rhel.Distribution { + x86_64.AddImageTypes(azureX64Platform, mkAzureImgType(rd)) + aarch64.AddImageTypes(azureAarch64Platform, mkAzureImgType(rd)) + +- gceX86Platform := &platform.X86{ +- UEFIVendor: rd.Vendor(), +- BasePlatform: platform.BasePlatform{ +- ImageFormat: platform.FORMAT_GCE, +- }, +- } +- x86_64.AddImageTypes( +- gceX86Platform, +- mkGCEImageType(), +- ) + + x86_64.AddImageTypes( + &platform.X86{ +@@ -279,35 +225,7 @@ func newDistro(name string, major, minor int) *rhel.Distribution { + BIOS: true, + UEFIVendor: rd.Vendor(), + }, +- mkEdgeOCIImgType(rd), +- mkEdgeCommitImgType(rd), +- mkEdgeInstallerImgType(), +- mkEdgeRawImgType(rd), + mkImageInstallerImgType(), +- mkEdgeAMIImgType(rd), +- ) +- +- x86_64.AddImageTypes( +- &platform.X86{ +- BasePlatform: platform.BasePlatform{ +- ImageFormat: platform.FORMAT_VMDK, +- }, +- BIOS: true, +- UEFIVendor: rd.Vendor(), +- }, +- mkEdgeVsphereImgType(rd), +- ) +- +- x86_64.AddImageTypes( +- &platform.X86{ +- BasePlatform: platform.BasePlatform{ +- ImageFormat: platform.FORMAT_RAW, +- }, +- BIOS: false, +- UEFIVendor: rd.Vendor(), +- }, +- mkEdgeSimplifiedInstallerImgType(rd), +- mkMinimalrawImgType(), + ) + + aarch64.AddImageTypes( +@@ -315,33 +233,7 @@ func newDistro(name string, major, minor int) *rhel.Distribution { + BasePlatform: platform.BasePlatform{}, + UEFIVendor: rd.Vendor(), + }, +- mkEdgeOCIImgType(rd), +- mkEdgeCommitImgType(rd), +- mkEdgeInstallerImgType(), +- mkEdgeSimplifiedInstallerImgType(rd), + mkImageInstallerImgType(), +- mkEdgeAMIImgType(rd), +- ) +- +- aarch64.AddImageTypes( +- &platform.Aarch64{ +- BasePlatform: platform.BasePlatform{ +- ImageFormat: platform.FORMAT_VMDK, +- }, +- UEFIVendor: rd.Vendor(), +- }, +- mkEdgeVsphereImgType(rd), +- ) +- +- aarch64.AddImageTypes( +- &platform.Aarch64{ +- BasePlatform: platform.BasePlatform{ +- ImageFormat: platform.FORMAT_RAW, +- }, +- UEFIVendor: rd.Vendor(), +- }, +- mkEdgeRawImgType(rd), +- mkMinimalrawImgType(), + ) + + if rd.IsRHEL() { // RHEL-only (non-CentOS) image types +-- +2.47.1 + diff --git a/1004-Fix-packageSets.patch b/1004-Fix-packageSets.patch new file mode 100644 index 0000000..7abfaa1 --- /dev/null +++ b/1004-Fix-packageSets.patch @@ -0,0 +1,272 @@ +From b48b0f06645f6c68d58a0daffc15b07efddd8f9c Mon Sep 17 00:00:00 2001 +From: Josue David Hernandez Gutierrez +Date: Thu, 31 Oct 2024 03:46:51 +0000 +Subject: [PATCH 4/9] Fix packageSets + +Signed-off-by: Josue David Hernandez Gutierrez +--- + .../osbuild/images/pkg/distro/rhel/rhel10/ami.go | 1 - + .../osbuild/images/pkg/distro/rhel/rhel10/bare_metal.go | 7 ++----- + .../osbuild/images/pkg/distro/rhel/rhel10/qcow2.go | 5 ++++- + .../osbuild/images/pkg/distro/rhel/rhel10/ubi.go | 1 - + .../github.com/osbuild/images/pkg/distro/rhel/rhel8/ami.go | 1 - + .../osbuild/images/pkg/distro/rhel/rhel8/bare_metal.go | 3 --- + .../osbuild/images/pkg/distro/rhel/rhel8/qcow2.go | 2 -- + .../github.com/osbuild/images/pkg/distro/rhel/rhel8/ubi.go | 2 -- + .../github.com/osbuild/images/pkg/distro/rhel/rhel9/ami.go | 1 - + .../osbuild/images/pkg/distro/rhel/rhel9/bare_metal.go | 7 ++----- + .../osbuild/images/pkg/distro/rhel/rhel9/qcow2.go | 5 ++++- + .../github.com/osbuild/images/pkg/distro/rhel/rhel9/ubi.go | 1 - + 12 files changed, 12 insertions(+), 24 deletions(-) + +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/ami.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/ami.go +index 7042251..c397edd 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/ami.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/ami.go +@@ -306,7 +306,6 @@ func ec2PackageSet(t *rhel.ImageType) rpmmd.PackageSet { + "langpacks-en", + "NetworkManager-cloud-setup", + "redhat-release", +- "redhat-release-eula", + "rsync", + "tuned", + "tar", +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/bare_metal.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/bare_metal.go +index dd39e1b..942784f 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/bare_metal.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/bare_metal.go +@@ -98,15 +98,12 @@ func bareMetalPackageSet(t *rhel.ImageType) rpmmd.PackageSet { + "python3-jsonschema", + "qemu-guest-agent", + "redhat-release", +- "redhat-release-eula", + "rsync", + "tar", + "tcpdump", + "tuned", + }, +- Exclude: []string{ +- "dracut-config-rescue", +- }, ++ Exclude: nil, + }.Append(distroBuildPackageSet(t)) + + // Ensure to not pull in subscription-manager on non-RHEL distro +@@ -127,6 +124,7 @@ func installerPackageSet(t *rhel.ImageType) rpmmd.PackageSet { + "anaconda-dracut", + "curl", + "dracut-config-generic", ++ "dracut-config-rescue", + "dracut-network", + "hostname", + "iwl100-firmware", +@@ -274,7 +272,6 @@ func anacondaPackageSet(t *rhel.ImageType) rpmmd.PackageSet { + "prefixdevname", + "python3-pyatspi", + "rdma-core", +- "redhat-release-eula", + "rng-tools", + "rpcbind", + "rpm-ostree", +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/qcow2.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/qcow2.go +index fbb58be..4c3c4b6 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/qcow2.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/qcow2.go +@@ -73,7 +73,6 @@ func qcow2CommonPackageSet(t *rhel.ImageType) rpmmd.PackageSet { + "python3-jsonschema", + "qemu-guest-agent", + "redhat-release", +- "redhat-release-eula", + "rsync", + "tar", + "tuned", +@@ -112,6 +111,10 @@ func qcow2CommonPackageSet(t *rhel.ImageType) rpmmd.PackageSet { + "langpacks-en", + "libertas-sd8787-firmware", + "plymouth", ++ "rhn-check", ++ "rhn-setup", ++ "rhnsd", ++ "dnf-plugin-spacewalk", + "rng-tools", + "udisks2", + }, +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/ubi.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/ubi.go +index 603fd75..d59d9e5 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/ubi.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/ubi.go +@@ -87,7 +87,6 @@ func ubiCommonPackageSet(t *rhel.ImageType) rpmmd.PackageSet { + "glibc-langpack-en", + "openssl-pkcs11", + "python-unversioned-command", +- "redhat-release-eula", + "rpm-plugin-systemd-inhibit", + }, + } +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/ami.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/ami.go +index a29f9ee..2b463e0 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/ami.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/ami.go +@@ -344,7 +344,6 @@ func ec2CommonPackageSet(t *rhel.ImageType) rpmmd.PackageSet { + "NetworkManager", + "NetworkManager-cloud-setup", + "redhat-release", +- "redhat-release-eula", + "rsync", + "tar", + "yum-utils", +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/bare_metal.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/bare_metal.go +index ac371d8..ca6907c 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/bare_metal.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/bare_metal.go +@@ -100,7 +100,6 @@ func bareMetalPackageSet(t *rhel.ImageType) rpmmd.PackageSet { + "python3-jsonschema", + "qemu-guest-agent", + "redhat-release", +- "redhat-release-eula", + "rsync", + "selinux-policy-targeted", + "tar", +@@ -228,7 +227,6 @@ func anacondaPackageSet(t *rhel.ImageType) rpmmd.PackageSet { + "libibverbs", + "libreport-plugin-bugzilla", + "libreport-plugin-reportuploader", +- "libreport-rhel-anaconda-bugzilla", + "librsvg2", + "linux-firmware", + "lklug-fonts", +@@ -258,7 +256,6 @@ func anacondaPackageSet(t *rhel.ImageType) rpmmd.PackageSet { + "pigz", + "python3-pyatspi", + "rdma-core", +- "redhat-release-eula", + "rpm-ostree", + "rsync", + "rsyslog", +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/qcow2.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/qcow2.go +index b1009b1..fc40edd 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/qcow2.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/qcow2.go +@@ -101,7 +101,6 @@ func qcow2CommonPackageSet(t *rhel.ImageType) rpmmd.PackageSet { + "python3-jsonschema", + "qemu-guest-agent", + "redhat-release", +- "redhat-release-eula", + "rsync", + "tar", + "tcpdump", +@@ -113,7 +112,6 @@ func qcow2CommonPackageSet(t *rhel.ImageType) rpmmd.PackageSet { + "alsa-lib", + "alsa-tools-firmware", + "biosdevname", +- "dnf-plugin-spacewalk", + "dracut-config-rescue", + "fedora-release", + "fedora-repos", +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/ubi.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/ubi.go +index acb08cc..d21a5c4 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/ubi.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/ubi.go +@@ -88,7 +88,6 @@ func ubiCommonPackageSet(t *rhel.ImageType) rpmmd.PackageSet { + "biosdevname", + "cpio", + "diffutils", +- "dnf-plugin-spacewalk", + "dracut", + "elfutils-debuginfod-client", + "fedora-release", +@@ -125,7 +124,6 @@ func ubiCommonPackageSet(t *rhel.ImageType) rpmmd.PackageSet { + "plymouth", + "policycoreutils", + "python3-unbound", +- "redhat-release-eula", + "rng-tools", + "rpm-plugin-selinux", + "rpm-plugin-systemd-inhibit", +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/ami.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/ami.go +index 1604be8..a7689cf 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/ami.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/ami.go +@@ -178,7 +178,6 @@ func ec2BasePackageSet(t *rhel.ImageType) rpmmd.PackageSet { + "langpacks-en", + "NetworkManager-cloud-setup", + "redhat-release", +- "redhat-release-eula", + "rsync", + "tuned", + "tar", +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/bare_metal.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/bare_metal.go +index f98f4c5..e284063 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/bare_metal.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/bare_metal.go +@@ -101,15 +101,12 @@ func bareMetalPackageSet(t *rhel.ImageType) rpmmd.PackageSet { + "python3-jsonschema", + "qemu-guest-agent", + "redhat-release", +- "redhat-release-eula", + "rsync", + "tar", + "tcpdump", + "tuned", + }, +- Exclude: []string{ +- "dracut-config-rescue", +- }, ++ Exclude: nil, + }.Append(distroBuildPackageSet(t)) + + if common.VersionLessThan(t.Arch().Distro().OsVersion(), "10.0") { +@@ -134,6 +131,7 @@ func installerPackageSet(t *rhel.ImageType) rpmmd.PackageSet { + "anaconda-dracut", + "curl", + "dracut-config-generic", ++ "dracut-config-rescue", + "dracut-network", + "hostname", + "iwl100-firmware", +@@ -297,7 +295,6 @@ func anacondaPackageSet(t *rhel.ImageType) rpmmd.PackageSet { + "prefixdevname", + "python3-pyatspi", + "rdma-core", +- "redhat-release-eula", + "rng-tools", + "rpcbind", + "rpm-ostree", +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/qcow2.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/qcow2.go +index 5875caf..20a8022 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/qcow2.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/qcow2.go +@@ -99,7 +99,6 @@ func qcow2CommonPackageSet(t *rhel.ImageType) rpmmd.PackageSet { + "python3-jsonschema", + "qemu-guest-agent", + "redhat-release", +- "redhat-release-eula", + "rsync", + "tar", + "tuned", +@@ -139,6 +138,10 @@ func qcow2CommonPackageSet(t *rhel.ImageType) rpmmd.PackageSet { + "libertas-sd8787-firmware", + "nss", + "plymouth", ++ "rhn-check", ++ "rhn-setup", ++ "rhnsd", ++ "dnf-plugin-spacewalk", + "rng-tools", + "udisks2", + }, +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/ubi.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/ubi.go +index f787214..a6440eb 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/ubi.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/ubi.go +@@ -87,7 +87,6 @@ func ubiCommonPackageSet(t *rhel.ImageType) rpmmd.PackageSet { + "glibc-langpack-en", + "openssl-pkcs11", + "python-unversioned-command", +- "redhat-release-eula", + "rpm-plugin-systemd-inhibit", + }, + } +-- +2.47.1 + diff --git a/1005-Increase-support-for-OCI-images.patch b/1005-Increase-support-for-OCI-images.patch new file mode 100644 index 0000000..6739c44 --- /dev/null +++ b/1005-Increase-support-for-OCI-images.patch @@ -0,0 +1,944 @@ +From d57628cace2b637b46190e06b36ad6c4f36ffd2b Mon Sep 17 00:00:00 2001 +From: Josue David Hernandez Gutierrez +Date: Thu, 31 Oct 2024 01:02:28 +0000 +Subject: [PATCH 05/10] Increase support for OCI images + +Add support for OCI images: +- Support for OCI hybrid images +- Add selinux auto-relabeling during first boot +- Support dnf variables inside OCI built images + +Signed-off-by: Josue David Hernandez Gutierrez +Signed-off-by: Alex Burmashev +--- + .../osbuild/images/pkg/distro/image_config.go | 2 + + .../images/pkg/distro/rhel/distribution.go | 10 +- + .../osbuild/images/pkg/distro/rhel/images.go | 5 + + .../images/pkg/distro/rhel/rhel10/distro.go | 3 +- + .../images/pkg/distro/rhel/rhel10/qcow2.go | 195 ++++++++++++++++- + .../images/pkg/distro/rhel/rhel8/distro.go | 3 +- + .../images/pkg/distro/rhel/rhel8/qcow2.go | 201 +++++++++++++++++- + .../images/pkg/distro/rhel/rhel9/distro.go | 3 +- + .../images/pkg/distro/rhel/rhel9/qcow2.go | 197 ++++++++++++++++- + .../osbuild/images/pkg/manifest/os.go | 14 ++ + 10 files changed, 613 insertions(+), 20 deletions(-) + +diff --git a/vendor/github.com/osbuild/images/pkg/distro/image_config.go b/vendor/github.com/osbuild/images/pkg/distro/image_config.go +index 8cee15e..a7b06fd 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/image_config.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/image_config.go +@@ -45,6 +45,7 @@ type ImageConfig struct { + Modprobe []*osbuild.ModprobeStageOptions + DracutConf []*osbuild.DracutConfStageOptions + SystemdUnit []*osbuild.SystemdUnitStageOptions ++ SystemdUnitCreate []*osbuild.SystemdUnitCreateStageOptions + Authselect *osbuild.AuthselectStageOptions + SELinuxConfig *osbuild.SELinuxConfigStageOptions + Tuned *osbuild.TunedStageOptions +@@ -67,6 +68,7 @@ type ImageConfig struct { + + Files []*fsnode.File + Directories []*fsnode.Directory ++ Hostonly *bool + + // KernelOptionsBootloader controls whether kernel command line options + // should be specified in the bootloader grubenv configuration. Otherwise +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/distribution.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/distribution.go +index 40fcf8e..55884e7 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/distribution.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/distribution.go +@@ -144,14 +144,14 @@ func NewDistribution(name string, major, minor int) (*Distribution, error) { + } + case "ol": + rd = &Distribution{ +- name: fmt.Sprintf("ol-%d.%d", major, minor), +- product: "Oracle Linux", +- osVersion: fmt.Sprintf("%d.%d", major, minor), ++ name: fmt.Sprintf("ol-%d.%d", major, minor), ++ product: "Oracle Linux", ++ osVersion: fmt.Sprintf("%d.%d", major, minor), + releaseVersion: fmt.Sprintf("%d", major), + modulePlatformID: fmt.Sprintf("platform:el%d", major), +- vendor: "redhat", ++ vendor: "redhat", + ostreeRefTmpl: fmt.Sprintf("ol/%d/%%s/edge", major), +- runner: &runner.RHEL{Major: uint64(major), Minor: uint64(minor)}, ++ runner: &runner.RHEL{Major: uint64(major), Minor: uint64(minor)}, + } + default: + return nil, fmt.Errorf("unknown distro name: %s", name) +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/images.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/images.go +index 9045bc9..432c349 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/images.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/images.go +@@ -68,6 +68,10 @@ func osCustomizations( + osc.ExcludeDocs = *imageConfig.ExcludeDocs + } + ++ if imageConfig.Hostonly != nil { ++ osc.Hostonly = *imageConfig.Hostonly ++ } ++ + if !t.BootISO { + // don't put users and groups in the payload of an installer + // add them via kickstart instead +@@ -246,6 +250,7 @@ func osCustomizations( + osc.Modprobe = imageConfig.Modprobe + osc.DracutConf = imageConfig.DracutConf + osc.SystemdUnit = imageConfig.SystemdUnit ++ osc.SystemdUnitCreate = imageConfig.SystemdUnitCreate + osc.Authselect = imageConfig.Authselect + osc.SELinuxConfig = imageConfig.SELinuxConfig + osc.Tuned = imageConfig.Tuned +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/distro.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/distro.go +index 753954f..d7cfd6b 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/distro.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/distro.go +@@ -97,7 +97,7 @@ func newDistro(name string, major, minor int) *rhel.Distribution { + }, + }, + mkQcow2ImgType(rd), +- mkOCIImgType(rd), ++ mkOCIImgType(rd, true), + ) + + x86_64.AddImageTypes( +@@ -119,6 +119,7 @@ func newDistro(name string, major, minor int) *rhel.Distribution { + }, + }, + mkQcow2ImgType(rd), ++ mkOCIImgType(rd, false), + ) + + ppc64le.AddImageTypes( +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/qcow2.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/qcow2.go +index 4c3c4b6..bdc0cb6 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/qcow2.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/qcow2.go +@@ -1,11 +1,15 @@ + package rhel10 + + import ( ++ "os" ++ + "github.com/osbuild/images/internal/common" ++ "github.com/osbuild/images/pkg/customizations/fsnode" + "github.com/osbuild/images/pkg/customizations/subscription" + "github.com/osbuild/images/pkg/datasizes" + "github.com/osbuild/images/pkg/distro" + "github.com/osbuild/images/pkg/distro/rhel" ++ "github.com/osbuild/images/pkg/osbuild" + "github.com/osbuild/images/pkg/rpmmd" + ) + +@@ -32,13 +36,13 @@ func mkQcow2ImgType(d *rhel.Distribution) *rhel.ImageType { + return it + } + +-func mkOCIImgType(d *rhel.Distribution) *rhel.ImageType { ++func mkOCIImgType(d *rhel.Distribution, isX86_64 bool) *rhel.ImageType { + it := rhel.NewImageType( + "oci", + "disk.qcow2", + "application/x-qemu-disk", + map[string]rhel.PackageSetFunc{ +- rhel.OSPkgsKey: qcow2CommonPackageSet, ++ rhel.OSPkgsKey: OCIqcow2CommonPackageSet, + }, + rhel.DiskImage, + []string{"build"}, +@@ -46,8 +50,23 @@ func mkOCIImgType(d *rhel.Distribution) *rhel.ImageType { + []string{"qcow2"}, + ) + +- it.DefaultImageConfig = qcowImageConfig(d) +- it.KernelOptions = "console=tty0 console=ttyS0,115200n8 no_timer_check" ++ it.DefaultImageConfig = &distro.ImageConfig{ ++ DefaultTarget: common.ToPtr("multi-user.target"), ++ Hostonly: common.ToPtr(true), ++ SELinuxForceRelabel: common.ToPtr(true), ++ Files: []*fsnode.File{earlySetupFile(isX86_64)}, ++ EnabledServices: []string{"oci-repo-installer.service"}, ++ SystemdUnitCreate: []*osbuild.SystemdUnitCreateStageOptions { ++ ociRepoServiceInstaller(), ++ }, ++ } ++ ++ if isX86_64 { ++ it.KernelOptions = "console=tty0 console=ttyS0,115200n8 no_timer_check rd.net.timeout.dhcp=10 rd.net.timeout.carrier=5 netroot=iscsi:169.254.0.2:::1:iqn.2015-02.oracle.boot:uefi rd.iscsi.param=node.session.timeo.replacement_timeout=6000 net.ifnames=1 nvme_core.shutdown_timeout=10 ipmi_si.tryacpi=0 ipmi_si.trydmi=0 libiscsi.debug_libiscsi_eh=1 loglevel=4 crash_kexec_post_notifiers" ++ } else { ++ it.KernelOptions = "ro LANG=en_US.UTF-8 console=ttyAMA0 console=ttyAMA0,115200 rd.net.timeout.dhcp=10 rd.net.timeout.carrier=5 netroot=iscsi:169.254.0.2:::1:iqn.2015-02.oracle.boot:uefi rd.iscsi.param=node.session.timeo.replacement_timeout=6000 net.ifnames=1 nvme_core.shutdown_timeout=10 ipmi_si.tryacpi=0 ipmi_si.trydmi=0 libiscsi.debug_libiscsi_eh=1 loglevel=4 crash_kexec_post_notifiers crashkernel=2G-8G:256M,8G-512G:1G,512G-:3G" ++ } ++ + it.DefaultSize = 10 * datasizes.GibiByte + it.Bootable = true + it.BasePartitionTables = defaultBasePartitionTables +@@ -55,6 +74,105 @@ func mkOCIImgType(d *rhel.Distribution) *rhel.ImageType { + return it + } + ++func earlySetupFile(isX86_64 bool) *fsnode.File { ++ arch := "aarch64" ++ if isX86_64 { ++ arch = "x86_64" ++ } ++ file, err := fsnode.NewFile("/sbin/early-oci-setup", common.ToPtr(os.FileMode(0700)), "root", "root", []byte(`#!/usr/bin/env bash ++arch=` + arch + ` ++ ++imds_domain=$(curl -H "Authorization:Bearer Oracle" -sfm 25 http://169.254.169.254/opc/v2/instance/ 2>/dev/null | jq -r '.regionInfo.realmDomainComponent') ++imds_region=$(curl -H "Authorization:Bearer Oracle" -sfm 25 http://169.254.169.254/opc/v2/instance/ 2>/dev/null | jq -r '.regionInfo.regionIdentifier') ++imds_realm=$(curl -H "Authorization:Bearer Oracle" -sfm 25 http://169.254.169.254/opc/v2/instance/ 2>/dev/null | jq -r '.regionInfo.realmKey') ++ ++function retry_command() { ++ ++ retry_attempts=5 ++ retry_interval_sec=2 ++ while [[ "$retry_attempts" -gt 0 ]]; do ++ command_success=true ++ "$@" || { command_success=false; } ++ if [[ "$command_success" == false ]]; then ++ (( retry_attempts-- )) ++ logger -t earlyocisetup "Error occurred running command $@. Will retry in $retry_interval_sec seconds" ++ sleep $retry_interval_sec ++ else ++ break ++ fi ++ done ++ ++ if [[ "$command_success" == false ]]; then ++ logger -t earlyocisetup "ERROR: failed to execute command '$@' (Retried $retry_attempts times)" ++ exit 1 ++ fi ++} ++ ++if [[ -n "$imds_realm" ]]; then ++ domain="oci.$imds_domain" ++ region="$imds_region" ++ ociregion=".$region" ++ reponame="oci_install" ++ repourl="https://yum$ociregion.$domain/repo/OracleLinux/OL10/oci/included/$arch/" ++else ++ logger -t earlyocisetup 'Running out of OCI region' ++ exit 1 ++fi ++ ++echo $region > /etc/dnf/vars/region ++echo $domain > /etc/dnf/vars/ocidomain ++echo $ociregion > /etc/dnf/vars/ociregion ++ ++cat < /etc/yum.repos.d/oci-install.repo ++[$reponame] ++name=Install OCI repo ($arch) ++baseurl=$repourl ++gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle ++gpgcheck=1 ++enabled=1 ++EOF ++ ++retry_command yum install -y oci-included-release-el10 ++retry_command yum install -y oci-linux-config ++retry_command yum install -y python39-oci-sdk ++ ++if $(yum repolist |grep -q "$reponame"); then ++ rm -f /etc/yum.repos.d/oci-install.repo ++fi ++ ++mkdir -p /var/lib/oci-repo-installer ++touch /var/lib/oci-repo-installer/oci-repo-installed ++ ++rm -f /usr/lib/systemd/system/oci-repo-installer.service /sbin/early-oci-setup ++ ++`)) ++ if err != nil { ++ panic(err) ++ } ++ return file ++} ++ ++func ociRepoServiceInstaller() *osbuild.SystemdUnitCreateStageOptions { ++ return &osbuild.SystemdUnitCreateStageOptions{ ++ Filename: "oci-repo-installer.service", ++ Config: osbuild.SystemdUnit{ ++ Unit: &osbuild.UnitSection{ ++ Description: "First-boot service for installing oci repository once OCI image has booted", ++ ConditionPathExists: []string{"!/var/lib/oci-repo-installer/oci-repo-installed"}, ++ Requires: []string{"network-online.target"}, ++ }, ++ Service: &osbuild.ServiceSection{ ++ Type: osbuild.OneshotServiceType, ++ RemainAfterExit: false, ++ ExecStart: []string{"/usr/bin/bash /sbin/early-oci-setup"}, ++ }, ++ Install: &osbuild.InstallSection{ ++ WantedBy: []string{"network-online.target"}, ++ }, ++ }, ++ } ++} ++ + func qcow2CommonPackageSet(t *rhel.ImageType) rpmmd.PackageSet { + ps := rpmmd.PackageSet{ + Include: []string{ +@@ -132,6 +250,75 @@ func qcow2CommonPackageSet(t *rhel.ImageType) rpmmd.PackageSet { + return ps + } + ++func OCIqcow2CommonPackageSet(t *rhel.ImageType) rpmmd.PackageSet { ++ ps := rpmmd.PackageSet{ ++ Include: []string{ ++ "@core", ++ "iscsi-initiator-utils", ++ "chrony", ++ "cloud-init", ++ "cloud-utils-growpart", ++ "cockpit-system", ++ "cockpit-ws", ++ "dnf-utils", ++ "dosfstools", ++ "nfs-utils", ++ "oddjob", ++ "oddjob-mkhomedir", ++ "psmisc", ++ "python3-jsonschema", ++ "qemu-guest-agent", ++ "redhat-release", ++ "rsync", ++ "tar", ++ "tuned", ++ "tcpdump", ++ }, ++ Exclude: []string{ ++ "aic94xx-firmware", ++ "alsa-firmware", ++ "alsa-lib", ++ "alsa-tools-firmware", ++ "biosdevname", ++ "dnf-plugin-spacewalk", ++ "dracut-config-rescue", ++ "fedora-release", ++ "fedora-repos", ++ "firewalld", ++ "iprutils", ++ "ivtv-firmware", ++ "iwl1000-firmware", ++ "iwl100-firmware", ++ "iwl105-firmware", ++ "iwl135-firmware", ++ "iwl2000-firmware", ++ "iwl2030-firmware", ++ "iwl3160-firmware", ++ "iwl3945-firmware", ++ "iwl4965-firmware", ++ "iwl5000-firmware", ++ "iwl5150-firmware", ++ "iwl6000-firmware", ++ "iwl6000g2a-firmware", ++ "iwl6000g2b-firmware", ++ "iwl6050-firmware", ++ "iwl7260-firmware", ++ "langpacks-*", ++ "langpacks-en", ++ "libertas-sd8787-firmware", ++ "plymouth", ++ "rhn-check", ++ "rhn-setup", ++ "rhnsd", ++ "dnf-plugin-spacewalk", ++ "rng-tools", ++ "udisks2", ++ }, ++ }.Append(distroSpecificPackageSet(t)) ++ ++ return ps ++} ++ + func qcowImageConfig(d *rhel.Distribution) *distro.ImageConfig { + ic := &distro.ImageConfig{ + DefaultTarget: common.ToPtr("multi-user.target"), +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/distro.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/distro.go +index 7539479..3767cf1 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/distro.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/distro.go +@@ -98,7 +98,7 @@ func newDistro(name string, minor int) *rhel.Distribution { + }, + }, + mkQcow2ImgType(rd), +- mkOCIImgType(rd), ++ mkOCIImgType(rd, true), + ) + + ec2X86Platform := &platform.X86{ +@@ -161,6 +161,7 @@ func newDistro(name string, minor int) *rhel.Distribution { + }, + }, + mkQcow2ImgType(rd), ++ mkOCIImgType(rd, false), + ) + + aarch64.AddImageTypes( +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/qcow2.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/qcow2.go +index fc40edd..96afabd 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/qcow2.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/qcow2.go +@@ -1,11 +1,15 @@ + package rhel8 + + import ( ++ "os" ++ + "github.com/osbuild/images/internal/common" ++ "github.com/osbuild/images/pkg/customizations/fsnode" + "github.com/osbuild/images/pkg/customizations/subscription" + "github.com/osbuild/images/pkg/datasizes" + "github.com/osbuild/images/pkg/distro" + "github.com/osbuild/images/pkg/distro/rhel" ++ "github.com/osbuild/images/pkg/osbuild" + "github.com/osbuild/images/pkg/rpmmd" + ) + +@@ -32,13 +36,13 @@ func mkQcow2ImgType(rd *rhel.Distribution) *rhel.ImageType { + return it + } + +-func mkOCIImgType(rd *rhel.Distribution) *rhel.ImageType { ++func mkOCIImgType(rd *rhel.Distribution, isX86_64 bool) *rhel.ImageType { + it := rhel.NewImageType( + "oci", + "disk.qcow2", + "application/x-qemu-disk", + map[string]rhel.PackageSetFunc{ +- rhel.OSPkgsKey: qcow2CommonPackageSet, ++ rhel.OSPkgsKey: OCIqcow2CommonPackageSet, + }, + rhel.DiskImage, + []string{"build"}, +@@ -46,8 +50,23 @@ func mkOCIImgType(rd *rhel.Distribution) *rhel.ImageType { + []string{"qcow2"}, + ) + +- it.DefaultImageConfig = qcowImageConfig(rd) +- it.KernelOptions = "console=tty0 console=ttyS0,115200n8 no_timer_check net.ifnames=0 crashkernel=auto" ++ it.DefaultImageConfig = &distro.ImageConfig{ ++ DefaultTarget: common.ToPtr("multi-user.target"), ++ Hostonly: common.ToPtr(true), ++ SELinuxForceRelabel: common.ToPtr(true), ++ Files: []*fsnode.File{earlySetupFile(isX86_64)}, ++ EnabledServices: []string{"oci-repo-installer.service"}, ++ SystemdUnitCreate: []*osbuild.SystemdUnitCreateStageOptions { ++ ociRepoServiceInstaller(), ++ }, ++ } ++ ++ if isX86_64 { ++ it.KernelOptions = "console=tty0 console=ttyS0,115200n8 no_timer_check rd.net.timeout.dhcp=10 rd.net.timeout.carrier=5 netroot=iscsi:169.254.0.2:::1:iqn.2015-02.oracle.boot:uefi rd.iscsi.param=node.session.timeo.replacement_timeout=6000 net.ifnames=1 nvme_core.shutdown_timeout=10 ipmi_si.tryacpi=0 ipmi_si.trydmi=0 libiscsi.debug_libiscsi_eh=1 loglevel=4 crash_kexec_post_notifiers" ++ } else { ++ it.KernelOptions = "ro crashkernel=auto LANG=en_US.UTF-8 console=ttyAMA0 console=ttyAMA0,115200 rd.net.timeout.carrier=5 netroot=iscsi:169.254.0.2:::1:iqn.2015-02.oracle.boot:uefi rd.iscsi.param=node.session.timeo.replacement_timeout=6000 net.ifnames=1 nvme_core.shutdown_timeout=10 ipmi_si.tryacpi=0 ipmi_si.trydmi=0 libiscsi.debug_libiscsi_eh=1 loglevel=4 ip=dhcp,dhcp6 rd.net.timeout.dhcp=10 crash_kexec_post_notifiers" ++ } ++ + it.Bootable = true + it.DefaultSize = 10 * datasizes.GibiByte + it.BasePartitionTables = defaultBasePartitionTables +@@ -55,6 +74,104 @@ func mkOCIImgType(rd *rhel.Distribution) *rhel.ImageType { + return it + } + ++func earlySetupFile(isX86_64 bool) *fsnode.File { ++ arch := "aarch64" ++ if isX86_64 { ++ arch = "x86_64" ++ } ++ file, err := fsnode.NewFile("/sbin/early-oci-setup", common.ToPtr(os.FileMode(0700)), "root", "root", []byte(`#!/usr/bin/env bash ++arch=` + arch + ` ++ ++imds_domain=$(curl -H "Authorization:Bearer Oracle" -sfm 25 http://169.254.169.254/opc/v2/instance/ 2>/dev/null | jq -r '.regionInfo.realmDomainComponent') ++imds_region=$(curl -H "Authorization:Bearer Oracle" -sfm 25 http://169.254.169.254/opc/v2/instance/ 2>/dev/null | jq -r '.regionInfo.regionIdentifier') ++imds_realm=$(curl -H "Authorization:Bearer Oracle" -sfm 25 http://169.254.169.254/opc/v2/instance/ 2>/dev/null | jq -r '.regionInfo.realmKey') ++ ++function retry_command() { ++ ++ retry_attempts=5 ++ retry_interval_sec=2 ++ while [[ "$retry_attempts" -gt 0 ]]; do ++ command_success=true ++ "$@" || { command_success=false; } ++ if [[ "$command_success" == false ]]; then ++ (( retry_attempts-- )) ++ logger -t earlyocisetup "Error occurred running command $@. Will retry in $retry_interval_sec seconds" ++ sleep $retry_interval_sec ++ else ++ break ++ fi ++ done ++ ++ if [[ "$command_success" == false ]]; then ++ logger -t earlyocisetup "ERROR: failed to execute command '$@' (Retried $retry_attempts times)" ++ exit 1 ++ fi ++} ++ ++if [[ -n "$imds_realm" ]]; then ++ domain="oci.$imds_domain" ++ region="$imds_region" ++ ociregion=".$region" ++ reponame="oci_install" ++ repourl="https://yum$ociregion.$domain/repo/OracleLinux/OL8/oci/included/$arch/" ++else ++ logger -t earlyocisetup 'Running out of OCI region' ++ exit 1 ++fi ++ ++echo $region > /etc/dnf/vars/region ++echo $domain > /etc/dnf/vars/ocidomain ++echo $ociregion > /etc/dnf/vars/ociregion ++ ++cat < /etc/yum.repos.d/oci-install.repo ++[$reponame] ++name=Install OCI repo ($arch) ++baseurl=$repourl ++gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle ++gpgcheck=1 ++enabled=1 ++EOF ++ ++retry_command yum install -y oci-included-release-el8 ++retry_command yum install -y oci-linux-config ++retry_command yum install -y python36-oci-sdk ++ ++if $(yum repolist |grep -q "$reponame"); then ++ rm -f /etc/yum.repos.d/oci-install.repo ++fi ++ ++mkdir -p /var/lib/oci-repo-installer ++touch /var/lib/oci-repo-installer/oci-repo-installed ++ ++rm -f /usr/lib/systemd/system/oci-repo-installer.service /sbin/early-oci-setup ++`)) ++ if err != nil { ++ panic(err) ++ } ++ return file ++} ++ ++func ociRepoServiceInstaller() *osbuild.SystemdUnitCreateStageOptions { ++ return &osbuild.SystemdUnitCreateStageOptions{ ++ Filename: "oci-repo-installer.service", ++ Config: osbuild.SystemdUnit{ ++ Unit: &osbuild.UnitSection{ ++ Description: "First-boot service for installing oci repository once OCI image has booted", ++ ConditionPathExists: []string{"!/var/lib/oci-repo-installer/oci-repo-installed"}, ++ Requires: []string{"network-online.target"}, ++ }, ++ Service: &osbuild.ServiceSection{ ++ Type: osbuild.OneshotServiceType, ++ RemainAfterExit: false, ++ ExecStart: []string{"/usr/bin/bash /sbin/early-oci-setup"}, ++ }, ++ Install: &osbuild.InstallSection{ ++ WantedBy: []string{"network-online.target"}, ++ }, ++ }, ++ } ++} ++ + func mkOpenstackImgType() *rhel.ImageType { + it := rhel.NewImageType( + "openstack", +@@ -77,6 +194,82 @@ func mkOpenstackImgType() *rhel.ImageType { + return it + } + ++func OCIqcow2CommonPackageSet(t *rhel.ImageType) rpmmd.PackageSet { ++ ps := rpmmd.PackageSet{ ++ Include: []string{ ++ "@core", ++ "authselect-compat", ++ "iscsi-initiator-utils", ++ "chrony", ++ "cloud-init", ++ "cloud-utils-growpart", ++ "cockpit-system", ++ "cockpit-ws", ++ "dhcp-client", ++ "dnf", ++ "dnf-utils", ++ "dosfstools", ++ "dracut-norescue", ++ "net-tools", ++ "NetworkManager", ++ "nfs-utils", ++ "oddjob", ++ "oddjob-mkhomedir", ++ "psmisc", ++ "python3-jsonschema", ++ "qemu-guest-agent", ++ "redhat-release", ++ "rsync", ++ "tar", ++ "tcpdump", ++ "yum", ++ "jq", ++ }, ++ Exclude: []string{ ++ "aic94xx-firmware", ++ "alsa-firmware", ++ "alsa-lib", ++ "alsa-tools-firmware", ++ "biosdevname", ++ "dracut-config-rescue", ++ "fedora-release", ++ "fedora-repos", ++ "firewalld", ++ "fwupd", ++ "iprutils", ++ "ivtv-firmware", ++ "iwl1000-firmware", ++ "iwl100-firmware", ++ "iwl105-firmware", ++ "iwl135-firmware", ++ "iwl2000-firmware", ++ "iwl2030-firmware", ++ "iwl3160-firmware", ++ "iwl3945-firmware", ++ "iwl4965-firmware", ++ "iwl5000-firmware", ++ "iwl5150-firmware", ++ "iwl6000-firmware", ++ "iwl6000g2a-firmware", ++ "iwl6000g2b-firmware", ++ "iwl6050-firmware", ++ "iwl7260-firmware", ++ "langpacks-*", ++ "langpacks-en", ++ "langpacks-en", ++ "libertas-sd8686-firmware", ++ "libertas-sd8787-firmware", ++ "libertas-usb8388-firmware", ++ "nss", ++ "plymouth", ++ "rng-tools", ++ "udisks2", ++ }, ++ }.Append(distroSpecificPackageSet(t)) ++ ++ return ps ++} ++ + func qcow2CommonPackageSet(t *rhel.ImageType) rpmmd.PackageSet { + ps := rpmmd.PackageSet{ + Include: []string{ +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/distro.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/distro.go +index 6745702..180dab4 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/distro.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/distro.go +@@ -100,7 +100,7 @@ func newDistro(name string, major, minor int) *rhel.Distribution { + }, + }, + mkQcow2ImgType(rd), +- mkOCIImgType(rd), ++ mkOCIImgType(rd, true), + ) + + +@@ -123,6 +123,7 @@ func newDistro(name string, major, minor int) *rhel.Distribution { + }, + }, + mkQcow2ImgType(rd), ++ mkOCIImgType(rd, false), + ) + + ppc64le.AddImageTypes( +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/qcow2.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/qcow2.go +index 20a8022..8e239b2 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/qcow2.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/qcow2.go +@@ -1,11 +1,15 @@ + package rhel9 + + import ( ++ "os" ++ + "github.com/osbuild/images/internal/common" ++ "github.com/osbuild/images/pkg/customizations/fsnode" + "github.com/osbuild/images/pkg/customizations/subscription" + "github.com/osbuild/images/pkg/datasizes" + "github.com/osbuild/images/pkg/distro" + "github.com/osbuild/images/pkg/distro/rhel" ++ "github.com/osbuild/images/pkg/osbuild" + "github.com/osbuild/images/pkg/rpmmd" + ) + +@@ -32,13 +36,13 @@ func mkQcow2ImgType(d *rhel.Distribution) *rhel.ImageType { + return it + } + +-func mkOCIImgType(d *rhel.Distribution) *rhel.ImageType { ++func mkOCIImgType(d *rhel.Distribution, isX86_64 bool) *rhel.ImageType { + it := rhel.NewImageType( + "oci", + "disk.qcow2", + "application/x-qemu-disk", + map[string]rhel.PackageSetFunc{ +- rhel.OSPkgsKey: qcow2CommonPackageSet, ++ rhel.OSPkgsKey: OCIqcow2CommonPackageSet, + }, + rhel.DiskImage, + []string{"build"}, +@@ -46,8 +50,23 @@ func mkOCIImgType(d *rhel.Distribution) *rhel.ImageType { + []string{"qcow2"}, + ) + +- it.DefaultImageConfig = qcowImageConfig(d) +- it.KernelOptions = "console=tty0 console=ttyS0,115200n8 no_timer_check net.ifnames=0" ++ it.DefaultImageConfig = &distro.ImageConfig{ ++ DefaultTarget: common.ToPtr("multi-user.target"), ++ Hostonly: common.ToPtr(true), ++ SELinuxForceRelabel: common.ToPtr(true), ++ Files: []*fsnode.File{earlySetupFile(isX86_64)}, ++ EnabledServices: []string{"oci-repo-installer.service"}, ++ SystemdUnitCreate: []*osbuild.SystemdUnitCreateStageOptions { ++ ociRepoServiceInstaller(), ++ }, ++ } ++ ++ if isX86_64 { ++ it.KernelOptions = "console=tty0 console=ttyS0,115200n8 no_timer_check rd.net.timeout.dhcp=10 rd.net.timeout.carrier=5 netroot=iscsi:169.254.0.2:::1:iqn.2015-02.oracle.boot:uefi rd.iscsi.param=node.session.timeo.replacement_timeout=6000 net.ifnames=1 nvme_core.shutdown_timeout=10 ipmi_si.tryacpi=0 ipmi_si.trydmi=0 libiscsi.debug_libiscsi_eh=1 loglevel=4 crash_kexec_post_notifiers" ++ } else { ++ it.KernelOptions = "ro crashkernel=auto LANG=en_US.UTF-8 console=ttyAMA0 console=ttyAMA0,115200 rd.net.timeout.carrier=5 netroot=iscsi:169.254.0.2:::1:iqn.2015-02.oracle.boot:uefi rd.iscsi.param=node.session.timeo.replacement_timeout=6000 net.ifnames=1 nvme_core.shutdown_timeout=10 ipmi_si.tryacpi=0 ipmi_si.trydmi=0 libiscsi.debug_libiscsi_eh=1 loglevel=4 ip=dhcp,dhcp6 rd.net.timeout.dhcp=10 crash_kexec_post_notifiers" ++ } ++ + it.DefaultSize = 10 * datasizes.GibiByte + it.Bootable = true + it.BasePartitionTables = defaultBasePartitionTables +@@ -55,6 +74,105 @@ func mkOCIImgType(d *rhel.Distribution) *rhel.ImageType { + return it + } + ++func earlySetupFile(isX86_64 bool) *fsnode.File { ++ arch := "aarch64" ++ if isX86_64 { ++ arch = "x86_64" ++ } ++ file, err := fsnode.NewFile("/sbin/early-oci-setup", common.ToPtr(os.FileMode(0700)), "root", "root", []byte(`#!/usr/bin/env bash ++arch=` + arch + ` ++ ++imds_domain=$(curl -H "Authorization:Bearer Oracle" -sfm 25 http://169.254.169.254/opc/v2/instance/ 2>/dev/null | jq -r '.regionInfo.realmDomainComponent') ++imds_region=$(curl -H "Authorization:Bearer Oracle" -sfm 25 http://169.254.169.254/opc/v2/instance/ 2>/dev/null | jq -r '.regionInfo.regionIdentifier') ++imds_realm=$(curl -H "Authorization:Bearer Oracle" -sfm 25 http://169.254.169.254/opc/v2/instance/ 2>/dev/null | jq -r '.regionInfo.realmKey') ++ ++function retry_command() { ++ ++ retry_attempts=5 ++ retry_interval_sec=2 ++ while [[ "$retry_attempts" -gt 0 ]]; do ++ command_success=true ++ "$@" || { command_success=false; } ++ if [[ "$command_success" == false ]]; then ++ (( retry_attempts-- )) ++ logger -t earlyocisetup "Error occurred running command $@. Will retry in $retry_interval_sec seconds" ++ sleep $retry_interval_sec ++ else ++ break ++ fi ++ done ++ ++ if [[ "$command_success" == false ]]; then ++ logger -t earlyocisetup "ERROR: failed to execute command '$@' (Retried $retry_attempts times)" ++ exit 1 ++ fi ++} ++ ++if [[ -n "$imds_realm" ]]; then ++ domain="oci.$imds_domain" ++ region="$imds_region" ++ ociregion=".$region" ++ reponame="oci_install" ++ repourl="https://yum$ociregion.$domain/repo/OracleLinux/OL9/oci/included/$arch/" ++else ++ logger -t earlyocisetup 'Running out of OCI region' ++ exit 1 ++fi ++ ++echo $region > /etc/dnf/vars/region ++echo $domain > /etc/dnf/vars/ocidomain ++echo $ociregion > /etc/dnf/vars/ociregion ++ ++cat < /etc/yum.repos.d/oci-install.repo ++[$reponame] ++name=Install OCI repo ($arch) ++baseurl=$repourl ++gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle ++gpgcheck=1 ++enabled=1 ++EOF ++ ++retry_command yum install -y oci-included-release-el9 ++retry_command yum install -y oci-linux-config ++retry_command yum install -y python39-oci-sdk ++ ++if $(yum repolist |grep -q "$reponame"); then ++ rm -f /etc/yum.repos.d/oci-install.repo ++fi ++ ++mkdir -p /var/lib/oci-repo-installer ++touch /var/lib/oci-repo-installer/oci-repo-installed ++ ++rm -f /usr/lib/systemd/system/oci-repo-installer.service /sbin/early-oci-setup ++ ++`)) ++ if err != nil { ++ panic(err) ++ } ++ return file ++} ++ ++func ociRepoServiceInstaller() *osbuild.SystemdUnitCreateStageOptions { ++ return &osbuild.SystemdUnitCreateStageOptions{ ++ Filename: "oci-repo-installer.service", ++ Config: osbuild.SystemdUnit{ ++ Unit: &osbuild.UnitSection{ ++ Description: "First-boot service for installing oci repository once OCI image has booted", ++ ConditionPathExists: []string{"!/var/lib/oci-repo-installer/oci-repo-installed"}, ++ Requires: []string{"network-online.target"}, ++ }, ++ Service: &osbuild.ServiceSection{ ++ Type: osbuild.OneshotServiceType, ++ RemainAfterExit: false, ++ ExecStart: []string{"/usr/bin/bash /sbin/early-oci-setup"}, ++ }, ++ Install: &osbuild.InstallSection{ ++ WantedBy: []string{"network-online.target"}, ++ }, ++ }, ++ } ++} ++ + func mkOpenstackImgType() *rhel.ImageType { + it := rhel.NewImageType( + "openstack", +@@ -80,6 +198,77 @@ func mkOpenstackImgType() *rhel.ImageType { + return it + } + ++func OCIqcow2CommonPackageSet(t *rhel.ImageType) rpmmd.PackageSet { ++ ps := rpmmd.PackageSet{ ++ Include: []string{ ++ "@core", ++ "authselect-compat", ++ "iscsi-initiator-utils", ++ "chrony", ++ "cloud-init", ++ "cloud-utils-growpart", ++ "cockpit-system", ++ "cockpit-ws", ++ "dnf-utils", ++ "dosfstools", ++ "nfs-utils", ++ "oddjob", ++ "oddjob-mkhomedir", ++ "psmisc", ++ "python3-jsonschema", ++ "qemu-guest-agent", ++ "redhat-release", ++ "rsync", ++ "tar", ++ "tuned", ++ "tcpdump", ++ }, ++ Exclude: []string{ ++ "aic94xx-firmware", ++ "alsa-firmware", ++ "alsa-lib", ++ "alsa-tools-firmware", ++ "biosdevname", ++ "dnf-plugin-spacewalk", ++ "dracut-config-rescue", ++ "fedora-release", ++ "fedora-repos", ++ "firewalld", ++ "iprutils", ++ "ivtv-firmware", ++ "iwl1000-firmware", ++ "iwl100-firmware", ++ "iwl105-firmware", ++ "iwl135-firmware", ++ "iwl2000-firmware", ++ "iwl2030-firmware", ++ "iwl3160-firmware", ++ "iwl3945-firmware", ++ "iwl4965-firmware", ++ "iwl5000-firmware", ++ "iwl5150-firmware", ++ "iwl6000-firmware", ++ "iwl6000g2a-firmware", ++ "iwl6000g2b-firmware", ++ "iwl6050-firmware", ++ "iwl7260-firmware", ++ "langpacks-*", ++ "langpacks-en", ++ "libertas-sd8787-firmware", ++ "nss", ++ "plymouth", ++ "rhn-check", ++ "rhn-setup", ++ "rhnsd", ++ "dnf-plugin-spacewalk", ++ "rng-tools", ++ "udisks2", ++ }, ++ }.Append(distroSpecificPackageSet(t)) ++ ++ return ps ++} ++ + func qcow2CommonPackageSet(t *rhel.ImageType) rpmmd.PackageSet { + ps := rpmmd.PackageSet{ + Include: []string{ +diff --git a/vendor/github.com/osbuild/images/pkg/manifest/os.go b/vendor/github.com/osbuild/images/pkg/manifest/os.go +index 5b5081c..d0b6944 100644 +--- a/vendor/github.com/osbuild/images/pkg/manifest/os.go ++++ b/vendor/github.com/osbuild/images/pkg/manifest/os.go +@@ -107,6 +107,7 @@ type OSCustomizations struct { + Modprobe []*osbuild.ModprobeStageOptions + DracutConf []*osbuild.DracutConfStageOptions + SystemdUnit []*osbuild.SystemdUnitStageOptions ++ SystemdUnitCreate []*osbuild.SystemdUnitCreateStageOptions + Authselect *osbuild.AuthselectStageOptions + SELinuxConfig *osbuild.SELinuxConfigStageOptions + Tuned *osbuild.TunedStageOptions +@@ -144,6 +145,7 @@ type OSCustomizations struct { + CACerts []string + + FIPS bool ++ Hostonly bool + + // NoBLS configures the image bootloader with traditional menu entries + // instead of BLS. Required for legacy systems like RHEL 7. +@@ -541,6 +543,10 @@ func (p *OS) serialize() osbuild.Pipeline { + pipeline.AddStage(osbuild.NewSystemdUnitStage(systemdUnitConfig)) + } + ++ for _, systemdUnitCreateConfig := range p.SystemdUnitCreate { ++ pipeline.AddStage(osbuild.NewSystemdUnitCreateStage(systemdUnitCreateConfig)) ++ } ++ + if p.Authselect != nil { + pipeline.AddStage(osbuild.NewAuthselectStage(p.Authselect)) + } +@@ -620,6 +626,14 @@ func (p *OS) serialize() osbuild.Pipeline { + pipeline.AddStage(osbuild.NewUdevRulesStage(p.UdevRules)) + } + ++ if p.Hostonly { ++ pipeline.AddStage(osbuild.NewDracutStage(&osbuild.DracutStageOptions{ ++ Kernel: []string{p.kernelVer}, ++ EarlyMicrocode: true, ++ Reproducible: true, ++ })) ++ } ++ + if pt := p.PartitionTable; pt != nil { + kernelOptions := osbuild.GenImageKernelOptions(p.PartitionTable) + kernelOptions = append(kernelOptions, p.KernelOptionsAppend...) +-- +2.47.1 + diff --git a/1006-Increase-default-boot-size-to-1GB.patch b/1006-Increase-default-boot-size-to-1GB.patch new file mode 100644 index 0000000..b6bcd6f --- /dev/null +++ b/1006-Increase-default-boot-size-to-1GB.patch @@ -0,0 +1,36 @@ +From 9e0328812d5d6a741606b329ad7406ad74563258 Mon Sep 17 00:00:00 2001 +From: Josue David Hernandez Gutierrez +Date: Wed, 19 Feb 2025 21:45:41 +0000 +Subject: [PATCH 6/9] Increase default /boot size to 1GB + +Signed-off-by: Josue David Hernandez Gutierrez +Signed-off-by: Alex Burmashev size { +@@ -718,7 +718,7 @@ func (pt *PartitionTable) ensureLVM() error { + // we need a /boot partition to boot LVM, ensure one exists + bootPath := entityPath(pt, "/boot") + if bootPath == nil { +- _, err := pt.CreateMountpoint("/boot", 512*datasizes.MiB) ++ _, err := pt.CreateMountpoint("/boot", 1024*datasizes.MiB) + + if err != nil { + return err +-- +2.47.1 + diff --git a/1007-Support-using-repository-definitions-with-OCI-variab.patch b/1007-Support-using-repository-definitions-with-OCI-variab.patch new file mode 100644 index 0000000..22b7d29 --- /dev/null +++ b/1007-Support-using-repository-definitions-with-OCI-variab.patch @@ -0,0 +1,84 @@ +From 79c1798d2fe3e93a6d43222c3f5ec1d34f62179b Mon Sep 17 00:00:00 2001 +From: Josue David Hernandez Gutierrez +Date: Wed, 19 Feb 2025 21:46:48 +0000 +Subject: [PATCH 7/9] Support using repository definitions with OCI variables. + +We can use repository definitions in a format, more similar to generic Oracle repositories +with DNF vars. +Essentially in osbuild-composer log when parsing repos, we at first parse variables, then process +original repo file in memory and replace vars with their values and write modified repo to buffer. +After that we use buffer to actually populate repository data. + +If we have failed to read ocidomain, which is the key variable, we fallback to values to generic public repos. + +Signed-off-by: Alex Burmashev +Signed-off-by: Josue David Hernandez Gutierrez +--- + .../osbuild/images/pkg/rpmmd/repository.go | 42 ++++++++++++++++++- + 1 file changed, 41 insertions(+), 1 deletion(-) + +diff --git a/vendor/github.com/osbuild/images/pkg/rpmmd/repository.go b/vendor/github.com/osbuild/images/pkg/rpmmd/repository.go +index e897a0a..89af861 100644 +--- a/vendor/github.com/osbuild/images/pkg/rpmmd/repository.go ++++ b/vendor/github.com/osbuild/images/pkg/rpmmd/repository.go +@@ -10,6 +10,8 @@ import ( + "strings" + "time" + ++ "bufio" ++ "bytes" + "github.com/gobwas/glob" + ) + +@@ -239,9 +241,47 @@ func LoadRepositoriesFromFile(filename string) (map[string][]RepoConfig, error) + func LoadRepositoriesFromReader(r io.Reader) (map[string][]RepoConfig, error) { + var reposMap map[string][]repository + repoConfigs := make(map[string][]RepoConfig) ++ var ocidomain, ociregion, region []byte + +- err := json.NewDecoder(r).Decode(&reposMap) ++ var OCIlines []string ++ ocidomain = []byte("oracle.com") ++ ociregion = []byte("") ++ region = []byte("") ++ ++ ociregion, err := os.ReadFile("/etc/dnf/vars/ociregion") ++ if err != nil { ++ fmt.Println("Error while reading file: /etc/dnf/vars/ociregion") ++ } ++ region, err = os.ReadFile("/etc/dnf/vars/region") ++ if err != nil { ++ fmt.Println("Error while reading file: /etc/dnf/vars/region") ++ } ++ ocidomain, err = os.ReadFile("/etc/dnf/vars/ocidomain") ++ if err != nil { ++ fmt.Println("Error while reading file: /etc/dnf/vars/ocidomain") ++ } ++ if ocidomain == nil { ++ ocidomain = []byte("oracle.com") ++ ociregion = []byte("") ++ } ++ scanner := bufio.NewScanner(r) ++ OCIreplacer := strings.NewReplacer("$ocidomain", strings.TrimSuffix(string(ocidomain), "\n"), "$ociregion", strings.TrimSuffix(string(ociregion), "\n"), "$region", strings.TrimSuffix(string(region), "\n")) ++ for scanner.Scan() { ++ line := scanner.Text() ++ OCIline := OCIreplacer.Replace(line) ++ OCIlines = append(OCIlines, OCIline) ++ continue ++ } ++ if err := scanner.Err(); err != nil { ++ panic(err) ++ } ++ fOCI := strings.Join(OCIlines, "\n") ++ ++ buf := new(bytes.Buffer) ++ fmt.Fprint(buf, fOCI) ++ err = json.NewDecoder(buf).Decode(&reposMap) + if err != nil { ++ fmt.Println("Error parsing the repo") + return nil, err + } + +-- +2.47.1 + diff --git a/1008-Update-Oracle-repositories-to-contain-OCI-variables.patch b/1008-Update-Oracle-repositories-to-contain-OCI-variables.patch new file mode 100644 index 0000000..7565b92 --- /dev/null +++ b/1008-Update-Oracle-repositories-to-contain-OCI-variables.patch @@ -0,0 +1,176 @@ +From b447fe352e9c821fe3ac82d6c9e2bb762f2eeac1 Mon Sep 17 00:00:00 2001 +From: Josue David Hernandez Gutierrez +Date: Thu, 31 Oct 2024 02:08:11 +0000 +Subject: [PATCH 08/11] Update Oracle repositories to contain OCI variables + +We now support oci variables for osbuild-composer, so let's actually use them. + +Signed-off-by: Alex Burmashev +Signed-off-by: Josue David Hernandez Gutierrez +--- + repositories/ol-100.json | 12 ++++++------ + repositories/ol-810.json | 12 ++++++------ + repositories/ol-95.json | 12 ++++++------ + 3 files changed, 18 insertions(+), 18 deletions(-) + +diff --git a/repositories/ol-100.json b/repositories/ol-100.json +index 45ac9c0..9f1e82c 100644 +--- a/repositories/ol-100.json ++++ b/repositories/ol-100.json +@@ -2,21 +2,21 @@ + "aarch64": [ + { + "name": "baseos", +- "baseurl": "https://yum-qa.oracle.com/repo/OracleLinux/OL10/baseos/latest/aarch64", ++ "baseurl": "https://yum$ociregion.$ocidomain/repo/OracleLinux/OL10/baseos/latest/aarch64", + "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\n4QrtLe//99hXPcFVanIxgkdslnyYf4fjdbdlmNY=\n=xpaH\n-----END PGP PUBLIC KEY BLOCK-----", + "check_gpg": false, + "rhsm": false + }, + { + "name": "uekr8", +- "baseurl": "https://yum-qa.oracle.com/repo/OracleLinux/OL10/UEKR8/aarch64/", ++ "baseurl": "https://yum$ociregion.$ocidomain/repo/OracleLinux/OL10/UEKR8/aarch64/", + "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\n=0hyN\n-----END PGP PUBLIC KEY BLOCK-----", + "check_gpg": false, + "rhsm": false + }, + { + "name": "appstream", +- "baseurl": "https://yum-qa.oracle.com/repo/OracleLinux/OL10/appstream/aarch64", ++ "baseurl": "https://yum$ociregion.$ocidomain/repo/OracleLinux/OL10/appstream/aarch64", + "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\n4QrtLe//99hXPcFVanIxgkdslnyYf4fjdbdlmNY=\n=xpaH\n-----END PGP PUBLIC KEY BLOCK-----", + "check_gpg": false, + "rhsm": false +@@ -25,21 +25,21 @@ + "x86_64": [ + { + "name": "baseos", +- "baseurl": "https://yum-qa.oracle.com/repo/OracleLinux/OL10/baseos/latest/x86_64", ++ "baseurl": "https://yum$ociregion.$ocidomain/repo/OracleLinux/OL10/baseos/latest/x86_64", + "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\n4QrtLe//99hXPcFVanIxgkdslnyYf4fjdbdlmNY=\n=xpaH\n-----END PGP PUBLIC KEY BLOCK-----", + "check_gpg": false, + "rhsm": false + }, + { + "name": "uekr8", +- "baseurl": "https://yum-qa.oracle.com/repo/OracleLinux/OL10/UEKR8/x86_64/", ++ "baseurl": "https://yum$ociregion.$ocidomain/repo/OracleLinux/OL10/UEKR8/x86_64/", + "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\n=0hyN\n-----END PGP PUBLIC KEY BLOCK-----", + "check_gpg": false, + "rhsm": false + }, + { + "name": "appstream", +- "baseurl": "https://yum-qa.oracle.com/repo/OracleLinux/OL10/appstream/x86_64", ++ "baseurl": "https://yum$ociregion.$ocidomain/repo/OracleLinux/OL10/appstream/x86_64", + "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\n4QrtLe//99hXPcFVanIxgkdslnyYf4fjdbdlmNY=\n=xpaH\n-----END PGP PUBLIC KEY BLOCK-----", + "check_gpg": false, + "rhsm": false +diff --git a/repositories/ol-810.json b/repositories/ol-810.json +index a23b3c6..e8cffe7 100644 +--- a/repositories/ol-810.json ++++ b/repositories/ol-810.json +@@ -2,19 +2,19 @@ + "aarch64": [ + { + "name": "baseos", +- "baseurl": "https://yum.oracle.com/repo/OracleLinux/OL8/baseos/latest/aarch64", ++ "baseurl": "https://yum$ociregion.$ocidomain/repo/OracleLinux/OL8/baseos/latest/aarch64", + "check_gpg": false, + "rhsm": false + }, + { + "name": "uekr7", +- "baseurl": "https://yum.oracle.com/repo/OracleLinux/OL8/UEKR7/aarch64/", ++ "baseurl": "https://yum$ociregion.$ocidomain/repo/OracleLinux/OL8/UEKR7/aarch64/", + "check_gpg": false, + "rhsm": false + }, + { + "name": "appstream", +- "baseurl": "https://yum.oracle.com/repo/OracleLinux/OL8/appstream/aarch64", ++ "baseurl": "https://yum$ociregion.$ocidomain/repo/OracleLinux/OL8/appstream/aarch64", + "check_gpg": false, + "rhsm": false + } +@@ -22,19 +22,19 @@ + "x86_64": [ + { + "name": "baseos", +- "baseurl": "https://yum.oracle.com/repo/OracleLinux/OL8/baseos/latest/x86_64", ++ "baseurl": "https://yum$ociregion.$ocidomain/repo/OracleLinux/OL8/baseos/latest/x86_64", + "check_gpg": false, + "rhsm": false + }, + { + "name": "uekr7", +- "baseurl": "https://yum.oracle.com/repo/OracleLinux/OL8/UEKR7/x86_64/", ++ "baseurl": "https://yum$ociregion.$ocidomain/repo/OracleLinux/OL8/UEKR7/x86_64/", + "check_gpg": false, + "rhsm": false + }, + { + "name": "appstream", +- "baseurl": "https://yum.oracle.com/repo/OracleLinux/OL8/appstream/x86_64", ++ "baseurl": "https://yum$ociregion.$ocidomain/repo/OracleLinux/OL8/appstream/x86_64", + "check_gpg": false, + "rhsm": false + } +diff --git a/repositories/ol-95.json b/repositories/ol-95.json +index 08b877e..df1c369 100644 +--- a/repositories/ol-95.json ++++ b/repositories/ol-95.json +@@ -2,21 +2,21 @@ + "aarch64": [ + { + "name": "baseos", +- "baseurl": "https://yum.oracle.com/repo/OracleLinux/OL9/baseos/latest/aarch64", ++ "baseurl": "https://yum$ociregion.$ocidomain/repo/OracleLinux/OL9/baseos/latest/aarch64", + "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\n4QrtLe//99hXPcFVanIxgkdslnyYf4fjdbdlmNY=\n=xpaH\n-----END PGP PUBLIC KEY BLOCK-----", + "check_gpg": true, + "rhsm": false + }, + { + "name": "uekr7", +- "baseurl": "https://yum.oracle.com/repo/OracleLinux/OL9/UEKR7/aarch64/", ++ "baseurl": "https://yum$ociregion.$ocidomain/repo/OracleLinux/OL9/UEKR7/aarch64/", + "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\n4QrtLe//99hXPcFVanIxgkdslnyYf4fjdbdlmNY=\n=xpaH\n-----END PGP PUBLIC KEY BLOCK-----", + "check_gpg": true, + "rhsm": false + }, + { + "name": "appstream", +- "baseurl": "https://yum.oracle.com/repo/OracleLinux/OL9/appstream/aarch64", ++ "baseurl": "https://yum$ociregion.$ocidomain/repo/OracleLinux/OL9/appstream/aarch64", + "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\n4QrtLe//99hXPcFVanIxgkdslnyYf4fjdbdlmNY=\n=xpaH\n-----END PGP PUBLIC KEY BLOCK-----", + "check_gpg": true, + "rhsm": false +@@ -25,21 +25,21 @@ + "x86_64": [ + { + "name": "baseos", +- "baseurl": "https://yum.oracle.com/repo/OracleLinux/OL9/baseos/latest/x86_64", ++ "baseurl": "https://yum$ociregion.$ocidomain/repo/OracleLinux/OL9/baseos/latest/x86_64", + "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\n4QrtLe//99hXPcFVanIxgkdslnyYf4fjdbdlmNY=\n=xpaH\n-----END PGP PUBLIC KEY BLOCK-----", + "check_gpg": true, + "rhsm": false + }, + { + "name": "uekr7", +- "baseurl": "https://yum.oracle.com/repo/OracleLinux/OL9/UEKR7/x86_64/", ++ "baseurl": "https://yum$ociregion.$ocidomain/repo/OracleLinux/OL9/UEKR7/x86_64/", + "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\n4QrtLe//99hXPcFVanIxgkdslnyYf4fjdbdlmNY=\n=xpaH\n-----END PGP PUBLIC KEY BLOCK-----", + "check_gpg": true, + "rhsm": false + }, + { + "name": "appstream", +- "baseurl": "https://yum.oracle.com/repo/OracleLinux/OL9/appstream/x86_64", ++ "baseurl": "https://yum$ociregion.$ocidomain/repo/OracleLinux/OL9/appstream/x86_64", + "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\n4QrtLe//99hXPcFVanIxgkdslnyYf4fjdbdlmNY=\n=xpaH\n-----END PGP PUBLIC KEY BLOCK-----", + "check_gpg": true, + "rhsm": false +-- +2.47.1 + diff --git a/1009-Simplify-repo-name-removing-minor-versions.patch b/1009-Simplify-repo-name-removing-minor-versions.patch new file mode 100644 index 0000000..41b1825 --- /dev/null +++ b/1009-Simplify-repo-name-removing-minor-versions.patch @@ -0,0 +1,143 @@ +From 874ec26a792ed1786fce2d7f2dfdfcb6c5c12055 Mon Sep 17 00:00:00 2001 +From: Josue David Hernandez Gutierrez +Date: Fri, 15 Nov 2024 19:04:22 +0000 +Subject: [PATCH 9/9] Simplify repo name removing minor versions + +Rename ol-810.json to ol-8.json and ol-95.json to ol-9.json + +Signed-off-by: Josue David Hernandez Gutierrez +Reviewed-by: Alex Burmashev +--- + repositories/{ol-100.json => ol-10.json} | 0 + repositories/{ol-810.json => ol-8.json} | 0 + repositories/{ol-95.json => ol-9.json} | 0 + .../osbuild/images/pkg/distro/rhel/distribution.go | 4 ++-- + .../osbuild/images/pkg/distro/rhel/rhel10/distro.go | 6 +++--- + .../osbuild/images/pkg/distro/rhel/rhel8/distro.go | 6 +++--- + .../osbuild/images/pkg/distro/rhel/rhel9/distro.go | 6 +++--- + 7 files changed, 11 insertions(+), 11 deletions(-) + rename repositories/{ol-100.json => ol-10.json} (100%) + rename repositories/{ol-810.json => ol-8.json} (100%) + rename repositories/{ol-95.json => ol-9.json} (100%) + +diff --git a/repositories/ol-100.json b/repositories/ol-10.json +similarity index 100% +rename from repositories/ol-100.json +rename to repositories/ol-10.json +diff --git a/repositories/ol-810.json b/repositories/ol-8.json +similarity index 100% +rename from repositories/ol-810.json +rename to repositories/ol-8.json +diff --git a/repositories/ol-95.json b/repositories/ol-9.json +similarity index 100% +rename from repositories/ol-95.json +rename to repositories/ol-9.json +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/distribution.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/distribution.go +index 55884e7..0fae314 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/distribution.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/distribution.go +@@ -144,9 +144,9 @@ func NewDistribution(name string, major, minor int) (*Distribution, error) { + } + case "ol": + rd = &Distribution{ +- name: fmt.Sprintf("ol-%d.%d", major, minor), ++ name: fmt.Sprintf("ol-%d", major), + product: "Oracle Linux", +- osVersion: fmt.Sprintf("%d.%d", major, minor), ++ osVersion: fmt.Sprintf("%d", major), + releaseVersion: fmt.Sprintf("%d", major), + modulePlatformID: fmt.Sprintf("platform:el%d", major), + vendor: "redhat", +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/distro.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/distro.go +index be9edcb..b7d4ead 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/distro.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/distro.go +@@ -40,14 +40,14 @@ var ( + func distroISOLabelFunc(t *rhel.ImageType) string { + const RHEL_ISO_LABEL = "RHEL-%s-%s-0-BaseOS-%s" + const CS_ISO_LABEL = "CentOS-Stream-%s-BaseOS-%s" +- const OL_ISO_LABEL = "OL-%s-%s-dvd-%s" ++ const OL_ISO_LABEL = "OL-%s-dvd-%s" + + if t.IsRHEL() { + osVer := strings.Split(t.Arch().Distro().OsVersion(), ".") + return fmt.Sprintf(RHEL_ISO_LABEL, osVer[0], osVer[1], t.Arch().Name()) + } else if t.Arch().Distro().Name() == "ol" { + osVer := strings.Split(t.Arch().Distro().OsVersion(), ".") +- return fmt.Sprintf(RHEL_ISO_LABEL, osVer[0], osVer[1], t.Arch().Name()) ++ return fmt.Sprintf(RHEL_ISO_LABEL, osVer[0], t.Arch().Name()) + } else { + return fmt.Sprintf(CS_ISO_LABEL, t.Arch().Distro().Releasever(), t.Arch().Name()) + } +@@ -258,7 +258,7 @@ func ParseID(idStr string) (*distro.ID, error) { + } + + // RHEL uses minor version +- if (id.Name == "rhel" || id.Name == "ol") && id.MinorVersion == -1 { ++ if id.Name == "rhel" && id.MinorVersion == -1 { + return nil, fmt.Errorf("rhel requires minor version, but got: %d", id.MinorVersion) + } + +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/distro.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/distro.go +index 3767cf1..07b138b 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/distro.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/distro.go +@@ -60,14 +60,14 @@ func defaultDistroImageConfig(d *rhel.Distribution) *distro.ImageConfig { + func distroISOLabelFunc(t *rhel.ImageType) string { + const RHEL_ISO_LABEL = "RHEL-%s-%s-0-BaseOS-%s" + const CS_ISO_LABEL = "CentOS-Stream-%s-%s-dvd" +- const OL_ISO_LABEL = "OL-%s-%s-dvd-%s" ++ const OL_ISO_LABEL = "OL-%s-dvd-%s" + + if t.IsRHEL() { + osVer := strings.Split(t.Arch().Distro().OsVersion(), ".") + return fmt.Sprintf(RHEL_ISO_LABEL, osVer[0], osVer[1], t.Arch().Name()) + }else if t.Arch().Distro().Name() == "ol" { + osVer := strings.Split(t.Arch().Distro().OsVersion(), ".") +- return fmt.Sprintf(RHEL_ISO_LABEL, osVer[0], osVer[1], t.Arch().Name()) ++ return fmt.Sprintf(RHEL_ISO_LABEL, osVer[0], t.Arch().Name()) + } else { + return fmt.Sprintf(CS_ISO_LABEL, t.Arch().Distro().Releasever(), t.Arch().Name()) + } +@@ -334,7 +334,7 @@ func ParseID(idStr string) (*distro.ID, error) { + } + + // RHEL uses minor version +- if (id.Name == "rhel" || id.Name == "ol") && id.MinorVersion == -1 { ++ if id.Name == "rhel" && id.MinorVersion == -1 { + return nil, fmt.Errorf("rhel requires minor version, but got: %d", id.MinorVersion) + } + +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/distro.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/distro.go +index 180dab4..3d8423e 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/distro.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/distro.go +@@ -43,14 +43,14 @@ var ( + func distroISOLabelFunc(t *rhel.ImageType) string { + const RHEL_ISO_LABEL = "RHEL-%s-%s-0-BaseOS-%s" + const CS_ISO_LABEL = "CentOS-Stream-%s-BaseOS-%s" +- const OL_ISO_LABEL = "OL-%s-%s-dvd-%s" ++ const OL_ISO_LABEL = "OL-%s-dvd-%s" + + if t.IsRHEL() { + osVer := strings.Split(t.Arch().Distro().OsVersion(), ".") + return fmt.Sprintf(RHEL_ISO_LABEL, osVer[0], osVer[1], t.Arch().Name()) + }else if t.Arch().Distro().Name() == "ol" { + osVer := strings.Split(t.Arch().Distro().OsVersion(), ".") +- return fmt.Sprintf(RHEL_ISO_LABEL, osVer[0], osVer[1], t.Arch().Name()) ++ return fmt.Sprintf(RHEL_ISO_LABEL, osVer[0], t.Arch().Name()) + } else { + return fmt.Sprintf(CS_ISO_LABEL, t.Arch().Distro().Releasever(), t.Arch().Name()) + } +@@ -294,7 +294,7 @@ func ParseID(idStr string) (*distro.ID, error) { + } + + // RHEL uses minor version +- if (id.Name == "rhel" || id.Name == "ol") && id.MinorVersion == -1 { ++ if id.Name == "rhel" && id.MinorVersion == -1 { + return nil, fmt.Errorf("rhel requires minor version, but got: %d", id.MinorVersion) + } + +-- +2.47.1 + diff --git a/1010-Oscap-customization-for-Oracle-Linux.patch b/1010-Oscap-customization-for-Oracle-Linux.patch new file mode 100644 index 0000000..ddac6e0 --- /dev/null +++ b/1010-Oscap-customization-for-Oracle-Linux.patch @@ -0,0 +1,105 @@ +From ffd22a8e6ed38da7d38e0e3cf1726f2ac5155021 Mon Sep 17 00:00:00 2001 +From: Josue David Hernandez Gutierrez +Date: Wed, 19 Feb 2025 22:32:46 +0000 +Subject: [PATCH] Oscap customization for Oracle Linux + +Signed-off-by: Josue David Hernandez Gutierrez +--- + .../images/pkg/customizations/oscap/oscap.go | 21 +++++++++++++------ + .../images/pkg/distro/rhel/rhel10/distro.go | 2 +- + .../images/pkg/distro/rhel/rhel8/distro.go | 2 +- + .../images/pkg/distro/rhel/rhel9/distro.go | 2 +- + 4 files changed, 18 insertions(+), 9 deletions(-) + +diff --git a/vendor/github.com/osbuild/images/pkg/customizations/oscap/oscap.go b/vendor/github.com/osbuild/images/pkg/customizations/oscap/oscap.go +index 5e1d8a3..9ab64fe 100644 +--- a/vendor/github.com/osbuild/images/pkg/customizations/oscap/oscap.go ++++ b/vendor/github.com/osbuild/images/pkg/customizations/oscap/oscap.go +@@ -41,6 +41,9 @@ const ( + defaultCentos8Datastream string = "/usr/share/xml/scap/ssg/content/ssg-centos8-ds.xml" + defaultCentos9Datastream string = "/usr/share/xml/scap/ssg/content/ssg-cs9-ds.xml" + defaultCentos10Datastream string = "/usr/share/xml/scap/ssg/content/ssg-cs10-ds.xml" ++ defaultOL8Datastream string = "/usr/share/xml/scap/ssg/content/ssg-ol8-ds.xml" ++ defaultOL9Datastream string = "/usr/share/xml/scap/ssg/content/ssg-ol9-ds.xml" ++ defaultOL10Datastream string = "/usr/share/xml/scap/ssg/content/ssg-ol10-ds.xml" + defaultRHEL8Datastream string = "/usr/share/xml/scap/ssg/content/ssg-rhel8-ds.xml" + defaultRHEL9Datastream string = "/usr/share/xml/scap/ssg/content/ssg-rhel9-ds.xml" + defaultRHEL10Datastream string = "/usr/share/xml/scap/ssg/content/ssg-rhel10-ds.xml" +@@ -127,23 +130,29 @@ func DefaultFedoraDatastream() string { + return defaultFedoraDatastream + } + +-func DefaultRHEL8Datastream(isRHEL bool) string { +- if isRHEL { ++func DefaultRHEL8Datastream(name string) string { ++ if strings.HasPrefix(name, "rhel") { + return defaultRHEL8Datastream ++ } else if strings.HasPrefix(name, "ol") { ++ return defaultOL8Datastream + } + return defaultCentos8Datastream + } + +-func DefaultRHEL9Datastream(isRHEL bool) string { +- if isRHEL { ++func DefaultRHEL9Datastream(name string) string { ++ if strings.HasPrefix(name, "rhel") { + return defaultRHEL9Datastream ++ } else if strings.HasPrefix(name, "ol") { ++ return defaultOL9Datastream + } + return defaultCentos9Datastream + } + +-func DefaultRHEL10Datastream(isRHEL bool) string { +- if isRHEL { ++func DefaultRHEL10Datastream(name string) string { ++ if strings.HasPrefix(name, "rhel") { + return defaultRHEL10Datastream ++ } else if strings.HasPrefix(name, "ol") { ++ return defaultOL10Datastream + } + return defaultCentos10Datastream + } +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/distro.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/distro.go +index b7d4ead..cefda05 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/distro.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel10/distro.go +@@ -69,7 +69,7 @@ func defaultDistroImageConfig(d *rhel.Distribution) *distro.ImageConfig { + }, + }, + }, +- DefaultOSCAPDatastream: common.ToPtr(oscap.DefaultRHEL10Datastream(d.IsRHEL())), ++ DefaultOSCAPDatastream: common.ToPtr(oscap.DefaultRHEL10Datastream(d.Name())), + } + } + +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/distro.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/distro.go +index 07b138b..5183903 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/distro.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel8/distro.go +@@ -53,7 +53,7 @@ func defaultDistroImageConfig(d *rhel.Distribution) *distro.ImageConfig { + }, + }, + KernelOptionsBootloader: common.ToPtr(true), +- DefaultOSCAPDatastream: common.ToPtr(oscap.DefaultRHEL8Datastream(d.IsRHEL())), ++ DefaultOSCAPDatastream: common.ToPtr(oscap.DefaultRHEL8Datastream(d.Name())), + } + } + +diff --git a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/distro.go b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/distro.go +index 3d8423e..e636d56 100644 +--- a/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/distro.go ++++ b/vendor/github.com/osbuild/images/pkg/distro/rhel/rhel9/distro.go +@@ -72,7 +72,7 @@ func defaultDistroImageConfig(d *rhel.Distribution) *distro.ImageConfig { + }, + }, + }, +- DefaultOSCAPDatastream: common.ToPtr(oscap.DefaultRHEL9Datastream(d.IsRHEL())), ++ DefaultOSCAPDatastream: common.ToPtr(oscap.DefaultRHEL9Datastream(d.Name())), + } + } + +-- +2.47.1 + diff --git a/fix-unclosed-logrus-logging-pipes.patch b/fix-unclosed-logrus-logging-pipes.patch new file mode 100644 index 0000000..8d04891 --- /dev/null +++ b/fix-unclosed-logrus-logging-pipes.patch @@ -0,0 +1,42 @@ +From bf424e53ba6949c685b0f4593588cec88edfe6f7 Mon Sep 17 00:00:00 2001 +From: Lukas Zapletal +Date: Thu, 11 Sep 2025 08:03:21 +0200 +Subject: [PATCH] common: fix unclosed logrus logging pipes + +This is a backport of 1cde7e3. The original patch was not separated into +individual commits unfortunately, there fore only the relevant line is +being brought in. The original analysis: + +It looks like both CloudAPI and WeldrAPI consume memory, process can go +up to several gigabytes pretty quickly just by running a simple script. + +while sleep 0.001; do + curl --unix-socket /run/weldr/api.socket -XGET http://localhost/api/ + curl --unix-socket /run/cloudapi/api.socket -XGET http://localhost/api/ +done + +There is a logrus logger method called Write and WriteLevel which create +a new logging entry, create a PIPE and spawn a goroutine that is reading +from that PIPE. The caller is expected to close the PIPE writer which +was not done. + +(cherry picked from commit 0f97a1c1668827086dfa335c9fb427cbb28782b2) +--- + internal/common/echo_logrus.go | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/internal/common/echo_logrus.go b/internal/common/echo_logrus.go +index 198ce17310..600cce2d74 100644 +--- a/internal/common/echo_logrus.go ++++ b/internal/common/echo_logrus.go +@@ -178,5 +178,9 @@ func (l *EchoLogrusLogger) Panicj(j lslog.JSON) { + } + + func (l *EchoLogrusLogger) Write(p []byte) (n int, err error) { +- return l.Logger.WithContext(l.Ctx).Writer().Write(p) ++ // Writer() from logrus returns PIPE that needs to be closed ++ w := l.Logger.WithContext(l.Ctx).Writer() ++ defer w.Close() ++ ++ return w.Write(p) + } diff --git a/json-tailoring-conversion.patch b/json-tailoring-conversion.patch new file mode 100644 index 0000000..729619c --- /dev/null +++ b/json-tailoring-conversion.patch @@ -0,0 +1,54 @@ +From 514f82421bb2444fc73efca5898389329fd1e38d Mon Sep 17 00:00:00 2001 +From: Gianluca Zuccarelli +Date: Mon, 8 Sep 2025 14:11:50 +0100 +Subject: [PATCH] internal/blueprint: add JSON tailoring to bp conversion + +The blueprint convert function was missing the json tailoring case. This meant that +if the json tailoring customization was provided in the blueprint, the customization +would get ignored and the tailoring profile would not be applied to the image. +--- + internal/blueprint/blueprint.go | 4 ++++ + internal/blueprint/blueprint_convert_test.go | 8 ++++++++ + 2 files changed, 12 insertions(+) + +diff --git a/internal/blueprint/blueprint.go b/internal/blueprint/blueprint.go +index 63f8aa5b71..c01a2c6a48 100644 +--- a/internal/blueprint/blueprint.go ++++ b/internal/blueprint/blueprint.go +@@ -253,6 +253,10 @@ func Convert(bp Blueprint) iblueprint.Blueprint { + itailoring := iblueprint.OpenSCAPTailoringCustomizations(*tailoring) + ioscap.Tailoring = &itailoring + } ++ if jsonTailoring := oscap.JSONTailoring; jsonTailoring != nil { ++ ijsonTailoring := iblueprint.OpenSCAPJSONTailoringCustomizations(*jsonTailoring) ++ ioscap.JSONTailoring = &ijsonTailoring ++ } + customizations.OpenSCAP = &ioscap + } + if ign := c.Ignition; ign != nil { +diff --git a/internal/blueprint/blueprint_convert_test.go b/internal/blueprint/blueprint_convert_test.go +index 520e18271d..2c652f0658 100644 +--- a/internal/blueprint/blueprint_convert_test.go ++++ b/internal/blueprint/blueprint_convert_test.go +@@ -233,6 +233,10 @@ func TestConvert(t *testing.T) { + Selected: []string{"cloth"}, + Unselected: []string{"leather"}, + }, ++ JSONTailoring: &OpenSCAPJSONTailoringCustomizations{ ++ ProfileID: "tailored_profile", ++ Filepath: "path-to-json-file", ++ }, + }, + Ignition: &IgnitionCustomization{ + Embedded: &EmbeddedIgnitionCustomization{ +@@ -532,6 +536,10 @@ func TestConvert(t *testing.T) { + Selected: []string{"cloth"}, + Unselected: []string{"leather"}, + }, ++ JSONTailoring: &iblueprint.OpenSCAPJSONTailoringCustomizations{ ++ ProfileID: "tailored_profile", ++ Filepath: "path-to-json-file", ++ }, + }, + Ignition: &iblueprint.IgnitionCustomization{ + Embedded: &iblueprint.EmbeddedIgnitionCustomization{ diff --git a/osbuild-composer.spec b/osbuild-composer.spec index 7bbbe27..debd3cc 100644 --- a/osbuild-composer.spec +++ b/osbuild-composer.spec @@ -25,7 +25,7 @@ It is compatible with composer-cli and cockpit-composer clients. } Name: osbuild-composer -Release: 2%{?dist} +Release: 3.0.1%{?dist} Summary: An image building service based on osbuild # osbuild-composer doesn't have support for building i686 and armv7hl images @@ -35,7 +35,25 @@ ExcludeArch: i686 armv7hl License: Apache-2.0 URL: %{gourl} Source0: %{gosource} +Patch1001: 1001-Add-repositories-for-OL-8.10-OL-9.5-and-OL-10.0.patch +Patch1002: 1002-Add-support-for-OL-on-osbuild-composer.patch +Patch1003: 1003-Removing-non-supported-image-types.patch +Patch1004: 1004-Fix-packageSets.patch +Patch1005: 1005-Increase-support-for-OCI-images.patch +Patch1006: 1006-Increase-default-boot-size-to-1GB.patch +Patch1007: 1007-Support-using-repository-definitions-with-OCI-variab.patch +Patch1008: 1008-Update-Oracle-repositories-to-contain-OCI-variables.patch +Patch1009: 1009-Simplify-repo-name-removing-minor-versions.patch +Patch1010: 1010-Oscap-customization-for-Oracle-Linux.patch +# https://github.com/osbuild/osbuild-composer/pull/4857 +Patch0: json-tailoring-conversion.patch + +# https://github.com/osbuild/osbuild-composer/pull/4867 +Patch1: fix-unclosed-logrus-logging-pipes.patch + +# https://github.com/osbuild/osbuild-composer/pull/4841 +Patch2: update-go-jose-dependency.patch BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang} BuildRequires: systemd @@ -167,6 +185,15 @@ install -m 0644 -vp vendor/github.com/osbuild/images/data/repositories/centos-%{ cp -a repositories/centos-stream-%{centos}* %{buildroot}%{_datadir}/osbuild-composer/repositories/ %endif +%else +%if 0%{?oraclelinux} +%if 0%{?oraclelinux} >= 9 +install -m 0644 -vp repositories/ol-* %{buildroot}%{_datadir}/osbuild-composer/repositories/ +%else +install -m 0644 -vp repositories/ol-%{oraclelinux}* %{buildroot}%{_datadir}/osbuild-composer/repositories/ + +%endif + %else %if 0%{?rhel} @@ -197,6 +224,7 @@ done %endif %endif %endif +%endif # Fedora can build for all included fedora releases %if 0%{?fedora} @@ -454,11 +482,40 @@ Integration tests to be run on a pristine-dedicated system to test the osbuild-c %endif %changelog -* Fri Jun 27 2025 Craig Guiller - 134.1-2 +* Mon Nov 03 2025 EL Errata - 134.1-3.0.1 +- Add OL10 support +- Update repository URLs for baseos, appstream and UERK +- Fix the label for UEKR repository +- Simplify repository names [JIRA: OLDIS-35893] +- Ensure build on latest golang: CVE-2024-34156 +- Refactor patches to fix some naming and set a correct kernel for Oracle Linux [Orabug: 37253643] +- Support using OCI variables inside built images [JIRA: OLDIS-35302] +- Support using repository definitons with OCI variables [JIRA: OLDIS-38657] +- Update repositories to contain OCI variables +- Remove image types Minimal-raw and wsl [JIRA: OLDIS-38123] +- Increase default /boot size to 1GB [Orabug: 36827079] +- Add support for OCI hybrid images [JIRA: OLDIS-33593] +- enable aarch64 OCI image builds [JIRA: OLDIS-33593] +- support for building OL8/9 images on Oracle Linux 9 [Orabug: 36400619] - Rebuild for CVE-2025-22871 -* Wed Jun 25 2025 Alex Burmashev - 134.1-1 -- Import upstream 134.1 +* Wed Oct 15 2025 Gianluca Zuccarelli - 134.1-3 +- Fix json tailoring blueprint conversion + Resolves: RHEL-115392 +- Fix unclosed logrus logging pipes + Resolves: RHEL-121533 +- Update go-jose dependency + Resolves: RHEL-82957 (CVE-2025-27144) + +* Tue Jun 24 2025 Ondřej Budai - 134.1-2 +- Resolves: RHEL-89221 (CVE-2025-22871) + +* Fri Apr 25 2025 Tomáš Hozza - 134.1-1 +- Resolves: RHEL-84629 + +* Mon Feb 24 2025 Tomáš Hozza - 134-1 +- New upstream release +- Resolves: RHEL-80161 * Thu Feb 13 2025 imagebuilder-bot - 132-1 - New upstream release diff --git a/update-go-jose-dependency.patch b/update-go-jose-dependency.patch new file mode 100644 index 0000000..7a34104 --- /dev/null +++ b/update-go-jose-dependency.patch @@ -0,0 +1,179 @@ +From 8d9b6fd1f471eeb919e6bb7049b221127505e841 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ond=C5=99ej=20Budai?= +Date: Tue, 26 Aug 2025 13:39:35 +0200 +Subject: [PATCH 1/2] go.mod: update go-jose v4.0.5 to fix CVE-2025-27144 + +--- + go.mod | 2 +- + go.sum | 4 ++-- + vendor/github.com/go-jose/go-jose/v4/CONTRIBUTING.md | 6 ------ + vendor/github.com/go-jose/go-jose/v4/README.md | 10 +--------- + vendor/github.com/go-jose/go-jose/v4/jwe.go | 5 +++-- + vendor/github.com/go-jose/go-jose/v4/jwk.go | 4 ++-- + vendor/github.com/go-jose/go-jose/v4/jws.go | 5 +++-- + vendor/modules.txt | 2 +- + 8 files changed, 13 insertions(+), 25 deletions(-) + +diff --git a/go.mod b/go.mod +index f32612ffdf..bdb089ef3e 100644 +--- a/go.mod ++++ b/go.mod +@@ -133,7 +133,7 @@ require ( + github.com/envoyproxy/protoc-gen-validate v1.2.1 // indirect + github.com/felixge/httpsnoop v1.0.4 // indirect + github.com/ghodss/yaml v1.0.0 // indirect +- github.com/go-jose/go-jose/v4 v4.0.4 // indirect ++ github.com/go-jose/go-jose/v4 v4.0.5 // indirect + github.com/go-logr/logr v1.4.2 // indirect + github.com/go-logr/stdr v1.2.2 // indirect + github.com/go-openapi/analysis v0.23.0 // indirect +diff --git a/go.sum b/go.sum +index 42ee5ca2d1..d415139ffe 100644 +--- a/go.sum ++++ b/go.sum +@@ -252,8 +252,8 @@ github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeME + github.com/go-chi/chi/v5 v5.0.0/go.mod h1:BBug9lr0cqtdAhsu6R4AAdvufI0/XBzAQSsUqJpoZOs= + github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= + github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= +-github.com/go-jose/go-jose/v4 v4.0.4 h1:VsjPI33J0SB9vQM6PLmNjoHqMQNGPiZ0rHL7Ni7Q6/E= +-github.com/go-jose/go-jose/v4 v4.0.4/go.mod h1:NKb5HO1EZccyMpiZNbdUw/14tiXNyUJh188dfnMCAfc= ++github.com/go-jose/go-jose/v4 v4.0.5 h1:M6T8+mKZl/+fNNuFHvGIzDz7BTLQPIounk/b9dw3AaE= ++github.com/go-jose/go-jose/v4 v4.0.5/go.mod h1:s3P1lRrkT8igV8D9OjyL4WRyHvjB6a4JSllnOrmmBOA= + github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= + github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= + github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +diff --git a/vendor/github.com/go-jose/go-jose/v4/CONTRIBUTING.md b/vendor/github.com/go-jose/go-jose/v4/CONTRIBUTING.md +index b63e1f8fee..4b4805add6 100644 +--- a/vendor/github.com/go-jose/go-jose/v4/CONTRIBUTING.md ++++ b/vendor/github.com/go-jose/go-jose/v4/CONTRIBUTING.md +@@ -7,9 +7,3 @@ When submitting code, please make every effort to follow existing conventions + and style in order to keep the code as readable as possible. Please also make + sure all tests pass by running `go test`, and format your code with `go fmt`. + We also recommend using `golint` and `errcheck`. +- +-Before your code can be accepted into the project you must also sign the +-Individual Contributor License Agreement. We use [cla-assistant.io][1] and you +-will be prompted to sign once a pull request is opened. +- +-[1]: https://cla-assistant.io/ +diff --git a/vendor/github.com/go-jose/go-jose/v4/README.md b/vendor/github.com/go-jose/go-jose/v4/README.md +index 79a7c5ecc8..02b5749546 100644 +--- a/vendor/github.com/go-jose/go-jose/v4/README.md ++++ b/vendor/github.com/go-jose/go-jose/v4/README.md +@@ -9,14 +9,6 @@ Package jose aims to provide an implementation of the Javascript Object Signing + and Encryption set of standards. This includes support for JSON Web Encryption, + JSON Web Signature, and JSON Web Token standards. + +-**Disclaimer**: This library contains encryption software that is subject to +-the U.S. Export Administration Regulations. You may not export, re-export, +-transfer or download this code or any part of it in violation of any United +-States law, directive or regulation. In particular this software may not be +-exported or re-exported in any form or on any media to Iran, North Sudan, +-Syria, Cuba, or North Korea, or to denied persons or entities mentioned on any +-US maintained blocked list. +- + ## Overview + + The implementation follows the +@@ -109,6 +101,6 @@ allows attaching a key id. + + Examples can be found in the Godoc + reference for this package. The +-[`jose-util`](https://github.com/go-jose/go-jose/tree/v4/jose-util) ++[`jose-util`](https://github.com/go-jose/go-jose/tree/main/jose-util) + subdirectory also contains a small command-line utility which might be useful + as an example as well. +diff --git a/vendor/github.com/go-jose/go-jose/v4/jwe.go b/vendor/github.com/go-jose/go-jose/v4/jwe.go +index 89f03ee3e1..9f1322dccc 100644 +--- a/vendor/github.com/go-jose/go-jose/v4/jwe.go ++++ b/vendor/github.com/go-jose/go-jose/v4/jwe.go +@@ -288,10 +288,11 @@ func ParseEncryptedCompact( + keyAlgorithms []KeyAlgorithm, + contentEncryption []ContentEncryption, + ) (*JSONWebEncryption, error) { +- parts := strings.Split(input, ".") +- if len(parts) != 5 { ++ // Five parts is four separators ++ if strings.Count(input, ".") != 4 { + return nil, fmt.Errorf("go-jose/go-jose: compact JWE format must have five parts") + } ++ parts := strings.SplitN(input, ".", 5) + + rawProtected, err := base64.RawURLEncoding.DecodeString(parts[0]) + if err != nil { +diff --git a/vendor/github.com/go-jose/go-jose/v4/jwk.go b/vendor/github.com/go-jose/go-jose/v4/jwk.go +index 8a52842106..9e57e93ba2 100644 +--- a/vendor/github.com/go-jose/go-jose/v4/jwk.go ++++ b/vendor/github.com/go-jose/go-jose/v4/jwk.go +@@ -239,10 +239,10 @@ func (k *JSONWebKey) UnmarshalJSON(data []byte) (err error) { + keyPub = key + } + } else { +- err = fmt.Errorf("go-jose/go-jose: unknown curve %s'", raw.Crv) ++ return fmt.Errorf("go-jose/go-jose: unknown curve %s'", raw.Crv) + } + default: +- err = fmt.Errorf("go-jose/go-jose: unknown json web key type '%s'", raw.Kty) ++ return fmt.Errorf("go-jose/go-jose: unknown json web key type '%s'", raw.Kty) + } + + if err != nil { +diff --git a/vendor/github.com/go-jose/go-jose/v4/jws.go b/vendor/github.com/go-jose/go-jose/v4/jws.go +index 3a912301af..d09d8ba507 100644 +--- a/vendor/github.com/go-jose/go-jose/v4/jws.go ++++ b/vendor/github.com/go-jose/go-jose/v4/jws.go +@@ -327,10 +327,11 @@ func parseSignedCompact( + payload []byte, + signatureAlgorithms []SignatureAlgorithm, + ) (*JSONWebSignature, error) { +- parts := strings.Split(input, ".") +- if len(parts) != 3 { ++ // Three parts is two separators ++ if strings.Count(input, ".") != 2 { + return nil, fmt.Errorf("go-jose/go-jose: compact JWS format must have three parts") + } ++ parts := strings.SplitN(input, ".", 3) + + if parts[1] != "" && payload != nil { + return nil, fmt.Errorf("go-jose/go-jose: payload is not detached") +diff --git a/vendor/modules.txt b/vendor/modules.txt +index c85cf5570b..a0e70865d4 100644 +--- a/vendor/modules.txt ++++ b/vendor/modules.txt +@@ -693,7 +693,7 @@ github.com/getsentry/sentry-go/logrus + # github.com/ghodss/yaml v1.0.0 + ## explicit + github.com/ghodss/yaml +-# github.com/go-jose/go-jose/v4 v4.0.4 ++# github.com/go-jose/go-jose/v4 v4.0.5 + ## explicit; go 1.21 + github.com/go-jose/go-jose/v4 + github.com/go-jose/go-jose/v4/cipher + +From bab603f74db931475511cd63e6ecf67bd63da728 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ond=C5=99ej=20Budai?= +Date: Tue, 26 Aug 2025 13:46:51 +0200 +Subject: [PATCH 2/2] github: ignore unused functions in shellcheck + +Seems to be a false positive (shellcheck doesn't understand traps). +--- + .github/workflows/tests.yml | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml +index befc48d529..c4e8369960 100644 +--- a/.github/workflows/tests.yml ++++ b/.github/workflows/tests.yml +@@ -212,9 +212,9 @@ jobs: + with: + ignore: vendor # We don't want to fix the code in vendored dependencies + env: +- # don't check /etc/os-release sourcing, allow useless cats to live inside our codebase, and +- # allow seemingly unreachable commands +- SHELLCHECK_OPTS: -e SC1091 -e SC2002 -e SC2317 ++ # don't check /etc/os-release sourcing, allow useless cats to live inside our codebase, ++ # allow seemingly unreachable commands, and allow unused functions ++ SHELLCHECK_OPTS: -e SC1091 -e SC2002 -e SC2317 -e SC2329 + + - name: Do not doube trap signals inside test scripts + run: |