[Libguestfs] [p2v PATCH 4/4] make-disk: inject EPEL9 repo in RHEL9 disk image

Laszlo Ersek lersek at redhat.com
Thu Jan 19 12:14:48 UTC 2023


In RHEL9, "metacity" was replaced with "gnome-kiosk":

  https://bugzilla.redhat.com/show_bug.cgi?id=1951145#c4
  https://bugzilla.redhat.com/show_bug.cgi?id=1956984#c1

gnome-kiosk has particular requirements for the main application:

  https://bugzilla.redhat.com/show_bug.cgi?id=1999060#c13

We don't know if that's compatible with our separately opened XTerm
window(s). For now, let's stick with metacity, by pulling in EPEL9. We can
work on RHEL9 purity (including gnome-kiosk fixes and/or compatibility)
once a "standard" RHEL9-based image builder service becomes a realistic
prospect.

Signed-off-by: Laszlo Ersek <lersek at redhat.com>
---
 virt-p2v-make-disk.in | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/virt-p2v-make-disk.in b/virt-p2v-make-disk.in
index 0bf7f0e0414f..63001debbf3e 100644
--- a/virt-p2v-make-disk.in
+++ b/virt-p2v-make-disk.in
@@ -48,6 +48,7 @@ eval set -- "$TEMP"
 output=
 upload=
 verbose=
+declare -a install_repo_packages_option
 declare -a update_option=(--update)
 declare -a passthru
 
@@ -198,6 +199,17 @@ case "$osversion" in
                 update_option=(--run-command 'dnf -y update --exclude=kernel\*')
                 ;;
         esac
+        # For RHEL-9, we need to grab the metacity window manager from EPEL-9.
+        # Enable the EPEL-9 repository by installing the RPM containing the
+        # *.repo file(s) directly from the network.
+        case "$osversion" in
+            rhel-9.*)
+                install_repo_packages_option=(
+                  --install
+                  https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
+                )
+                ;;
+        esac
         ;;
     debian-*|ubuntu-*)
         depsfile="$datadir/dependencies.debian"
@@ -260,6 +272,7 @@ virt-builder "$osversion"                                       \
     $preinstall_args                                            \
     --hostname p2v.local                                        \
     --run-command 'hostname p2v.local'                          \
+    "${install_repo_packages_option[@]}"                        \
     "${update_option[@]}"                                       \
     --install "$install"                                        \
     --root-password password:p2v                                \


More information about the Libguestfs mailing list