Fixes #39589 - Default bootdisk_mkiso_command to xorrisofs instead of genisoimage - #194
Merged
Merged
Conversation
ogajduse
force-pushed
the
el10-xorrisofs
branch
from
August 5, 2026 12:00
67a6508 to
1d755bc
Compare
stejskalleos
self-requested a review
August 5, 2026 13:04
stejskalleos
reviewed
Aug 6, 2026
stejskalleos
left a comment
Collaborator
There was a problem hiding this comment.
🍏 LGTM
Just one small nit.
… genisoimage genisoimage/cdrkit was dropped entirely on CentOS Stream 10, so the default breaks ISO generation there. xorriso's mkisofs/genisoimage/ xorrisofs personalities all dispatch to the same argument-emulation code path (xorriso/base_obj.c), so this is not a behavior change on distros that still carry genisoimage/mkisofs -- just picking the name that keeps working once the legacy compat aliases go away.
ogajduse
force-pushed
the
el10-xorrisofs
branch
from
August 6, 2026 08:59
1d755bc to
1734a16
Compare
stejskalleos
approved these changes
Aug 6, 2026
Collaborator
|
Thanks @ogajduse ! |
evgeni
reviewed
Aug 6, 2026
| setting "bootdisk_mkiso_command", | ||
| type: :string, | ||
| default: "genisoimage", | ||
| default: "xorrisofs", |
Member
There was a problem hiding this comment.
What about users who have bootdisk already installed? Will those remain on genisoimage?
Collaborator
There was a problem hiding this comment.
No, the default value will be changed.
However, if they change the setting to something-else, the value will still be something-else.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
CentOS Stream 10 dropped the genisoimage/cdrkit package entirely.
bootdisk_mkiso_commandstill defaults to"genisoimage", so ISO generation fails at runtime on a fresh EL10 install (nothing provides/usr/bin/genisoimagethere, and it isn't installable).Root cause dig:
mkisofs,genisoimage, andxorrisofsaren't three different tools with varying compatibility -- on modern distros they're all the samexorrisobinary, dispatching to the identical argument-emulation code path based onargv[0](xorriso/base_obj.cin libisoburn: all four leafnames setargument_emulation = 1identically). Every flagiso_generator.rbpasses (-iso-level,-b,-c,-no-emul-boot,-boot-load-size,-boot-info-table,-eltorito-alt-boot,-e) is handled by that same emulation layer. Confirmed by running the exact generated command against a CentOS Stream 10 container withxorrisofs.isohybrid(used unconditionally right after ISO generation) is unaffected by this change -- still shipped viasyslinuxon EL10.Filed as https://projects.theforeman.org/issues/39589 with the full investigation.
Changes
lib/foreman_bootdisk/engine.rb: defaultbootdisk_mkiso_commandfrom"genisoimage"to"xorrisofs", update setting descriptionapp/services/foreman_bootdisk/iso_generator.rb: update file-header comment listing runtime depstest/unit/iso_generator_test.rb: update hardcoded command-regexp expectation from genisoimage to xorrisofsREADME.md: update the two spots describing the ISO-tool dependencyTest plan
test/unit/iso_generator_test.rbagainst a Foremandevelopcore checkout (Postgres 17, schema loaded + seeded): 5 tests, 6 assertions, 0 failures, 0 errorsFixes #39589