Skip to content

oracle: Add support for Oracle Linux 9 and 10#2404

Merged
achilleas-k merged 6 commits into
osbuild:mainfrom
lrochfort:oracle-linux-support
Jun 19, 2026
Merged

oracle: Add support for Oracle Linux 9 and 10#2404
achilleas-k merged 6 commits into
osbuild:mainfrom
lrochfort:oracle-linux-support

Conversation

@lrochfort

Copy link
Copy Markdown
Contributor

This PR adds new distro entries for Oracle Linux 9 and 10.

Support for the following targets has been successfully tested internally using image-builder:

  • qcow2
  • tarball
  • bootc
  • Oracle Cloud (OCI)
  • Amazon AWS
  • MS Azure
  • Google GCP

@lrochfort lrochfort requested a review from a team as a code owner June 8, 2026 11:18
@lrochfort lrochfort requested review from avitova, lzap and thozza June 8, 2026 11:18
@supakeen supakeen requested review from achilleas-k and supakeen June 8, 2026 13:14
@supakeen

supakeen commented Jun 8, 2026

Copy link
Copy Markdown
Member

@lrochfort very nice! I'll take a deeper look during the week.

Comment thread pkg/manifest/os.go Outdated
Comment thread pkg/distro/image_config.go
Comment thread pkg/distro/host.go
Comment thread pkg/runner/ol.go
Comment thread data/distrodefs/rhel.yaml Outdated
Comment thread data/distrodefs/rhel.yaml Outdated
Comment thread pkg/customizations/oscap/oscap.go Outdated

@supakeen supakeen left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've done a first pass over the Go-code bits that were adjusted; let's address those first (I think most things are relatively minor, and some questions) before I dive into the YAML.

@lrochfort lrochfort force-pushed the oracle-linux-support branch from 5191877 to d2ff55d Compare June 9, 2026 13:24
@lrochfort

Copy link
Copy Markdown
Contributor Author

@supakeen, thank you for reviewing. I've updated my fork and pushed. Could you please take a look when you have time.

@supakeen

supakeen commented Jun 9, 2026

Copy link
Copy Markdown
Member

@supakeen, thank you for reviewing. I've updated my fork and pushed. Could you please take a look when you have time.

Thanks I'll take another look and focus on the YAML this time (and the other bits that were addressed).

@supakeen supakeen self-requested a review June 9, 2026 13:50
@supakeen supakeen mentioned this pull request Jun 9, 2026
Comment thread data/distrodefs/rhel-10/imagetypes.yaml
Comment thread data/distrodefs/rhel-9/imagetypes.yaml Outdated
Comment thread data/distrodefs/rhel-10/imagetypes.yaml Outdated
Comment thread data/distrodefs/rhel-9/imagetypes.yaml Outdated
Comment thread data/distrodefs/rhel-9/imagetypes.yaml Outdated

@supakeen supakeen left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, I've gone through the YAML. Most important to me is that this change doesn't affect any other image types. Currently it does affect things and OL10 doesn't build due to a package being both included and excluded at the same time. I've attached a patch that addresses the comments I've made.

For me personally I don't care about a bit of the duplication here in the conditions, we are planning/plotting to address this in the future but that burden shouldn't particularly fall on @lrochfort.

See attached patch, please apply with git am < ... and then squash it into your own commits that changes the relevant image definitions before you force-push.

0001-review-fix-up-Oracle-Linux-definitions.patch


After applying that patch everything dependency solves correctly and at least Oracle Linux 9's QCOW2 image builds successfully on my system.

Oracle Linux 10 does not because it seems like we're getting sha1 hashes for the packages which we do not accept; I'll look into that today to see where those come from (from OL repositories, or if it's internal to us).

@lrochfort

lrochfort commented Jun 12, 2026

Copy link
Copy Markdown
Contributor Author

Oracle Linux 10 does not because it seems like we're getting sha1 hashes for the packages which we do not accept; I'll look into that today to see where those come from (from OL repositories, or if it's internal to us).

Re the hashes, we work around this on our side by running image-builder with --use-librepo=False. If you have any suggestion as how to resolve it better, then we'd certainly appreciate it.

@lrochfort lrochfort force-pushed the oracle-linux-support branch from d2ff55d to e7c8563 Compare June 12, 2026 08:21
@lrochfort

Copy link
Copy Markdown
Contributor Author

See attached patch, please apply with git am < ... and then squash it into your own commits that changes the relevant image definitions before you force-push.

0001-review-fix-up-Oracle-Linux-definitions.patch

Ack, thank you @supakeen

Applied and pushed to my fork.

@lrochfort lrochfort force-pushed the oracle-linux-support branch from e7c8563 to b3ecd59 Compare June 12, 2026 08:27
@supakeen

supakeen commented Jun 12, 2026

Copy link
Copy Markdown
Member

Oracle Linux 10 does not because it seems like we're getting sha1 hashes for the packages which we do not accept; I'll look into that today to see where those come from (from OL repositories, or if it's internal to us).

Re the hashes, we work around this on our side by running image-builder with --use-librepo=False. If you have any suggestion as how to resolve it better, then we'd certainly appreciate it.

I looked into this and it seems that OL10 repository metadata contains SHA1 checksums while OL9 repodata contains SHA256 checksums. Fixing the EL10 repository metadata to use SHA256 checksums would make everything work.

Using --librepo=false indeed works but isn't very nice. It'd be better to address this in the repository meta data for OL10. I guess other tooling might also want it.

Otherwise we could accept SHA1 checksums in the librepo source if we want to work around it but I don't know if we want to do that.

Comment on lines -1491 to -1492
exclude:
- "dracut-config-rescue"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This hunk needs to go into the previous commit (3b9570264a8a8b9ac286fd15039f99fd43b4e820).

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated and pushed

@supakeen

Copy link
Copy Markdown
Member

One last fix to the definitions which should make CI go green afterwards (if I got everything right).

That leaves only the repository checksums to resolve.

@lrochfort

Copy link
Copy Markdown
Contributor Author

@supakeen, the manifest checksum test is failing for my second commit:

panic: yaml: unmarshal errors:
	  line 1199: field hostonly not found in type distro.ImageConfig with distro rhel-10.0

I'm not sure the best way to handle that, given we wanted to restrict hostonly to Oracle Linux for now.

@supakeen

Copy link
Copy Markdown
Member

@supakeen, the manifest checksum test is failing for my second commit:

panic: yaml: unmarshal errors:
	  line 1199: field hostonly not found in type distro.ImageConfig with distro rhel-10.0

I'm not sure the best way to handle that, given we wanted to restrict hostonly to Oracle Linux for now.

If you reorder the commits and put 32aa54a after 65deabb things should work.

Be sure to regenerate the checksums at each commit and squash them into the commit if anything changed 🙂

Add runner for Oracle Linux 9 & 10.

Signed-off-by: Laurence Rochfort <laurence.rochfort@oracle.com>
Reviewed-by: Alex Burmashev <alexander.burmashev@oracle.com>
Oracle Linux distro definition names only include the major version,
so format the returned distro name accordingly.

Signed-off-by: Laurence Rochfort <laurence.rochfort@oracle.com>
Reviewed-by: Alex Burmashev <alexander.burmashev@oracle.com>
Oracle Cloud Infrastructure (OCI) image type definitions set a
"hostonly" option.

Make the distro and manifest modules detect that so we can then add a
dracut stage to enable early microcode loading and reproducible dracut
builds.

Signed-off-by: Laurence Rochfort <laurence.rochfort@oracle.com>
Reviewed-by: Alex Burmashev <alexander.burmashev@oracle.com>
Signed-off-by: Laurence Rochfort <laurence.rochfort@oracle.com>
Add support for OL 9 & 10.
Add support for Oracle Cloud Infrastructure (OCI) hybrid images

Signed-off-by: Laurence Rochfort <laurence.rochfort@oracle.com>
Reviewed-by: Alex Burmashev <alexander.burmashev@oracle.com>
Adding so that it can be referenced from image-builder etc. For now it
just inherits from qcow2, but lets us add customization later as needed.

Signed-off-by: Laurence Rochfort <laurence.rochfort@oracle.com>
Reviewed-by: Alex Burmashev <alexander.burmashev@oracle.com>

Small adjustments to the definitions to ensure they do not touch any
other image types for RHEL or CentOS and that they dependency solve
correctly.

Co-developed-by: Simon de Vlieger <cmdr@supakeen.com>
@lrochfort lrochfort force-pushed the oracle-linux-support branch from a9e3d09 to fb83b8b Compare June 16, 2026 13:03

@supakeen supakeen left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like that resolved everything and no checksums changed. Now the only question is if we want to merge this before or after the osbuild release that contains the SHA1 allowance for librepo.

And if we wait until after; if we want to bump the dependency.

Otherwise this looks good to me!!

@lrochfort

Copy link
Copy Markdown
Contributor Author

Looks like that resolved everything and no checksums changed. Now the only question is if we want to merge this before or after the osbuild release that contains the SHA1 allowance for librepo.

And if we wait until after; if we want to bump the dependency.

Otherwise this looks good to me!!

Entirely up to you. From our side, it would be nice to have the dependency bumped so we can sync both our packages with upstream and inherit the changes

@supakeen

supakeen commented Jun 17, 2026

Copy link
Copy Markdown
Member

Looks like that resolved everything and no checksums changed. Now the only question is if we want to merge this before or after the osbuild release that contains the SHA1 allowance for librepo.
And if we wait until after; if we want to bump the dependency.
Otherwise this looks good to me!!

Entirely up to you. From our side, it would be nice to have the dependency bumped so we can sync both our packages with upstream and inherit the changes

Let's do that then; there should be a release of osbuild later today which includes the ol9 runner and the sha1 librepo fixup. I'll push a commit to this PR myself to bump the dependencies.

@achilleas-k achilleas-k left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work, thank you!
LGTM

@achilleas-k achilleas-k added this pull request to the merge queue Jun 19, 2026
@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jun 19, 2026
@achilleas-k

Copy link
Copy Markdown
Member

Flake-failure on the merge queue. Sorry about that. Re-queueing.

@achilleas-k achilleas-k added this pull request to the merge queue Jun 19, 2026
Merged via the queue into osbuild:main with commit ad5a617 Jun 19, 2026
25 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants