For option 2 I’m taking a stab to see how hard it is. Writing down my steps.
I used GitHub - theforeman/foreman-installer-modulesync: Standard config files used across foreman-installer modules · GitHub to create a checkout for every module and then this simple script:
#!/usr/bin/env ruby
# frozen_string_literal: true
require 'json'
Dir['modules/*/puppet-*/metadata.json'].each do |path|
metadata = JSON.parse(File.read(path))
changed = false
metadata['operatingsystem_support'].each do |os|
if %w[RedHat CentOS AlmaLinux].include?(os['operatingsystem']) && !os['operatingsystemrelease'].include?('10')
os['operatingsystemrelease'] << '10'
changed = true
end
end
File.write(path, "#{JSON.pretty_generate(metadata)}\n") if changed
end
For puppet-dns I also made a manual modification to enable EPEL 10 since that should include ISC DHCP (thanks Rebuilding our RPMs for el10 - #7 by bnerickson for the hint).
Then create the PRs using some shell:
for i in modules/theforeman/puppet-* ; do
(
cd $i && git checkout -b add-el10 && git commit -a -m 'Add EL 10 support' && git push --quiet $USER HEAD && hub pull-request --no-edit
)
done
- Add EL 10 support by ekohl · Pull Request #288 · theforeman/puppet-candlepin · GitHub
- Add EL 10 support by ekohl · Pull Request #510 · theforeman/puppet-certs · GitHub
- Add EL 10 support by ekohl · Pull Request #251 · theforeman/puppet-dhcp · GitHub
- Add EL 10 support by ekohl · Pull Request #298 · theforeman/puppet-dns · GitHub
- Add EL 10 support by ekohl · Pull Request #1289 · theforeman/puppet-foreman · GitHub
- Add EL 10 support by ekohl · Pull Request #906 · theforeman/puppet-foreman_proxy · GitHub
- Add EL 10 support by ekohl · Pull Request #542 · theforeman/puppet-foreman_proxy_content · GitHub
- Add EL 10 support by ekohl · Pull Request #87 · theforeman/puppet-foreman_scap_client · GitHub
- Add EL 10 support by ekohl · Pull Request #109 · theforeman/puppet-iop · GitHub
- Add EL 10 support by ekohl · Pull Request #26 · theforeman/puppet-iop_advisor_engine · GitHub
- Add EL 10 support by ekohl · Pull Request #535 · theforeman/puppet-katello · GitHub
- Add EL 10 support by ekohl · Pull Request #322 · theforeman/puppet-katello_devel · GitHub
- Add EL 10 support by ekohl · Pull Request #26 · theforeman/puppet-motd · GitHub
- Add EL 10 support by ekohl · Pull Request #413 · theforeman/puppet-pulpcore · GitHub
- Add EL 10 support by ekohl · Pull Request #998 · theforeman/puppet-puppet · GitHub
- Add EL 10 support by ekohl · Pull Request #75 · theforeman/puppet-puppetserver_foreman · GitHub
- Add EL 10 support by ekohl · Pull Request #164 · theforeman/puppet-tftp · GitHub
Now let’s see how unhappy CI is.