hypervisor: implement base vs desktop variants with GUI packages only for desktop

- Split guest-agents/packages.ks into base.ks (qemu-guest-agent) and gui.ks (spice-vdagent)
- Move hypervisor modifier from variant_type.hypervisor to dedicated modifier section
- Added hypervisor modifier with base (headless) and desktop (GUI) options
- Create hypervisor-desktop variant with desktop: gnome for GUI hypervisors
- Update generate_recipe.py to recognize hypervisor-desktop variant name

This ensures GUI packages (virt-manager, spice-vdagent) are only included
in hypervisors with desktop environments, keeping headless hypervisors minimal.
This commit is contained in:
Lukas Greve
2026-03-25 20:06:13 +01:00
parent 0843127d6a
commit 5b8974a6ed
12 changed files with 91 additions and 83 deletions
+2 -2
View File
@@ -464,8 +464,8 @@ class RecipeGenerator:
# Build base parts
parts = [recipe_type.replace('_', '-')]
# Add variant subname for install variants (desktop, server, hypervisor)
if variant_subname and variant_subname in ['desktop', 'server', 'hypervisor']:
# Add variant subname for install variants (desktop, server, hypervisor, hypervisor-desktop)
if variant_subname and variant_subname in ['desktop', 'server', 'hypervisor', 'hypervisor-desktop']:
parts.append(variant_subname)
# Add hypervisor-type (list, first type only for filename)
+10 -7
View File
@@ -24,13 +24,6 @@ templates:
desktop:
server:
hypervisor:
- fragments/hypervisor/base/packages.ks
- fragments/hypervisor/base/services.ks
- fragments/hypervisor/base/post-scripts.ks
- fragments/repo/rawhide-mirrors.ks
- fragments/packages/virtual-machine-manager/packages.ks
- fragments/packages/virtual-machine-manager/post-scripts.ks
- fragments/guest-agents/packages.ks
modifiers:
version:
"43": fragments/repo/fedora-43-mirrors.ks
@@ -58,6 +51,16 @@ templates:
amdcpu: fragments/hypervisor/amdcpu.ks
intelcpu: fragments/hypervisor/intelcpu.ks
intelgpu: fragments/hypervisor/intelgpu.ks
hypervisor:
base:
- fragments/hypervisor/base/packages.ks
- fragments/hypervisor/base/services.ks
- fragments/hypervisor/base/post-scripts.ks
- fragments/guest-agents/base.ks
desktop:
- fragments/packages/virtual-machine-manager/packages.ks
- fragments/packages/virtual-machine-manager/post-scripts.ks
- fragments/guest-agents/gui.ks
# Live recipe - for live-desktop or live-server
live:
+26 -20
View File
@@ -82,34 +82,40 @@ recipes:
# Install variants - hypervisor
- name: install
variants:
- name: hypervisor
- name: hypervisor
version: "rawhide"
storage: standard
bootloader: grub
security: secure
hardware-support: true
hypervisor: base
hypervisor-type:
- amdcpu
- name: hypervisor
version: "rawhide"
storage: standard
bootloader: grub
security: secure
hardware-support: true
hypervisor: base
hypervisor-type:
- intelcpu
# Install variants - hypervisor with desktop
- name: install
variants:
- name: hypervisor-desktop
version: "rawhide"
desktop: gnome
storage: standard
bootloader: grub
security: secure
hardware-support: true
hypervisor: true
hypervisor-type:
- amdcpu
- name: hypervisor
version: "rawhide"
storage: standard
bootloader: grub
security: secure
hardware-support: true
hypervisor: true
hypervisor-type:
- intelcpu
- name: hypervisor
version: "rawhide"
storage: standard
bootloader: grub
security: secure
hardware-support: true
hypervisor: true
hypervisor: desktop
hypervisor-type:
- intelcpu
- intelgpu
initial-setup: desktop
# Live variants - desktop
- name: live