Refactor security and guest-agents config
- Move guest-agents from hypervisor modifier to independent optional feature - Merge guest-agents/gui.ks into base.ks - Remove security from required, add optional security modifier with off option - Fix hypervisor-type modifier key normalization (underscore→hyphen) - Add expand_variants() to handle list values in manifest - Update all tests and expected recipes
This commit is contained in:
@@ -1,8 +0,0 @@
|
||||
# VMM (Virtual Machine Manager) packages
|
||||
|
||||
%packages --exclude-weakdeps
|
||||
|
||||
virtual-manager
|
||||
libvirt-client-tools
|
||||
|
||||
%end
|
||||
@@ -1,9 +0,0 @@
|
||||
# VMM post-installation scripts
|
||||
|
||||
%post --erroronfail
|
||||
|
||||
# Start libvirt service
|
||||
systemctl enable libvirtd
|
||||
systemctl start libvirtd
|
||||
|
||||
%end
|
||||
@@ -1,5 +1,6 @@
|
||||
# Guest agents for virtual machines (base)
|
||||
# Guest agents for virtual machines
|
||||
|
||||
%packages --exclude-weakdeps
|
||||
qemu-guest-agent
|
||||
spice-vdagent
|
||||
%end
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
# Guest agents for virtual machines (GUI only)
|
||||
|
||||
%packages --exclude-weakdeps
|
||||
spice-vdagent
|
||||
%end
|
||||
@@ -1 +1,9 @@
|
||||
# Desktop initial-setup configuration
|
||||
|
||||
firstboot --enable # Enable the Setup Agent to start at boot time
|
||||
|
||||
%packages --exclude-weakdeps
|
||||
|
||||
initial-setup
|
||||
|
||||
%end
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
# Initial setup packages - desktop mode
|
||||
|
||||
%packages --exclude-weakdeps # Beginning of the packages section. Excludes weak package dependencies.
|
||||
|
||||
initial-setup # Initial setup package
|
||||
|
||||
%end # End of the packages section
|
||||
@@ -1,8 +0,0 @@
|
||||
# Initial setup packages - generic wayland desktop mode
|
||||
|
||||
%packages --exclude-weakdeps # Beginning of the packages section. Excludes weak package dependencies.
|
||||
|
||||
initial-setup-gui # Graphical user interface for the initial-setup utility
|
||||
initial-setup-gui-wayland-generic.x86_64 # Run the initial-setup GUI in Wayland
|
||||
|
||||
%end # End of the packages section
|
||||
@@ -1,9 +0,0 @@
|
||||
# Initial setup packages - GNOME desktop mode
|
||||
|
||||
%packages --exclude-weakdeps # Beginning of the packages section. Excludes weak package dependencies.
|
||||
|
||||
# TO BE TESTED -> initial-setup-gui # Graphical user interface for the initial-setup utility
|
||||
# TO BE TESTED -> initial-setup-gui-wayland-generic.x86_64 # Run the initial-setup GUI in Wayland
|
||||
gnome-initial-setup # Add GNOME initial setup too to let user create local account.
|
||||
|
||||
%end # End of the packages section
|
||||
@@ -1,7 +0,0 @@
|
||||
# Initial setup packages - server mode
|
||||
|
||||
%packages --exclude-weakdeps # Beginning of the packages section. Excludes weak package dependencies.
|
||||
|
||||
initial-setup # Initial setup package
|
||||
|
||||
%end # End of the packages section
|
||||
@@ -1,3 +0,0 @@
|
||||
# Fedora ISO repository for F43 (for live ISO builds)
|
||||
|
||||
# repo --name=fedora-iso --metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-43&arch=x86_64 # Uncomment for ISO builds
|
||||
Binary file not shown.
@@ -10,6 +10,7 @@ import sys
|
||||
import yaml
|
||||
from pathlib import Path
|
||||
from typing import Dict, List, Optional, Any
|
||||
from itertools import product
|
||||
|
||||
|
||||
# Deprecated/removed command mappings for Fedora 43 (F42) and rawhide
|
||||
@@ -308,8 +309,10 @@ class RecipeGenerator:
|
||||
|
||||
# Handle modifiers section
|
||||
for mod_key, mod_value in modifiers.items():
|
||||
if mod_key in template.get('modifiers', {}):
|
||||
mod_config = template['modifiers'][mod_key]
|
||||
# Normalize key: convert underscores to hyphens for template lookup
|
||||
mod_key_normalized = mod_key.replace('_', '-')
|
||||
if mod_key_normalized in template.get('modifiers', {}):
|
||||
mod_config = template['modifiers'][mod_key_normalized]
|
||||
|
||||
# Handle nested dict modifiers
|
||||
if isinstance(mod_config, dict) and isinstance(mod_value, str):
|
||||
@@ -460,6 +463,8 @@ class RecipeGenerator:
|
||||
"""Generate recipe filename from parameters."""
|
||||
# Extract variant subname if present
|
||||
variant_subname = modifiers.get('variant_subname', '')
|
||||
if not variant_subname:
|
||||
variant_subname = modifiers.get('variant_type', '')
|
||||
|
||||
# Build base parts
|
||||
parts = [recipe_type.replace('_', '-')]
|
||||
@@ -468,10 +473,13 @@ class RecipeGenerator:
|
||||
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)
|
||||
if modifiers.get('hypervisor-type') and isinstance(modifiers['hypervisor-type'], list):
|
||||
types = modifiers['hypervisor-type']
|
||||
parts.extend(types)
|
||||
# Add hypervisor-type (list or single value for filename)
|
||||
if modifiers.get('hypervisor_type'):
|
||||
ht = modifiers['hypervisor_type']
|
||||
if isinstance(ht, list):
|
||||
parts.extend(ht)
|
||||
else:
|
||||
parts.append(ht)
|
||||
|
||||
# Add desktop (non-GNOME only, since GNOME is default)
|
||||
if modifiers.get('desktop') and modifiers['desktop'] != 'gnome':
|
||||
@@ -481,7 +489,7 @@ class RecipeGenerator:
|
||||
parts.append(str(version))
|
||||
|
||||
# Add security suffix (devel only, since secure is default)
|
||||
if modifiers.get('security') == 'devel':
|
||||
if modifiers.get('security') == 'off':
|
||||
parts.append('devel')
|
||||
|
||||
# Add storage suffix (encrypted only, since standard is default)
|
||||
@@ -491,6 +499,36 @@ class RecipeGenerator:
|
||||
return '_'.join(parts) + '.cfg'
|
||||
|
||||
|
||||
def expand_variants(self, variants: List[Dict]) -> List[Dict]:
|
||||
"""Expand variants with list values into individual variants."""
|
||||
expanded = []
|
||||
|
||||
for variant in variants:
|
||||
list_keys = {}
|
||||
scalar_keys = {}
|
||||
|
||||
for key, value in variant.items():
|
||||
if isinstance(value, list):
|
||||
list_keys[key] = value
|
||||
else:
|
||||
scalar_keys[key] = value
|
||||
|
||||
if not list_keys:
|
||||
expanded.append(variant)
|
||||
continue
|
||||
|
||||
keys = list(list_keys.keys())
|
||||
values_product = product(*[list_keys[k] for k in keys])
|
||||
|
||||
for combo in values_product:
|
||||
new_variant = scalar_keys.copy()
|
||||
for i, key in enumerate(keys):
|
||||
new_variant[key] = combo[i]
|
||||
expanded.append(new_variant)
|
||||
|
||||
return expanded
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(
|
||||
description='Generate Phyllome OS kickstart recipes from templates',
|
||||
@@ -650,7 +688,9 @@ def main():
|
||||
print(f"Error: Unknown recipe type in manifest: {recipe_type}", file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
for variant in recipe_config.get('variants', []):
|
||||
variants = recipe_config.get('variants', [])
|
||||
variants = generator.expand_variants(variants)
|
||||
for variant in variants:
|
||||
version = variant['version']
|
||||
# Build modifiers dict (exclude 'name', 'version')
|
||||
modifiers = {k: v for k, v in variant.items() if k not in ['name', 'version']}
|
||||
|
||||
@@ -20,6 +20,7 @@ templates:
|
||||
- hand-picked: fragments/packages/hand-picked.ks
|
||||
optional:
|
||||
hardware-support: fragments/packages/hardware-support.ks
|
||||
guest-agents: fragments/guest-agents/base.ks
|
||||
variant_type:
|
||||
desktop:
|
||||
server:
|
||||
@@ -31,9 +32,6 @@ templates:
|
||||
storage:
|
||||
standard: fragments/storage/standard.ks
|
||||
encrypted: fragments/storage/encrypted.ks
|
||||
bootloader:
|
||||
grub: fragments/bootloader/grub.ks
|
||||
systemd-boot: fragments/bootloader/systemd-boot.ks
|
||||
desktop:
|
||||
gnome:
|
||||
- fragments/desktop/gnome/config.ks
|
||||
@@ -43,10 +41,12 @@ templates:
|
||||
- fragments/desktop/labwc/config.ks
|
||||
security:
|
||||
secure: fragments/core/security/enabled.ks
|
||||
devel: fragments/core/security/disabled.ks
|
||||
"off": fragments/core/security/disabled.ks
|
||||
initial-setup:
|
||||
server: fragments/initial-setup/server/config.ks
|
||||
desktop: fragments/initial-setup/desktop/config.ks
|
||||
gnome: fragments/initial-setup/gnome/config.ks
|
||||
generic-wayland: fragments/initial-setup/generic-wayland/config.ks
|
||||
hypervisor-type:
|
||||
amdcpu: fragments/hypervisor/amdcpu.ks
|
||||
intelcpu: fragments/hypervisor/intelcpu.ks
|
||||
@@ -56,11 +56,9 @@ templates:
|
||||
- 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:
|
||||
@@ -69,22 +67,24 @@ templates:
|
||||
required:
|
||||
- live-core: fragments/live/core/base.ks
|
||||
- storage: fragments/live/core/storage.ks
|
||||
- bootloader: fragments/bootloader/grub.ks
|
||||
- bootloader: fragments/live/core/bootloader/grub.ks
|
||||
- locale: fragments/core/locale.ks
|
||||
- services: fragments/core/services.ks
|
||||
- network: fragments/core/network.ks
|
||||
- packages: fragments/live/core/packages.ks
|
||||
- post: fragments/live/post/base.ks
|
||||
- session: fragments/live/post/session.ks
|
||||
- rpmfusion-nonfree: fragments/repo/rpmfusion-nonfree.ks
|
||||
optional:
|
||||
variant_type:
|
||||
desktop:
|
||||
server:
|
||||
hardware-support: fragments/packages/hardware-support.ks
|
||||
guest-agents: fragments/guest-agents/base.ks
|
||||
hypervisor: fragments/live/hypervisor.ks
|
||||
security:
|
||||
secure: fragments/core/security/enabled.ks
|
||||
devel: fragments/core/security/disabled.ks
|
||||
hardware-support: fragments/packages/hardware-support.ks
|
||||
hypervisor: fragments/live/hypervisor.ks
|
||||
"off": fragments/core/security/disabled.ks
|
||||
modifiers:
|
||||
version:
|
||||
"43": fragments/repo/fedora-43-mirrors.ks
|
||||
@@ -93,5 +93,5 @@ templates:
|
||||
standard: fragments/live/core/storage.ks
|
||||
encrypted: fragments/live/core/storage.ks
|
||||
bootloader:
|
||||
grub: fragments/bootloader/grub.ks
|
||||
systemd-boot: fragments/bootloader/systemd-boot.ks
|
||||
grub: fragments/live/core/bootloader/grub.ks
|
||||
systemd-boot: fragments/live/core/bootloader/systemd-boot.ks
|
||||
|
||||
@@ -1,134 +1,78 @@
|
||||
# Recipe Manifest for Phyllome OS
|
||||
# Define all recipe variants using generators from recipe_templates.yaml
|
||||
# Edit this file to add new variants, then run: make generate-recipes
|
||||
#
|
||||
# Supported syntax:
|
||||
# - Single values: version: "43"
|
||||
# - List values: version: ["43", "rawhide"] (expands to multiple variants)
|
||||
# - List modifiers: hypervisor-type: ["amdcpu", "intelcpu"] (expands to separate variants)
|
||||
|
||||
recipes:
|
||||
# Install variants - desktop
|
||||
- name: install
|
||||
variants:
|
||||
- name: desktop
|
||||
version: "43"
|
||||
version: ["43", "rawhide"]
|
||||
desktop: gnome
|
||||
storage: standard
|
||||
storage: ["standard", "encrypted"]
|
||||
bootloader: grub
|
||||
security: secure
|
||||
hardware-support: true
|
||||
initial-setup: server
|
||||
- name: desktop
|
||||
version: "43"
|
||||
desktop: gnome
|
||||
storage: standard
|
||||
bootloader: grub
|
||||
security: devel
|
||||
hardware-support: true
|
||||
initial-setup: server
|
||||
- name: desktop
|
||||
version: "43"
|
||||
desktop: labwc
|
||||
storage: standard
|
||||
bootloader: grub
|
||||
security: secure
|
||||
hardware-support: true
|
||||
initial-setup: server
|
||||
- name: desktop
|
||||
version: "rawhide"
|
||||
desktop: gnome
|
||||
storage: standard
|
||||
bootloader: grub
|
||||
security: secure
|
||||
hardware-support: true
|
||||
initial-setup: server
|
||||
- name: desktop
|
||||
version: "rawhide"
|
||||
desktop: gnome
|
||||
storage: encrypted
|
||||
bootloader: grub
|
||||
security: secure
|
||||
hardware-support: true
|
||||
hardware-support: [true, false]
|
||||
guest-agents: [true, false]
|
||||
initial-setup: server
|
||||
security: [secure, 'off']
|
||||
|
||||
# Install variants - server (minimal, no desktop packages)
|
||||
# Install variants - server
|
||||
- name: install
|
||||
variants:
|
||||
- name: server
|
||||
version: "43"
|
||||
storage: standard
|
||||
version: ["43", "rawhide"]
|
||||
storage: ["standard", "encrypted"]
|
||||
bootloader: grub
|
||||
security: secure
|
||||
hardware-support: true
|
||||
initial-setup: server
|
||||
- name: server
|
||||
version: "43"
|
||||
storage: standard
|
||||
bootloader: grub
|
||||
security: devel
|
||||
hardware-support: true
|
||||
initial-setup: server
|
||||
- name: server
|
||||
version: "rawhide"
|
||||
storage: standard
|
||||
bootloader: grub
|
||||
security: secure
|
||||
hardware-support: true
|
||||
initial-setup: server
|
||||
- name: server
|
||||
version: "rawhide"
|
||||
storage: standard
|
||||
bootloader: grub
|
||||
security: devel
|
||||
hardware-support: true
|
||||
hardware-support: [true, false]
|
||||
guest-agents: [true, false]
|
||||
initial-setup: server
|
||||
security: [secure, 'off']
|
||||
|
||||
# Install variants - hypervisor
|
||||
# Install variants - server hypervisor
|
||||
- name: install
|
||||
variants:
|
||||
- name: hypervisor
|
||||
version: "rawhide"
|
||||
storage: standard
|
||||
version: ["43", "rawhide"]
|
||||
storage: ["standard", "encrypted"]
|
||||
bootloader: grub
|
||||
security: secure
|
||||
hardware-support: true
|
||||
hardware-support: [true, false]
|
||||
guest-agents: [true, false]
|
||||
hypervisor: base
|
||||
hypervisor-type:
|
||||
- amdcpu
|
||||
- name: hypervisor
|
||||
version: "rawhide"
|
||||
storage: standard
|
||||
bootloader: grub
|
||||
security: secure
|
||||
hardware-support: true
|
||||
hypervisor: base
|
||||
hypervisor-type:
|
||||
- intelcpu
|
||||
hypervisor-type: ["amdcpu", "intelcpu"]
|
||||
initial-setup: server
|
||||
security: [secure, 'off']
|
||||
|
||||
# Install variants - hypervisor with desktop
|
||||
# Install variants - desktop-hypervisor
|
||||
- name: install
|
||||
variants:
|
||||
- name: hypervisor-desktop
|
||||
version: "rawhide"
|
||||
- name: desktop-hypervisor
|
||||
version: ["43", "rawhide"]
|
||||
desktop: gnome
|
||||
storage: standard
|
||||
storage: ["standard", "encrypted"]
|
||||
bootloader: grub
|
||||
security: secure
|
||||
hardware-support: true
|
||||
hardware-support: [true, false]
|
||||
hypervisor: desktop
|
||||
hypervisor-type:
|
||||
- intelcpu
|
||||
- intelgpu
|
||||
initial-setup: desktop
|
||||
hypervisor-type: ["amdcpu", "intelcpu"]
|
||||
initial-setup: server
|
||||
security: [secure, 'off']
|
||||
|
||||
# Live variants - desktop
|
||||
- name: live
|
||||
variants:
|
||||
- name: desktop
|
||||
version: "rawhide"
|
||||
security: secure
|
||||
hardware-support: true
|
||||
hardware-support: [true, false]
|
||||
guest-agents: [true, false]
|
||||
|
||||
# Live variants - server
|
||||
- name: live
|
||||
variants:
|
||||
- name: server
|
||||
version: "rawhide"
|
||||
security: secure
|
||||
hardware-support: true
|
||||
hardware-support: [true, false]
|
||||
guest-agents: [true, false]
|
||||
|
||||
+3
-5
@@ -19,11 +19,9 @@
|
||||
%ksappend fragments/desktop/gnome/config.ks
|
||||
%ksappend fragments/desktop/gnome/packages.ks
|
||||
%ksappend fragments/desktop/gnome/post-scripts.ks
|
||||
%ksappend fragments/core/security/enabled.ks
|
||||
%ksappend fragments/packages/virtual-machine-manager/packages.ks
|
||||
%ksappend fragments/packages/virtual-machine-manager/post-scripts.ks
|
||||
%ksappend fragments/guest-agents/gui.ks
|
||||
%ksappend fragments/initial-setup/server/config.ks
|
||||
%ksappend fragments/hypervisor/intelcpu.ks
|
||||
%ksappend fragments/hypervisor/intelgpu.ks
|
||||
%ksappend fragments/initial-setup/desktop/config.ks
|
||||
%ksappend fragments/repo/rawhide-mirrors.ks
|
||||
%ksappend fragments/core/security/enabled.ks
|
||||
%ksappend fragments/repo/fedora-43-mirrors.ks
|
||||
@@ -0,0 +1,27 @@
|
||||
# __ ____ ____ _____
|
||||
# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/
|
||||
# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \
|
||||
# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ /
|
||||
# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/
|
||||
# /_/ /____/
|
||||
|
||||
# An install recipe for desktop, server, or hypervisor
|
||||
|
||||
%ksappend fragments/core/base.ks
|
||||
%ksappend fragments/storage/standard.ks
|
||||
%ksappend fragments/bootloader/grub.ks
|
||||
%ksappend fragments/core/locale.ks
|
||||
%ksappend fragments/core/services.ks
|
||||
%ksappend fragments/core/network.ks
|
||||
%ksappend fragments/packages/core-group.ks
|
||||
%ksappend fragments/packages/fedora-remix.ks
|
||||
%ksappend fragments/packages/hand-picked.ks
|
||||
%ksappend fragments/desktop/gnome/config.ks
|
||||
%ksappend fragments/desktop/gnome/packages.ks
|
||||
%ksappend fragments/desktop/gnome/post-scripts.ks
|
||||
%ksappend fragments/packages/virtual-machine-manager/packages.ks
|
||||
%ksappend fragments/packages/virtual-machine-manager/post-scripts.ks
|
||||
%ksappend fragments/initial-setup/server/config.ks
|
||||
%ksappend fragments/hypervisor/intelcpu.ks
|
||||
%ksappend fragments/core/security/disabled.ks
|
||||
%ksappend fragments/repo/fedora-43-mirrors.ks
|
||||
@@ -0,0 +1,28 @@
|
||||
# __ ____ ____ _____
|
||||
# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/
|
||||
# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \
|
||||
# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ /
|
||||
# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/
|
||||
# /_/ /____/
|
||||
|
||||
# An install recipe for desktop, server, or hypervisor
|
||||
|
||||
%ksappend fragments/core/base.ks
|
||||
%ksappend fragments/storage/standard.ks
|
||||
%ksappend fragments/bootloader/grub.ks
|
||||
%ksappend fragments/core/locale.ks
|
||||
%ksappend fragments/core/services.ks
|
||||
%ksappend fragments/core/network.ks
|
||||
%ksappend fragments/packages/core-group.ks
|
||||
%ksappend fragments/packages/fedora-remix.ks
|
||||
%ksappend fragments/packages/hand-picked.ks
|
||||
%ksappend fragments/desktop/gnome/config.ks
|
||||
%ksappend fragments/desktop/gnome/packages.ks
|
||||
%ksappend fragments/desktop/gnome/post-scripts.ks
|
||||
%ksappend fragments/packages/virtual-machine-manager/packages.ks
|
||||
%ksappend fragments/packages/virtual-machine-manager/post-scripts.ks
|
||||
%ksappend fragments/initial-setup/server/config.ks
|
||||
%ksappend fragments/storage/encrypted.ks
|
||||
%ksappend fragments/hypervisor/intelcpu.ks
|
||||
%ksappend fragments/core/security/disabled.ks
|
||||
%ksappend fragments/repo/fedora-43-mirrors.ks
|
||||
@@ -0,0 +1,28 @@
|
||||
# __ ____ ____ _____
|
||||
# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/
|
||||
# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \
|
||||
# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ /
|
||||
# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/
|
||||
# /_/ /____/
|
||||
|
||||
# An install recipe for desktop, server, or hypervisor
|
||||
|
||||
%ksappend fragments/core/base.ks
|
||||
%ksappend fragments/storage/standard.ks
|
||||
%ksappend fragments/bootloader/grub.ks
|
||||
%ksappend fragments/core/locale.ks
|
||||
%ksappend fragments/core/services.ks
|
||||
%ksappend fragments/core/network.ks
|
||||
%ksappend fragments/packages/core-group.ks
|
||||
%ksappend fragments/packages/fedora-remix.ks
|
||||
%ksappend fragments/packages/hand-picked.ks
|
||||
%ksappend fragments/desktop/gnome/config.ks
|
||||
%ksappend fragments/desktop/gnome/packages.ks
|
||||
%ksappend fragments/desktop/gnome/post-scripts.ks
|
||||
%ksappend fragments/packages/virtual-machine-manager/packages.ks
|
||||
%ksappend fragments/packages/virtual-machine-manager/post-scripts.ks
|
||||
%ksappend fragments/initial-setup/server/config.ks
|
||||
%ksappend fragments/storage/encrypted.ks
|
||||
%ksappend fragments/hypervisor/intelcpu.ks
|
||||
%ksappend fragments/core/security/enabled.ks
|
||||
%ksappend fragments/repo/fedora-43-mirrors.ks
|
||||
@@ -19,6 +19,6 @@
|
||||
%ksappend fragments/desktop/gnome/config.ks
|
||||
%ksappend fragments/desktop/gnome/packages.ks
|
||||
%ksappend fragments/desktop/gnome/post-scripts.ks
|
||||
%ksappend fragments/core/security/enabled.ks
|
||||
%ksappend fragments/initial-setup/server/config.ks
|
||||
%ksappend fragments/core/security/enabled.ks
|
||||
%ksappend fragments/repo/fedora-43-mirrors.ks
|
||||
@@ -19,6 +19,6 @@
|
||||
%ksappend fragments/desktop/gnome/config.ks
|
||||
%ksappend fragments/desktop/gnome/packages.ks
|
||||
%ksappend fragments/desktop/gnome/post-scripts.ks
|
||||
%ksappend fragments/core/security/disabled.ks
|
||||
%ksappend fragments/initial-setup/server/config.ks
|
||||
%ksappend fragments/core/security/disabled.ks
|
||||
%ksappend fragments/repo/fedora-43-mirrors.ks
|
||||
@@ -0,0 +1,25 @@
|
||||
# __ ____ ____ _____
|
||||
# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/
|
||||
# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \
|
||||
# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ /
|
||||
# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/
|
||||
# /_/ /____/
|
||||
|
||||
# An install recipe for desktop, server, or hypervisor
|
||||
|
||||
%ksappend fragments/core/base.ks
|
||||
%ksappend fragments/storage/standard.ks
|
||||
%ksappend fragments/bootloader/grub.ks
|
||||
%ksappend fragments/core/locale.ks
|
||||
%ksappend fragments/core/services.ks
|
||||
%ksappend fragments/core/network.ks
|
||||
%ksappend fragments/packages/core-group.ks
|
||||
%ksappend fragments/packages/fedora-remix.ks
|
||||
%ksappend fragments/packages/hand-picked.ks
|
||||
%ksappend fragments/desktop/gnome/config.ks
|
||||
%ksappend fragments/desktop/gnome/packages.ks
|
||||
%ksappend fragments/desktop/gnome/post-scripts.ks
|
||||
%ksappend fragments/initial-setup/server/config.ks
|
||||
%ksappend fragments/storage/encrypted.ks
|
||||
%ksappend fragments/core/security/disabled.ks
|
||||
%ksappend fragments/repo/fedora-43-mirrors.ks
|
||||
@@ -0,0 +1,25 @@
|
||||
# __ ____ ____ _____
|
||||
# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/
|
||||
# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \
|
||||
# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ /
|
||||
# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/
|
||||
# /_/ /____/
|
||||
|
||||
# An install recipe for desktop, server, or hypervisor
|
||||
|
||||
%ksappend fragments/core/base.ks
|
||||
%ksappend fragments/storage/standard.ks
|
||||
%ksappend fragments/bootloader/grub.ks
|
||||
%ksappend fragments/core/locale.ks
|
||||
%ksappend fragments/core/services.ks
|
||||
%ksappend fragments/core/network.ks
|
||||
%ksappend fragments/packages/core-group.ks
|
||||
%ksappend fragments/packages/fedora-remix.ks
|
||||
%ksappend fragments/packages/hand-picked.ks
|
||||
%ksappend fragments/desktop/gnome/config.ks
|
||||
%ksappend fragments/desktop/gnome/packages.ks
|
||||
%ksappend fragments/desktop/gnome/post-scripts.ks
|
||||
%ksappend fragments/initial-setup/server/config.ks
|
||||
%ksappend fragments/storage/encrypted.ks
|
||||
%ksappend fragments/core/security/enabled.ks
|
||||
%ksappend fragments/repo/fedora-43-mirrors.ks
|
||||
@@ -19,6 +19,6 @@
|
||||
%ksappend fragments/desktop/gnome/config.ks
|
||||
%ksappend fragments/desktop/gnome/packages.ks
|
||||
%ksappend fragments/desktop/gnome/post-scripts.ks
|
||||
%ksappend fragments/core/security/enabled.ks
|
||||
%ksappend fragments/initial-setup/server/config.ks
|
||||
%ksappend fragments/core/security/enabled.ks
|
||||
%ksappend fragments/repo/rawhide-mirrors.ks
|
||||
@@ -0,0 +1,24 @@
|
||||
# __ ____ ____ _____
|
||||
# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/
|
||||
# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \
|
||||
# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ /
|
||||
# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/
|
||||
# /_/ /____/
|
||||
|
||||
# An install recipe for desktop, server, or hypervisor
|
||||
|
||||
%ksappend fragments/core/base.ks
|
||||
%ksappend fragments/storage/standard.ks
|
||||
%ksappend fragments/bootloader/grub.ks
|
||||
%ksappend fragments/core/locale.ks
|
||||
%ksappend fragments/core/services.ks
|
||||
%ksappend fragments/core/network.ks
|
||||
%ksappend fragments/packages/core-group.ks
|
||||
%ksappend fragments/packages/fedora-remix.ks
|
||||
%ksappend fragments/packages/hand-picked.ks
|
||||
%ksappend fragments/desktop/gnome/config.ks
|
||||
%ksappend fragments/desktop/gnome/packages.ks
|
||||
%ksappend fragments/desktop/gnome/post-scripts.ks
|
||||
%ksappend fragments/initial-setup/server/config.ks
|
||||
%ksappend fragments/core/security/disabled.ks
|
||||
%ksappend fragments/repo/rawhide-mirrors.ks
|
||||
@@ -0,0 +1,25 @@
|
||||
# __ ____ ____ _____
|
||||
# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/
|
||||
# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \
|
||||
# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ /
|
||||
# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/
|
||||
# /_/ /____/
|
||||
|
||||
# An install recipe for desktop, server, or hypervisor
|
||||
|
||||
%ksappend fragments/core/base.ks
|
||||
%ksappend fragments/storage/standard.ks
|
||||
%ksappend fragments/bootloader/grub.ks
|
||||
%ksappend fragments/core/locale.ks
|
||||
%ksappend fragments/core/services.ks
|
||||
%ksappend fragments/core/network.ks
|
||||
%ksappend fragments/packages/core-group.ks
|
||||
%ksappend fragments/packages/fedora-remix.ks
|
||||
%ksappend fragments/packages/hand-picked.ks
|
||||
%ksappend fragments/desktop/gnome/config.ks
|
||||
%ksappend fragments/desktop/gnome/packages.ks
|
||||
%ksappend fragments/desktop/gnome/post-scripts.ks
|
||||
%ksappend fragments/initial-setup/server/config.ks
|
||||
%ksappend fragments/storage/encrypted.ks
|
||||
%ksappend fragments/core/security/disabled.ks
|
||||
%ksappend fragments/repo/rawhide-mirrors.ks
|
||||
@@ -19,7 +19,7 @@
|
||||
%ksappend fragments/desktop/gnome/config.ks
|
||||
%ksappend fragments/desktop/gnome/packages.ks
|
||||
%ksappend fragments/desktop/gnome/post-scripts.ks
|
||||
%ksappend fragments/initial-setup/server/config.ks
|
||||
%ksappend fragments/storage/encrypted.ks
|
||||
%ksappend fragments/core/security/enabled.ks
|
||||
%ksappend fragments/initial-setup/server/config.ks
|
||||
%ksappend fragments/repo/rawhide-mirrors.ks
|
||||
@@ -16,10 +16,10 @@
|
||||
%ksappend fragments/packages/core-group.ks
|
||||
%ksappend fragments/packages/fedora-remix.ks
|
||||
%ksappend fragments/packages/hand-picked.ks
|
||||
%ksappend fragments/core/security/enabled.ks
|
||||
%ksappend fragments/hypervisor/base/packages.ks
|
||||
%ksappend fragments/hypervisor/base/services.ks
|
||||
%ksappend fragments/hypervisor/base/post-scripts.ks
|
||||
%ksappend fragments/guest-agents/base.ks
|
||||
%ksappend fragments/hypervisor/amdcpu.ks
|
||||
%ksappend fragments/repo/rawhide-mirrors.ks
|
||||
%ksappend fragments/initial-setup/server/config.ks
|
||||
%ksappend fragments/hypervisor/intelcpu.ks
|
||||
%ksappend fragments/core/security/enabled.ks
|
||||
%ksappend fragments/repo/fedora-43-mirrors.ks
|
||||
@@ -0,0 +1,25 @@
|
||||
# __ ____ ____ _____
|
||||
# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/
|
||||
# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \
|
||||
# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ /
|
||||
# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/
|
||||
# /_/ /____/
|
||||
|
||||
# An install recipe for desktop, server, or hypervisor
|
||||
|
||||
%ksappend fragments/core/base.ks
|
||||
%ksappend fragments/storage/standard.ks
|
||||
%ksappend fragments/bootloader/grub.ks
|
||||
%ksappend fragments/core/locale.ks
|
||||
%ksappend fragments/core/services.ks
|
||||
%ksappend fragments/core/network.ks
|
||||
%ksappend fragments/packages/core-group.ks
|
||||
%ksappend fragments/packages/fedora-remix.ks
|
||||
%ksappend fragments/packages/hand-picked.ks
|
||||
%ksappend fragments/hypervisor/base/packages.ks
|
||||
%ksappend fragments/hypervisor/base/services.ks
|
||||
%ksappend fragments/hypervisor/base/post-scripts.ks
|
||||
%ksappend fragments/initial-setup/server/config.ks
|
||||
%ksappend fragments/hypervisor/intelcpu.ks
|
||||
%ksappend fragments/core/security/disabled.ks
|
||||
%ksappend fragments/repo/fedora-43-mirrors.ks
|
||||
@@ -0,0 +1,26 @@
|
||||
# __ ____ ____ _____
|
||||
# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/
|
||||
# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \
|
||||
# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ /
|
||||
# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/
|
||||
# /_/ /____/
|
||||
|
||||
# An install recipe for desktop, server, or hypervisor
|
||||
|
||||
%ksappend fragments/core/base.ks
|
||||
%ksappend fragments/storage/standard.ks
|
||||
%ksappend fragments/bootloader/grub.ks
|
||||
%ksappend fragments/core/locale.ks
|
||||
%ksappend fragments/core/services.ks
|
||||
%ksappend fragments/core/network.ks
|
||||
%ksappend fragments/packages/core-group.ks
|
||||
%ksappend fragments/packages/fedora-remix.ks
|
||||
%ksappend fragments/packages/hand-picked.ks
|
||||
%ksappend fragments/hypervisor/base/packages.ks
|
||||
%ksappend fragments/hypervisor/base/services.ks
|
||||
%ksappend fragments/hypervisor/base/post-scripts.ks
|
||||
%ksappend fragments/initial-setup/server/config.ks
|
||||
%ksappend fragments/storage/encrypted.ks
|
||||
%ksappend fragments/hypervisor/intelcpu.ks
|
||||
%ksappend fragments/core/security/disabled.ks
|
||||
%ksappend fragments/repo/fedora-43-mirrors.ks
|
||||
@@ -0,0 +1,26 @@
|
||||
# __ ____ ____ _____
|
||||
# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/
|
||||
# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \
|
||||
# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ /
|
||||
# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/
|
||||
# /_/ /____/
|
||||
|
||||
# An install recipe for desktop, server, or hypervisor
|
||||
|
||||
%ksappend fragments/core/base.ks
|
||||
%ksappend fragments/storage/standard.ks
|
||||
%ksappend fragments/bootloader/grub.ks
|
||||
%ksappend fragments/core/locale.ks
|
||||
%ksappend fragments/core/services.ks
|
||||
%ksappend fragments/core/network.ks
|
||||
%ksappend fragments/packages/core-group.ks
|
||||
%ksappend fragments/packages/fedora-remix.ks
|
||||
%ksappend fragments/packages/hand-picked.ks
|
||||
%ksappend fragments/hypervisor/base/packages.ks
|
||||
%ksappend fragments/hypervisor/base/services.ks
|
||||
%ksappend fragments/hypervisor/base/post-scripts.ks
|
||||
%ksappend fragments/initial-setup/server/config.ks
|
||||
%ksappend fragments/storage/encrypted.ks
|
||||
%ksappend fragments/hypervisor/intelcpu.ks
|
||||
%ksappend fragments/core/security/enabled.ks
|
||||
%ksappend fragments/repo/fedora-43-mirrors.ks
|
||||
+2
-2
@@ -16,10 +16,10 @@
|
||||
%ksappend fragments/packages/core-group.ks
|
||||
%ksappend fragments/packages/fedora-remix.ks
|
||||
%ksappend fragments/packages/hand-picked.ks
|
||||
%ksappend fragments/core/security/enabled.ks
|
||||
%ksappend fragments/hypervisor/base/packages.ks
|
||||
%ksappend fragments/hypervisor/base/services.ks
|
||||
%ksappend fragments/hypervisor/base/post-scripts.ks
|
||||
%ksappend fragments/guest-agents/base.ks
|
||||
%ksappend fragments/initial-setup/server/config.ks
|
||||
%ksappend fragments/hypervisor/intelcpu.ks
|
||||
%ksappend fragments/core/security/enabled.ks
|
||||
%ksappend fragments/repo/rawhide-mirrors.ks
|
||||
@@ -0,0 +1,25 @@
|
||||
# __ ____ ____ _____
|
||||
# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/
|
||||
# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \
|
||||
# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ /
|
||||
# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/
|
||||
# /_/ /____/
|
||||
|
||||
# An install recipe for desktop, server, or hypervisor
|
||||
|
||||
%ksappend fragments/core/base.ks
|
||||
%ksappend fragments/storage/standard.ks
|
||||
%ksappend fragments/bootloader/grub.ks
|
||||
%ksappend fragments/core/locale.ks
|
||||
%ksappend fragments/core/services.ks
|
||||
%ksappend fragments/core/network.ks
|
||||
%ksappend fragments/packages/core-group.ks
|
||||
%ksappend fragments/packages/fedora-remix.ks
|
||||
%ksappend fragments/packages/hand-picked.ks
|
||||
%ksappend fragments/hypervisor/base/packages.ks
|
||||
%ksappend fragments/hypervisor/base/services.ks
|
||||
%ksappend fragments/hypervisor/base/post-scripts.ks
|
||||
%ksappend fragments/initial-setup/server/config.ks
|
||||
%ksappend fragments/hypervisor/intelcpu.ks
|
||||
%ksappend fragments/core/security/disabled.ks
|
||||
%ksappend fragments/repo/rawhide-mirrors.ks
|
||||
@@ -0,0 +1,26 @@
|
||||
# __ ____ ____ _____
|
||||
# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/
|
||||
# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \
|
||||
# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ /
|
||||
# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/
|
||||
# /_/ /____/
|
||||
|
||||
# An install recipe for desktop, server, or hypervisor
|
||||
|
||||
%ksappend fragments/core/base.ks
|
||||
%ksappend fragments/storage/standard.ks
|
||||
%ksappend fragments/bootloader/grub.ks
|
||||
%ksappend fragments/core/locale.ks
|
||||
%ksappend fragments/core/services.ks
|
||||
%ksappend fragments/core/network.ks
|
||||
%ksappend fragments/packages/core-group.ks
|
||||
%ksappend fragments/packages/fedora-remix.ks
|
||||
%ksappend fragments/packages/hand-picked.ks
|
||||
%ksappend fragments/hypervisor/base/packages.ks
|
||||
%ksappend fragments/hypervisor/base/services.ks
|
||||
%ksappend fragments/hypervisor/base/post-scripts.ks
|
||||
%ksappend fragments/initial-setup/server/config.ks
|
||||
%ksappend fragments/storage/encrypted.ks
|
||||
%ksappend fragments/hypervisor/intelcpu.ks
|
||||
%ksappend fragments/core/security/disabled.ks
|
||||
%ksappend fragments/repo/rawhide-mirrors.ks
|
||||
@@ -0,0 +1,26 @@
|
||||
# __ ____ ____ _____
|
||||
# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/
|
||||
# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \
|
||||
# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ /
|
||||
# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/
|
||||
# /_/ /____/
|
||||
|
||||
# An install recipe for desktop, server, or hypervisor
|
||||
|
||||
%ksappend fragments/core/base.ks
|
||||
%ksappend fragments/storage/standard.ks
|
||||
%ksappend fragments/bootloader/grub.ks
|
||||
%ksappend fragments/core/locale.ks
|
||||
%ksappend fragments/core/services.ks
|
||||
%ksappend fragments/core/network.ks
|
||||
%ksappend fragments/packages/core-group.ks
|
||||
%ksappend fragments/packages/fedora-remix.ks
|
||||
%ksappend fragments/packages/hand-picked.ks
|
||||
%ksappend fragments/hypervisor/base/packages.ks
|
||||
%ksappend fragments/hypervisor/base/services.ks
|
||||
%ksappend fragments/hypervisor/base/post-scripts.ks
|
||||
%ksappend fragments/initial-setup/server/config.ks
|
||||
%ksappend fragments/storage/encrypted.ks
|
||||
%ksappend fragments/hypervisor/intelcpu.ks
|
||||
%ksappend fragments/core/security/enabled.ks
|
||||
%ksappend fragments/repo/rawhide-mirrors.ks
|
||||
@@ -0,0 +1,27 @@
|
||||
# __ ____ ____ _____
|
||||
# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/
|
||||
# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \
|
||||
# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ /
|
||||
# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/
|
||||
# /_/ /____/
|
||||
|
||||
# An install recipe for desktop, server, or hypervisor
|
||||
|
||||
%ksappend fragments/core/base.ks
|
||||
%ksappend fragments/storage/standard.ks
|
||||
%ksappend fragments/bootloader/grub.ks
|
||||
%ksappend fragments/core/locale.ks
|
||||
%ksappend fragments/core/services.ks
|
||||
%ksappend fragments/core/network.ks
|
||||
%ksappend fragments/packages/core-group.ks
|
||||
%ksappend fragments/packages/fedora-remix.ks
|
||||
%ksappend fragments/packages/hand-picked.ks
|
||||
%ksappend fragments/desktop/gnome/config.ks
|
||||
%ksappend fragments/desktop/gnome/packages.ks
|
||||
%ksappend fragments/desktop/gnome/post-scripts.ks
|
||||
%ksappend fragments/packages/virtual-machine-manager/packages.ks
|
||||
%ksappend fragments/packages/virtual-machine-manager/post-scripts.ks
|
||||
%ksappend fragments/initial-setup/server/config.ks
|
||||
%ksappend fragments/hypervisor/intelcpu.ks
|
||||
%ksappend fragments/core/security/enabled.ks
|
||||
%ksappend fragments/repo/rawhide-mirrors.ks
|
||||
@@ -0,0 +1,27 @@
|
||||
# __ ____ ____ _____
|
||||
# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/
|
||||
# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \
|
||||
# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ /
|
||||
# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/
|
||||
# /_/ /____/
|
||||
|
||||
# An install recipe for desktop, server, or hypervisor
|
||||
|
||||
%ksappend fragments/core/base.ks
|
||||
%ksappend fragments/storage/standard.ks
|
||||
%ksappend fragments/bootloader/grub.ks
|
||||
%ksappend fragments/core/locale.ks
|
||||
%ksappend fragments/core/services.ks
|
||||
%ksappend fragments/core/network.ks
|
||||
%ksappend fragments/packages/core-group.ks
|
||||
%ksappend fragments/packages/fedora-remix.ks
|
||||
%ksappend fragments/packages/hand-picked.ks
|
||||
%ksappend fragments/desktop/gnome/config.ks
|
||||
%ksappend fragments/desktop/gnome/packages.ks
|
||||
%ksappend fragments/desktop/gnome/post-scripts.ks
|
||||
%ksappend fragments/packages/virtual-machine-manager/packages.ks
|
||||
%ksappend fragments/packages/virtual-machine-manager/post-scripts.ks
|
||||
%ksappend fragments/initial-setup/server/config.ks
|
||||
%ksappend fragments/hypervisor/intelcpu.ks
|
||||
%ksappend fragments/core/security/disabled.ks
|
||||
%ksappend fragments/repo/rawhide-mirrors.ks
|
||||
@@ -0,0 +1,28 @@
|
||||
# __ ____ ____ _____
|
||||
# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/
|
||||
# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \
|
||||
# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ /
|
||||
# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/
|
||||
# /_/ /____/
|
||||
|
||||
# An install recipe for desktop, server, or hypervisor
|
||||
|
||||
%ksappend fragments/core/base.ks
|
||||
%ksappend fragments/storage/standard.ks
|
||||
%ksappend fragments/bootloader/grub.ks
|
||||
%ksappend fragments/core/locale.ks
|
||||
%ksappend fragments/core/services.ks
|
||||
%ksappend fragments/core/network.ks
|
||||
%ksappend fragments/packages/core-group.ks
|
||||
%ksappend fragments/packages/fedora-remix.ks
|
||||
%ksappend fragments/packages/hand-picked.ks
|
||||
%ksappend fragments/desktop/gnome/config.ks
|
||||
%ksappend fragments/desktop/gnome/packages.ks
|
||||
%ksappend fragments/desktop/gnome/post-scripts.ks
|
||||
%ksappend fragments/packages/virtual-machine-manager/packages.ks
|
||||
%ksappend fragments/packages/virtual-machine-manager/post-scripts.ks
|
||||
%ksappend fragments/initial-setup/server/config.ks
|
||||
%ksappend fragments/storage/encrypted.ks
|
||||
%ksappend fragments/hypervisor/intelcpu.ks
|
||||
%ksappend fragments/core/security/disabled.ks
|
||||
%ksappend fragments/repo/rawhide-mirrors.ks
|
||||
@@ -0,0 +1,28 @@
|
||||
# __ ____ ____ _____
|
||||
# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/
|
||||
# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \
|
||||
# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ /
|
||||
# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/
|
||||
# /_/ /____/
|
||||
|
||||
# An install recipe for desktop, server, or hypervisor
|
||||
|
||||
%ksappend fragments/core/base.ks
|
||||
%ksappend fragments/storage/standard.ks
|
||||
%ksappend fragments/bootloader/grub.ks
|
||||
%ksappend fragments/core/locale.ks
|
||||
%ksappend fragments/core/services.ks
|
||||
%ksappend fragments/core/network.ks
|
||||
%ksappend fragments/packages/core-group.ks
|
||||
%ksappend fragments/packages/fedora-remix.ks
|
||||
%ksappend fragments/packages/hand-picked.ks
|
||||
%ksappend fragments/desktop/gnome/config.ks
|
||||
%ksappend fragments/desktop/gnome/packages.ks
|
||||
%ksappend fragments/desktop/gnome/post-scripts.ks
|
||||
%ksappend fragments/packages/virtual-machine-manager/packages.ks
|
||||
%ksappend fragments/packages/virtual-machine-manager/post-scripts.ks
|
||||
%ksappend fragments/initial-setup/server/config.ks
|
||||
%ksappend fragments/storage/encrypted.ks
|
||||
%ksappend fragments/hypervisor/intelcpu.ks
|
||||
%ksappend fragments/core/security/enabled.ks
|
||||
%ksappend fragments/repo/rawhide-mirrors.ks
|
||||
@@ -16,6 +16,6 @@
|
||||
%ksappend fragments/packages/core-group.ks
|
||||
%ksappend fragments/packages/fedora-remix.ks
|
||||
%ksappend fragments/packages/hand-picked.ks
|
||||
%ksappend fragments/core/security/enabled.ks
|
||||
%ksappend fragments/initial-setup/server/config.ks
|
||||
%ksappend fragments/core/security/enabled.ks
|
||||
%ksappend fragments/repo/fedora-43-mirrors.ks
|
||||
@@ -16,6 +16,6 @@
|
||||
%ksappend fragments/packages/core-group.ks
|
||||
%ksappend fragments/packages/fedora-remix.ks
|
||||
%ksappend fragments/packages/hand-picked.ks
|
||||
%ksappend fragments/core/security/disabled.ks
|
||||
%ksappend fragments/initial-setup/server/config.ks
|
||||
%ksappend fragments/core/security/disabled.ks
|
||||
%ksappend fragments/repo/fedora-43-mirrors.ks
|
||||
@@ -0,0 +1,22 @@
|
||||
# __ ____ ____ _____
|
||||
# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/
|
||||
# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \
|
||||
# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ /
|
||||
# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/
|
||||
# /_/ /____/
|
||||
|
||||
# An install recipe for desktop, server, or hypervisor
|
||||
|
||||
%ksappend fragments/core/base.ks
|
||||
%ksappend fragments/storage/standard.ks
|
||||
%ksappend fragments/bootloader/grub.ks
|
||||
%ksappend fragments/core/locale.ks
|
||||
%ksappend fragments/core/services.ks
|
||||
%ksappend fragments/core/network.ks
|
||||
%ksappend fragments/packages/core-group.ks
|
||||
%ksappend fragments/packages/fedora-remix.ks
|
||||
%ksappend fragments/packages/hand-picked.ks
|
||||
%ksappend fragments/initial-setup/server/config.ks
|
||||
%ksappend fragments/storage/encrypted.ks
|
||||
%ksappend fragments/core/security/disabled.ks
|
||||
%ksappend fragments/repo/fedora-43-mirrors.ks
|
||||
@@ -16,7 +16,7 @@
|
||||
%ksappend fragments/packages/core-group.ks
|
||||
%ksappend fragments/packages/fedora-remix.ks
|
||||
%ksappend fragments/packages/hand-picked.ks
|
||||
%ksappend fragments/desktop/labwc/config.ks
|
||||
%ksappend fragments/core/security/enabled.ks
|
||||
%ksappend fragments/initial-setup/server/config.ks
|
||||
%ksappend fragments/storage/encrypted.ks
|
||||
%ksappend fragments/core/security/enabled.ks
|
||||
%ksappend fragments/repo/fedora-43-mirrors.ks
|
||||
@@ -16,6 +16,6 @@
|
||||
%ksappend fragments/packages/core-group.ks
|
||||
%ksappend fragments/packages/fedora-remix.ks
|
||||
%ksappend fragments/packages/hand-picked.ks
|
||||
%ksappend fragments/core/security/enabled.ks
|
||||
%ksappend fragments/initial-setup/server/config.ks
|
||||
%ksappend fragments/core/security/enabled.ks
|
||||
%ksappend fragments/repo/rawhide-mirrors.ks
|
||||
@@ -16,6 +16,6 @@
|
||||
%ksappend fragments/packages/core-group.ks
|
||||
%ksappend fragments/packages/fedora-remix.ks
|
||||
%ksappend fragments/packages/hand-picked.ks
|
||||
%ksappend fragments/core/security/disabled.ks
|
||||
%ksappend fragments/initial-setup/server/config.ks
|
||||
%ksappend fragments/core/security/disabled.ks
|
||||
%ksappend fragments/repo/rawhide-mirrors.ks
|
||||
@@ -0,0 +1,22 @@
|
||||
# __ ____ ____ _____
|
||||
# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/
|
||||
# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \
|
||||
# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ /
|
||||
# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/
|
||||
# /_/ /____/
|
||||
|
||||
# An install recipe for desktop, server, or hypervisor
|
||||
|
||||
%ksappend fragments/core/base.ks
|
||||
%ksappend fragments/storage/standard.ks
|
||||
%ksappend fragments/bootloader/grub.ks
|
||||
%ksappend fragments/core/locale.ks
|
||||
%ksappend fragments/core/services.ks
|
||||
%ksappend fragments/core/network.ks
|
||||
%ksappend fragments/packages/core-group.ks
|
||||
%ksappend fragments/packages/fedora-remix.ks
|
||||
%ksappend fragments/packages/hand-picked.ks
|
||||
%ksappend fragments/initial-setup/server/config.ks
|
||||
%ksappend fragments/storage/encrypted.ks
|
||||
%ksappend fragments/core/security/disabled.ks
|
||||
%ksappend fragments/repo/rawhide-mirrors.ks
|
||||
@@ -0,0 +1,22 @@
|
||||
# __ ____ ____ _____
|
||||
# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/
|
||||
# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \
|
||||
# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ /
|
||||
# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/
|
||||
# /_/ /____/
|
||||
|
||||
# An install recipe for desktop, server, or hypervisor
|
||||
|
||||
%ksappend fragments/core/base.ks
|
||||
%ksappend fragments/storage/standard.ks
|
||||
%ksappend fragments/bootloader/grub.ks
|
||||
%ksappend fragments/core/locale.ks
|
||||
%ksappend fragments/core/services.ks
|
||||
%ksappend fragments/core/network.ks
|
||||
%ksappend fragments/packages/core-group.ks
|
||||
%ksappend fragments/packages/fedora-remix.ks
|
||||
%ksappend fragments/packages/hand-picked.ks
|
||||
%ksappend fragments/initial-setup/server/config.ks
|
||||
%ksappend fragments/storage/encrypted.ks
|
||||
%ksappend fragments/core/security/enabled.ks
|
||||
%ksappend fragments/repo/rawhide-mirrors.ks
|
||||
@@ -9,12 +9,12 @@
|
||||
|
||||
%ksappend fragments/live/core/base.ks
|
||||
%ksappend fragments/live/core/storage.ks
|
||||
%ksappend fragments/bootloader/grub.ks
|
||||
%ksappend fragments/live/core/bootloader/grub.ks
|
||||
%ksappend fragments/core/locale.ks
|
||||
%ksappend fragments/core/services.ks
|
||||
%ksappend fragments/core/network.ks
|
||||
%ksappend fragments/live/core/packages.ks
|
||||
%ksappend fragments/live/post/base.ks
|
||||
%ksappend fragments/live/post/session.ks
|
||||
%ksappend fragments/core/security/enabled.ks
|
||||
%ksappend fragments/repo/rpmfusion-nonfree.ks
|
||||
%ksappend fragments/repo/rawhide-mirrors.ks
|
||||
@@ -9,12 +9,12 @@
|
||||
|
||||
%ksappend fragments/live/core/base.ks
|
||||
%ksappend fragments/live/core/storage.ks
|
||||
%ksappend fragments/bootloader/grub.ks
|
||||
%ksappend fragments/live/core/bootloader/grub.ks
|
||||
%ksappend fragments/core/locale.ks
|
||||
%ksappend fragments/core/services.ks
|
||||
%ksappend fragments/core/network.ks
|
||||
%ksappend fragments/live/core/packages.ks
|
||||
%ksappend fragments/live/post/base.ks
|
||||
%ksappend fragments/live/post/session.ks
|
||||
%ksappend fragments/core/security/enabled.ks
|
||||
%ksappend fragments/repo/rpmfusion-nonfree.ks
|
||||
%ksappend fragments/repo/rawhide-mirrors.ks
|
||||
Binary file not shown.
@@ -0,0 +1,24 @@
|
||||
# __ ____ ____ _____
|
||||
# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/
|
||||
# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \
|
||||
# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ /
|
||||
# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/
|
||||
# /_/ /____/
|
||||
|
||||
# A recipe for a desktop hypervisor
|
||||
|
||||
%ksappend fragments/core/base.ks
|
||||
%ksappend fragments/storage/standard.ks
|
||||
%ksappend fragments/bootloader/grub.ks
|
||||
%ksappend fragments/core/locale.ks
|
||||
%ksappend fragments/core/services.ks
|
||||
%ksappend fragments/core/network.ks
|
||||
%ksappend fragments/packages/core-group.ks
|
||||
%ksappend fragments/packages/fedora-remix.ks
|
||||
%ksappend fragments/packages/hand-picked.ks
|
||||
%ksappend fragments/core/security/enabled.ks
|
||||
%ksappend fragments/packages/virtual-machine-manager/packages.ks
|
||||
%ksappend fragments/packages/virtual-machine-manager/post-scripts.ks
|
||||
%ksappend fragments/initial-setup/server/config.ks
|
||||
%ksappend fragments/hypervisor/intelcpu.ks
|
||||
%ksappend fragments/repo/rawhide-mirrors.ks
|
||||
@@ -0,0 +1,24 @@
|
||||
# __ ____ ____ _____
|
||||
# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/
|
||||
# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \
|
||||
# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ /
|
||||
# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/
|
||||
# /_/ /____/
|
||||
|
||||
# A recipe for a desktop hypervisor
|
||||
|
||||
%ksappend fragments/core/base.ks
|
||||
%ksappend fragments/storage/standard.ks
|
||||
%ksappend fragments/bootloader/grub.ks
|
||||
%ksappend fragments/core/locale.ks
|
||||
%ksappend fragments/core/services.ks
|
||||
%ksappend fragments/core/network.ks
|
||||
%ksappend fragments/packages/core-group.ks
|
||||
%ksappend fragments/packages/fedora-remix.ks
|
||||
%ksappend fragments/packages/hand-picked.ks
|
||||
%ksappend fragments/core/security/enabled.ks
|
||||
%ksappend fragments/packages/virtual-machine-manager/packages.ks
|
||||
%ksappend fragments/packages/virtual-machine-manager/post-scripts.ks
|
||||
%ksappend fragments/initial-setup/server/config.ks
|
||||
%ksappend fragments/hypervisor/intelcpu.ks
|
||||
%ksappend fragments/repo/rawhide-mirrors.ks
|
||||
+15
-20
@@ -7,23 +7,18 @@
|
||||
|
||||
# A recipe for a desktop hypervisor
|
||||
|
||||
%ksappend fragments/shared/core/base.ks
|
||||
%ksappend fragments/shared/storage/standard.ks
|
||||
%ksappend fragments/platform/generic-rawhide/bootloader/grub.ks
|
||||
%ksappend fragments/shared/core/locale.ks
|
||||
%ksappend fragments/shared/core/services.ks
|
||||
%ksappend fragments/shared/core/network.ks
|
||||
%ksappend fragments/shared/packages/core-group.ks
|
||||
%ksappend fragments/shared/packages/fedora-remix.ks
|
||||
%ksappend fragments/shared/packages/hand-picked.ks
|
||||
%ksappend fragments/shared/packages/hardware-support.ks
|
||||
%ksappend fragments/shared/initial-setup/desktop/config.ks
|
||||
%ksappend fragments/shared/desktop/gnome/config.ks
|
||||
%ksappend fragments/shared/desktop/gnome/packages.ks
|
||||
%ksappend fragments/shared/desktop/gnome/post-scripts.ks
|
||||
%ksappend fragments/shared/desktop/vmm/packages.ks
|
||||
%ksappend fragments/shared/desktop/vmm/post-scripts.ks
|
||||
%ksappend fragments/platform/generic-rawhide/repo/rawhide-mirrors.ks
|
||||
%ksappend fragments/shared/hypervisor/base/services.ks
|
||||
%ksappend fragments/shared/hypervisor/base/packages.ks
|
||||
%ksappend fragments/shared/hypervisor/base/post-scripts.ks
|
||||
%ksappend fragments/core/base.ks
|
||||
%ksappend fragments/storage/standard.ks
|
||||
%ksappend fragments/bootloader/grub.ks
|
||||
%ksappend fragments/core/locale.ks
|
||||
%ksappend fragments/core/services.ks
|
||||
%ksappend fragments/core/network.ks
|
||||
%ksappend fragments/packages/core-group.ks
|
||||
%ksappend fragments/packages/fedora-remix.ks
|
||||
%ksappend fragments/packages/hand-picked.ks
|
||||
%ksappend fragments/core/security/enabled.ks
|
||||
%ksappend fragments/packages/virtual-machine-manager/packages.ks
|
||||
%ksappend fragments/packages/virtual-machine-manager/post-scripts.ks
|
||||
%ksappend fragments/initial-setup/server/config.ks
|
||||
%ksappend fragments/hypervisor/intelcpu.ks
|
||||
%ksappend fragments/repo/rawhide-mirrors.ks
|
||||
|
||||
Binary file not shown.
@@ -75,17 +75,22 @@ def test_container_build():
|
||||
|
||||
def test_fragments_structure():
|
||||
"""Verify fragment directory structure."""
|
||||
# Check platform directories
|
||||
assert (FRAGMENTS_DIR / 'platform' / 'generic-43' / 'repo').exists()
|
||||
assert (FRAGMENTS_DIR / 'platform' / 'generic-rawhide' / 'repo').exists()
|
||||
# Check core directories
|
||||
assert (FRAGMENTS_DIR / 'core' / 'security').exists()
|
||||
|
||||
# Check shared directories
|
||||
assert (FRAGMENTS_DIR / 'shared' / 'core').exists()
|
||||
assert (FRAGMENTS_DIR / 'shared' / 'packages').exists()
|
||||
assert (FRAGMENTS_DIR / 'shared' / 'storage').exists()
|
||||
assert (FRAGMENTS_DIR / 'shared' / 'desktop').exists()
|
||||
assert (FRAGMENTS_DIR / 'shared' / 'hypervisor').exists()
|
||||
# Check desktop directories
|
||||
assert (FRAGMENTS_DIR / 'desktop' / 'gnome').exists()
|
||||
assert (FRAGMENTS_DIR / 'desktop' / 'labwc').exists()
|
||||
assert (FRAGMENTS_DIR / 'desktop' / 'vmm').exists()
|
||||
|
||||
# Check hypervisor directories
|
||||
assert (FRAGMENTS_DIR / 'hypervisor' / 'base').exists()
|
||||
assert (FRAGMENTS_DIR / 'hypervisor' / 'base').exists()
|
||||
|
||||
# Check live directories
|
||||
assert (FRAGMENTS_DIR / 'live' / 'core' / 'bootloader').exists()
|
||||
assert (FRAGMENTS_DIR / 'live' / 'post').exists()
|
||||
|
||||
# Count fragments
|
||||
fragment_count = len(list(FRAGMENTS_DIR.glob('**/*.ks')))
|
||||
assert fragment_count >= 50, f"Expected at least 50 fragments, found {fragment_count}"
|
||||
assert fragment_count >= 45, f"Expected at least 45 fragments, found {fragment_count}"
|
||||
|
||||
+61
-140
@@ -9,8 +9,6 @@ sys.path.insert(0, str(RECIPE_GENERATOR_DIR))
|
||||
|
||||
from generate_recipe import RecipeGenerator
|
||||
|
||||
INGREDIENTS_DIR = Path(__file__).parent.parent / 'ingredients'
|
||||
|
||||
|
||||
class TestRecipeGenerator:
|
||||
"""Test RecipeGenerator class."""
|
||||
@@ -28,9 +26,6 @@ class TestRecipeGenerator:
|
||||
assert isinstance(self.generator.templates, dict)
|
||||
assert len(self.generator.templates) == 2
|
||||
assert 'install' in self.generator.templates
|
||||
assert 'install' in self.generator.templates
|
||||
assert 'install' in self.generator.templates
|
||||
assert 'live' in self.generator.templates
|
||||
assert 'live' in self.generator.templates
|
||||
|
||||
def test_validate_template_success(self):
|
||||
@@ -59,90 +54,91 @@ class TestRecipeGenerator:
|
||||
assert any('not found' in error for error in errors)
|
||||
|
||||
def test_generate_virtual_desktop_basic(self):
|
||||
"""Test generating basic virtual desktop recipe."""
|
||||
"""Test generating basic desktop recipe."""
|
||||
content = self.generator.generate_recipe('install', '43',
|
||||
desktop='gnome',
|
||||
storage='standard',
|
||||
security='secure')
|
||||
assert '# A recipe for a virtual desktop' in content
|
||||
assert '%ksappend fragments/shared/core/base.ks' in content
|
||||
assert '%ksappend fragments/shared/desktop/gnome/packages.ks' in content
|
||||
assert '%ksappend fragments/platform/generic-43/repo/fedora-mirrors.ks' in content
|
||||
assert '%ksappend fragments/shared/core/security/enabled.ks' in content
|
||||
assert '# An install recipe for desktop, server, or hypervisor' in content
|
||||
assert '%ksappend fragments/core/base.ks' in content
|
||||
assert '%ksappend fragments/desktop/gnome/packages.ks' in content
|
||||
assert '%ksappend fragments/repo/fedora-43-mirrors.ks' in content
|
||||
assert '%ksappend fragments/core/security/enabled.ks' in content
|
||||
|
||||
def test_generate_virtual_desktop_encrypted(self):
|
||||
"""Test generating encrypted virtual desktop recipe."""
|
||||
"""Test generating encrypted desktop recipe."""
|
||||
content = self.generator.generate_recipe('install', 'rawhide',
|
||||
desktop='gnome',
|
||||
storage='encrypted',
|
||||
security='secure')
|
||||
assert '%ksappend fragments/shared/storage/encrypted.ks' in content
|
||||
assert '%ksappend fragments/storage/encrypted.ks' in content
|
||||
|
||||
def test_generate_virtual_desktop_labwc(self):
|
||||
"""Test generating LabWC virtual desktop recipe."""
|
||||
"""Test generating LabWC desktop recipe."""
|
||||
content = self.generator.generate_recipe('install', '43',
|
||||
desktop='labwc',
|
||||
storage='standard',
|
||||
security='secure')
|
||||
assert '%ksappend fragments/shared/desktop/labwc/config.ks' in content
|
||||
assert '%ksappend fragments/shared/desktop/gnome/packages.ks' not in content
|
||||
assert '%ksappend fragments/desktop/labwc/config.ks' in content
|
||||
assert '%ksappend fragments/desktop/gnome/packages.ks' not in content
|
||||
|
||||
def test_generate_virtual_desktop_devel(self):
|
||||
"""Test generating development mode virtual desktop recipe."""
|
||||
"""Test generating development mode desktop recipe."""
|
||||
content = self.generator.generate_recipe('install', '43',
|
||||
desktop='gnome',
|
||||
storage='standard',
|
||||
security='devel')
|
||||
assert '%ksappend fragments/shared/core/security/disabled.ks' in content
|
||||
assert '%ksappend fragments/shared/core/security/enabled.ks' not in content
|
||||
security='off')
|
||||
assert '%ksappend fragments/core/security/disabled.ks' in content
|
||||
|
||||
def test_generate_virtual_server(self):
|
||||
"""Test generating virtual server recipe."""
|
||||
"""Test generating server recipe."""
|
||||
content = self.generator.generate_recipe('install', 'rawhide',
|
||||
initial_setup='server',
|
||||
security='secure')
|
||||
assert '# A recipe for a virtual server' in content
|
||||
assert '%ksappend fragments/shared/desktop/gnome/packages.ks' not in content
|
||||
assert '%ksappend fragments/shared/initial-setup/server/config.ks' in content
|
||||
assert '# An install recipe for desktop, server, or hypervisor' in content
|
||||
assert '%ksappend fragments/initial-setup/server/config.ks' in content
|
||||
|
||||
def test_generate_desktop_hypervisor_amd(self):
|
||||
"""Test generating AMD CPU hypervisor recipe."""
|
||||
content = self.generator.generate_recipe('install', 'rawhide',
|
||||
cpu='amdcpu',
|
||||
variant_type='hypervisor',
|
||||
hypervisor='base',
|
||||
hypervisor_type='amdcpu',
|
||||
security='secure')
|
||||
assert '%ksappend fragments/shared/hypervisor/amdcpu.ks' in content
|
||||
assert '%ksappend fragments/shared/hypervisor/intelcpu.ks' not in content
|
||||
assert '%ksappend fragments/hypervisor/amdcpu.ks' in content
|
||||
assert '%ksappend fragments/hypervisor/intelcpu.ks' not in content
|
||||
|
||||
def test_generate_desktop_hypervisor_intel_gpu(self):
|
||||
"""Test generating Intel CPU+GPU hypervisor recipe."""
|
||||
content = self.generator.generate_recipe('install', 'rawhide',
|
||||
cpu='intelcpu',
|
||||
gpu='intelgpu',
|
||||
variant_type='hypervisor',
|
||||
hypervisor='base',
|
||||
hypervisor_type='intelcpu',
|
||||
security='secure')
|
||||
assert '%ksappend fragments/shared/hypervisor/intelcpu.ks' in content
|
||||
assert '%ksappend fragments/shared/hypervisor/intelgpu.ks' in content
|
||||
assert '%ksappend fragments/hypervisor/intelcpu.ks' in content
|
||||
|
||||
def test_generate_live_desktop(self):
|
||||
"""Test generating live desktop recipe."""
|
||||
content = self.generator.generate_recipe('live', 'rawhide',
|
||||
desktop='gnome',
|
||||
security='secure')
|
||||
assert '# A recipe for a live desktop' in content
|
||||
assert '%ksappend fragments/shared/live/core/base.ks' in content
|
||||
assert '%ksappend fragments/shared/live/core/storage.ks' in content
|
||||
assert '# A live recipe for live-desktop or live-server' in content
|
||||
assert '%ksappend fragments/live/core/base.ks' in content
|
||||
assert '%ksappend fragments/live/core/storage.ks' in content
|
||||
|
||||
def test_generate_live_server(self):
|
||||
"""Test generating live server recipe."""
|
||||
content = self.generator.generate_recipe('live', 'rawhide',
|
||||
security='secure')
|
||||
assert '# A recipe for a live server' in content
|
||||
assert '%ksappend fragments/shared/live/core/base.ks' in content
|
||||
assert '%ksappend fragments/shared/initial-setup/server/config.ks' in content
|
||||
assert '# A live recipe for live-desktop or live-server' in content
|
||||
assert '%ksappend fragments/live/core/base.ks' in content
|
||||
|
||||
def test_no_duplicate_includes(self):
|
||||
"""Test that duplicate includes are prevented."""
|
||||
content = self.generator.generate_recipe('install', 'rawhide',
|
||||
cpu='intelcpu',
|
||||
gpu='intelgpu',
|
||||
variant_type='hypervisor',
|
||||
hypervisor='base',
|
||||
hypervisor_type='intelcpu',
|
||||
security='secure')
|
||||
includes = [line for line in content.split('\n') if line.startswith('%ksappend')]
|
||||
paths = [line.split()[1] for line in includes]
|
||||
@@ -163,7 +159,7 @@ class TestRecipeGenerator:
|
||||
desktop='gnome',
|
||||
storage='standard',
|
||||
security='secure')
|
||||
assert filename == 'install_desktop_43.cfg'
|
||||
assert filename == 'install_43.cfg'
|
||||
|
||||
def test_filename_generation_encrypted(self):
|
||||
"""Test filename generation for encrypted storage."""
|
||||
@@ -171,38 +167,24 @@ class TestRecipeGenerator:
|
||||
desktop='gnome',
|
||||
storage='encrypted',
|
||||
security='secure')
|
||||
assert filename == 'virtual-desktop_rawhide_encrypted.cfg'
|
||||
assert filename == 'install_rawhide_encrypted.cfg'
|
||||
|
||||
def test_filename_generation_devel(self):
|
||||
"""Test filename generation for development mode."""
|
||||
filename = self.generator.generate_filename('install', '43',
|
||||
desktop='gnome',
|
||||
storage='standard',
|
||||
security='devel')
|
||||
assert filename == 'virtual-desktop_43_devel.cfg'
|
||||
|
||||
def test_filename_generation_cpu_gpu(self):
|
||||
"""Test filename generation for hypervisor with CPU/GPU."""
|
||||
filename = self.generator.generate_filename('install', 'rawhide',
|
||||
cpu='intelcpu',
|
||||
gpu='intelgpu',
|
||||
security='secure')
|
||||
assert filename == 'install_hypervisor_intelcpu_intelgpu_rawhide.cfg'
|
||||
|
||||
def test_filename_generation_labwc(self):
|
||||
"""Test filename generation for non-default desktop."""
|
||||
filename = self.generator.generate_filename('install', '43',
|
||||
desktop='labwc',
|
||||
storage='standard',
|
||||
security='secure')
|
||||
assert filename == 'virtual-desktop_labwc_43.cfg'
|
||||
security='off')
|
||||
assert filename == 'install_43_devel.cfg'
|
||||
|
||||
def test_filename_generation_hypervisor(self):
|
||||
"""Test filename generation for live server with hypervisor."""
|
||||
filename = self.generator.generate_filename('live', 'rawhide',
|
||||
security='secure',
|
||||
hypervisor=True)
|
||||
assert filename == 'live-server_rawhide_hypervisor.cfg'
|
||||
"""Test filename generation for hypervisor."""
|
||||
filename = self.generator.generate_filename('install', 'rawhide',
|
||||
variant_type='hypervisor',
|
||||
hypervisor='base',
|
||||
hypervisor_type='intelcpu',
|
||||
security='secure')
|
||||
assert filename == 'install_hypervisor_intelcpu_rawhide.cfg'
|
||||
|
||||
def test_invalid_recipe_type(self):
|
||||
"""Test error on invalid recipe type."""
|
||||
@@ -247,91 +229,30 @@ clearpart --all --initlabel
|
||||
part /boot/efi --fstype="efi" --size=512
|
||||
part / --fstype="ext4" --grow
|
||||
%packages
|
||||
@base-graphical
|
||||
|
||||
%end
|
||||
"""
|
||||
issues = self.generator.validate_recipe_semantic(content, '43')
|
||||
# Should have no syntax errors
|
||||
assert not any('Syntax' in issue for issue in issues)
|
||||
assert not any('Validation' in issue for issue in issues)
|
||||
assert issues == []
|
||||
|
||||
def test_validate_recipe_semantic_invalid_syntax(self):
|
||||
"""Test semantic validation detects invalid syntax."""
|
||||
content = "validcommand\ninvalidcommand without proper format\n%packages\n%end"
|
||||
issues = self.generator.validate_recipe_semantic(content, '43')
|
||||
assert len(issues) > 0
|
||||
|
||||
def test_validate_recipe_semantic_empty(self):
|
||||
"""Test semantic validation with empty content."""
|
||||
content = ""
|
||||
issues = self.generator.validate_recipe_semantic(content, '43')
|
||||
# Empty content should fail parsing but not crash
|
||||
assert len(issues) >= 0 # At least info about empty content
|
||||
|
||||
def test_validate_recipe_semantic_invalid_syntax(self):
|
||||
"""Test semantic validation detects invalid syntax."""
|
||||
content = """text
|
||||
invalidcmd --option=value
|
||||
%packages
|
||||
@base-graphical
|
||||
%end
|
||||
"""
|
||||
issues = self.generator.validate_recipe_semantic(content, '43')
|
||||
# Should detect invalid command
|
||||
has_syntax_error = any('Syntax' in issue or 'invalidcmd' in issue.lower()
|
||||
for issue in issues)
|
||||
# Or pykickstart warning if not available
|
||||
has_warning = any('Warning' in issue or 'pykickstart' in issue.lower()
|
||||
for issue in issues)
|
||||
assert has_syntax_error or has_warning
|
||||
|
||||
|
||||
def test_validate_recipe_full_validation(self):
|
||||
"""Test full validation combines file and semantic checks."""
|
||||
content = self.generator.generate_recipe('install', '43',
|
||||
desktop='gnome',
|
||||
storage='standard',
|
||||
security='secure')
|
||||
issues = self.generator.validate_recipe(content)
|
||||
# Check ingredient existence
|
||||
assert len([i for i in issues if 'Missing' in i]) == 0, \
|
||||
f"Found missing ingredients: {issues}"
|
||||
assert issues == []
|
||||
|
||||
def test_check_deprecated_removed_command(self):
|
||||
"""Test detection of removed deprecated command."""
|
||||
content = """text
|
||||
authconfig --enableshadow
|
||||
%packages
|
||||
@core
|
||||
%end
|
||||
"""
|
||||
issues = self.generator.validate_recipe_semantic(content, '43')
|
||||
# Should detect authconfig as removed
|
||||
has_removed = any('ERROR' in i and 'authconfig' in i for i in issues)
|
||||
assert has_removed
|
||||
"""Test detection of removed commands."""
|
||||
issues = self.generator._check_deprecated_commands("authconfig")
|
||||
assert any('removed' in issue.lower() for issue in issues)
|
||||
|
||||
def test_check_deprecated_warning_command(self):
|
||||
"""Test detection of deprecated command as warning."""
|
||||
content = """text
|
||||
keyboard --evgrd
|
||||
%packages
|
||||
@core
|
||||
%end
|
||||
"""
|
||||
issues = self.generator.validate_recipe_semantic(content, '43')
|
||||
# Should detect keyboard as deprecated (warning)
|
||||
has_warning = any('Warning' in i and 'keyboard' in i for i in issues)
|
||||
assert has_warning
|
||||
|
||||
def test_extract_version_with_dash(self):
|
||||
"""Test version extraction from filename with dash."""
|
||||
filename = 'test-43.cfg'
|
||||
version = self.generator.extract_version('', filename)
|
||||
assert version == '43'
|
||||
|
||||
def test_extract_version_with_underscore(self):
|
||||
"""Test version extraction from filename with underscore."""
|
||||
filename = 'test_43.cfg'
|
||||
version = self.generator.extract_version('', filename)
|
||||
assert version == '43'
|
||||
|
||||
def test_extract_version_from_content(self):
|
||||
"""Test version extraction from content."""
|
||||
content = "%ksappend fragments/platform/generic-43/repo/fedora-mirrors.ks"
|
||||
version = self.generator.extract_version(content, 'test.cfg')
|
||||
assert version == '43'
|
||||
|
||||
"""Test detection of deprecated commands."""
|
||||
issues = self.generator._check_deprecated_commands("keyboard")
|
||||
assert any('deprecated' in issue.lower() for issue in issues)
|
||||
|
||||
Reference in New Issue
Block a user