diff --git a/comps/comps-foreman-el9.xml b/comps/comps-foreman-el9.xml
index 5b4b8cdc64..2b8e52f17e 100644
--- a/comps/comps-foreman-el9.xml
+++ b/comps/comps-foreman-el9.xml
@@ -264,6 +264,7 @@
rubygem-responders
rubygem-rest-client
rubygem-retriable
+ rubygem-rexml
rubygem-rkerberos
rubygem-roadie
rubygem-roadie-rails
@@ -486,6 +487,7 @@
rubygem-responders-doc
rubygem-rest-client-doc
rubygem-retriable-doc
+ rubygem-rexml-doc
rubygem-rkerberos-doc
rubygem-roadie-doc
rubygem-roadie-rails-doc
diff --git a/package_manifest.yaml b/package_manifest.yaml
index 7083135b16..1015be703c 100644
--- a/package_manifest.yaml
+++ b/package_manifest.yaml
@@ -155,6 +155,7 @@ foreman_core_packages:
source_location: https://ci.theforeman.org/job/foreman-develop-source-release
source_system: jenkins
+ rubygem-rexml: {}
other_core_packages:
hosts:
dynflow-utils: {}
diff --git a/packages/foreman/rubygem-rexml/rexml-3.4.0.gem b/packages/foreman/rubygem-rexml/rexml-3.4.0.gem
new file mode 120000
index 0000000000..da935694f6
--- /dev/null
+++ b/packages/foreman/rubygem-rexml/rexml-3.4.0.gem
@@ -0,0 +1 @@
+../../../.git/annex/objects/Gf/0z/SHA256E-s104448--efbea1efba7fa151158e0ee1e643525834da2d8eb4cf744aa68f6480bc9804b2.0.gem/SHA256E-s104448--efbea1efba7fa151158e0ee1e643525834da2d8eb4cf744aa68f6480bc9804b2.0.gem
\ No newline at end of file
diff --git a/packages/foreman/rubygem-rexml/rubygem-rexml.spec b/packages/foreman/rubygem-rexml/rubygem-rexml.spec
new file mode 100644
index 0000000000..0fec26040f
--- /dev/null
+++ b/packages/foreman/rubygem-rexml/rubygem-rexml.spec
@@ -0,0 +1,63 @@
+# template: default
+%global gem_name rexml
+
+Name: rubygem-%{gem_name}
+Version: 3.4.0
+Release: 1%{?dist}
+Summary: An XML toolkit for Ruby
+License: BSD-2-Clause
+URL: https://github.com/ruby/rexml
+Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem
+
+# start specfile generated dependencies
+Requires: ruby >= 2.5.0
+BuildRequires: ruby >= 2.5.0
+BuildRequires: rubygems-devel
+BuildArch: noarch
+# end specfile generated dependencies
+
+%description
+An XML toolkit for Ruby.
+
+
+%package doc
+Summary: Documentation for %{name}
+Requires: %{name} = %{version}-%{release}
+BuildArch: noarch
+
+%description doc
+Documentation for %{name}.
+
+%prep
+%setup -q -n %{gem_name}-%{version}
+
+%build
+# Create the gem as gem install only works on a gem file
+gem build ../%{gem_name}-%{version}.gemspec
+
+# %%gem_install compiles any C extensions and installs the gem into ./%%gem_dir
+# by default, so that we can move it into the buildroot in %%install
+%gem_install
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* \
+ %{buildroot}%{gem_dir}/
+
+%files
+%dir %{gem_instdir}
+%license %{gem_instdir}/LICENSE.txt
+%doc %{gem_instdir}/NEWS.md
+%{gem_libdir}
+%exclude %{gem_cache}
+%{gem_spec}
+
+%files doc
+%doc %{gem_docdir}
+%doc %{gem_instdir}/README.md
+%doc %{gem_instdir}/doc
+
+%changelog
+* Wed Jan 22 2025 Adam Ruzicka 3.4.0-1
+- Add rubygem-rexml generated by gem2rpm using the default template
+