forked from roots/phyllomeos
refactor(cook): data-driven recipe generation with in-process flatten and lint
Replace the hardcoded TEMPLATES dict and the ksflatten-relative wrapper with a single data-driven pipeline: - recipe_templates.yaml becomes the single source of truth with three sections: base (always included), choices (exactly-one per category, the invariant pykickstart cannot check) and features (additive flags or one-of values) - generate_recipe.py is a pure YAML consumer: it resolves ingredients, renders dishes via pykickstart in-process (no ksflatten binary, no %include path munging), lints the invariants pykickstart cannot check (exactly-one per choice category, known keys, existing fragments, unique filenames) and validates every generated dish - dish names are derived by a generic rule with canonical category order from the templates, independent of YAML key order; no committed generated files means no name burn-in - recipes/ and dishes/ become gitignored build products; the 68 tracked generated files (already out of sync with the manifest) are removed - delete dead ingredients (section-data/, validation/, initial-setup/ desktop/, live/hypervisor.ks, rpmfusion-nonfree.ks), the stale all-ingredients.cfg (replaced by 'make inventory') and the bin/generate-recipe and bin/ksflatten-relative wrappers - Makefile: single 'make all' step plus lint, validate, inventory, test - add 16 pytest tests covering expansion, selection, naming, lint and flatten/validate round-trips
This commit is contained in:
@@ -1,14 +0,0 @@
|
||||
# Live desktop hypervisor configuration
|
||||
|
||||
# Enable virtualization support in live environment
|
||||
%packages
|
||||
qemu-kvm
|
||||
libvirt-client
|
||||
virt-install
|
||||
%end
|
||||
|
||||
%post --erroronfail
|
||||
# Setup libvirt for live environment
|
||||
mkdir -p /var/lib/libvirt
|
||||
systemctl enable libvirtd
|
||||
%end
|
||||
Reference in New Issue
Block a user