Use conditional includes to separate bootable containers

Refactor how we differentiate bootable containers variants from classic
ostree ones using conditional includes.

See: https://coreos.github.io/rpm-ostree/treefile/
This commit is contained in:
Timothée Ravier 2024-07-26 16:14:33 +02:00
parent 9e3a473f73
commit f9184799de
25 changed files with 90 additions and 42 deletions

View file

@ -1,6 +1,9 @@
variables:
bootable_container: true
variant: "base-atomic"
include:
- common.yaml
- common-bootable-containers.yaml
ref: fedora/rawhide/${basearch}/base
rojig:

4
bootc.yaml Normal file
View file

@ -0,0 +1,4 @@
# Add bootc for Bootable Container images
# See: https://fedoraproject.org/wiki/Changes/DNFAndBootcInImageModeFedora
packages:
- bootc

View file

@ -1,3 +1,6 @@
variables:
variant: "budgie-atomic"
include:
- common.yaml
- budgie-atomic-packages.yaml

View file

@ -1,6 +1,8 @@
variables:
bootable_container: false
include:
- budgie-atomic-common.yaml
- common-ostree.yaml
# Kept in the leaf manifest as they are overwritten by Pungi in composes
repos:

View file

@ -1,6 +1,8 @@
variables:
bootable_container: true
include:
- budgie-atomic-common.yaml
- common-bootable-containers.yaml
# Kept in the leaf manifest as they are overwritten by Pungi in composes
repos:

View file

@ -1,7 +1,10 @@
variables:
bootable_container: true
variant: "cinnamon-atomic"
include:
- common.yaml
- cinnamon-atomic-packages.yaml
- common-bootable-containers.yaml
ref: fedora/rawhide/${basearch}/cinnamon
rojig:

View file

@ -1,16 +0,0 @@
# Manifests includes that are common only to Bootable Containers
# Temporary Kinoite only manifest
# See https://pagure.io/fedora-kde/SIG/issue/519
# Add DNF5 and bootc for Bootable Container images
# See: https://fedoraproject.org/wiki/Changes/DNFAndBootcInImageModeFedora
packages:
# - dnf5
# - dnf5-plugins
- bootc
include:
# - dnf5-bootc.yaml
- bootupd.yaml
- composefs.yaml

View file

@ -1,5 +0,0 @@
# Manifests includes that are common only to Bootable Containers
include:
- dnf5-bootc.yaml
- bootupd.yaml
- composefs.yaml

View file

@ -10,12 +10,31 @@ include:
# Packages common to all variants
- common-packages.yaml
# See: https://gitlab.com/fedora/ostree/sig/-/issues/1
# - bootupd.yaml
- bootupd.yaml
# Dracut configuration for the initramfs
- initramfs.yaml
# Read only sysroot
- sysroot-ro.yaml
conditional-include:
# Manifests included only for classic ostree variants
- if: bootable_container == false
include:
- ostree-classic.yaml
# Manifests included only for the Bootable Container variants
- if: bootable_container == true
include:
- composefs.yaml
- bootc.yaml
# Only include dnf5 for non KDE Bootable Containers until
# https://pagure.io/fedora-kde/SIG/issue/519
- if:
- bootable_container == true
- variant != "kinoite"
- variant != "kinoite-mobile"
include:
- dnf5.yaml
packages:
# Ensure that we have a kernel. Kernel packages are not in any comps group
- kernel

View file

@ -1,7 +1,10 @@
variables:
bootable_container: true
variant: "deepin-atomic"
include:
- common.yaml
- deepin-atomic-packages.yaml
- common-bootable-containers.yaml
ref: fedora/rawhide/${basearch}/deepin
rojig:

View file

@ -1,6 +1,5 @@
# Add DNF5 and bootc for Bootable Container images
# Add DNF5 for Bootable Container images
# See: https://fedoraproject.org/wiki/Changes/DNFAndBootcInImageModeFedora
packages:
- dnf5
- dnf5-plugins
- bootc

View file

@ -1,3 +1,6 @@
variables:
variant: "kinoite"
include:
- common.yaml
- kinoite-packages.yaml

View file

@ -1,7 +1,10 @@
variables:
bootable_container: true
variant: "kinoite-mobile"
include:
- common.yaml
- kinoite-mobile-packages.yaml
- common-bootable-containers-kinoite.yaml
ref: fedora/rawhide/${basearch}/kinoite-mobile
rojig:

View file

@ -1,6 +1,8 @@
variables:
bootable_container: false
include:
- kinoite-common.yaml
- common-ostree.yaml
# Kept in the leaf manifest as they are overwritten by Pungi in composes
repos:

View file

@ -1,6 +1,8 @@
variables:
bootable_container: true
include:
- kinoite-common.yaml
- common-bootable-containers-kinoite.yaml
# Kept in the leaf manifest as they are overwritten by Pungi in composes
repos:

View file

@ -1,7 +1,10 @@
variables:
bootable_container: true
variant: "lxqt-atomic"
include:
- common.yaml
- lxqt-atomic-packages.yaml
- common-bootable-containers.yaml
ref: fedora/rawhide/${basearch}/lazurite
rojig:

View file

@ -1,7 +1,10 @@
variables:
bootable_container: true
variant: "mate-atomic"
include:
- common.yaml
- mate-atomic-packages.yaml
- common-bootable-containers.yaml
ref: fedora/rawhide/${basearch}/mate
rojig:

View file

@ -1,6 +1,4 @@
# Manifest common to classic ostree varaints only and not Bootable Containers
include:
- bootupd.yaml
# Manifest for classic ostree varaints only and not Bootable Containers
# Packages only included in the legacy ostree variants and not in Bootable
# Containers

View file

@ -1,3 +1,6 @@
variables:
variant: "silverblue"
include:
- common.yaml
- silverblue-packages.yaml

View file

@ -1,6 +1,8 @@
variables:
bootable_container: false
include:
- silverblue-common.yaml
- common-ostree.yaml
# Kept in the leaf manifest as they are overwritten by Pungi in composes
repos:

View file

@ -1,6 +1,8 @@
variables:
bootable_container: true
include:
- silverblue-common.yaml
- common-bootable-containers.yaml
# Kept in the leaf manifest as they are overwritten by Pungi in composes
repos:

View file

@ -1,3 +1,6 @@
variables:
variant: "sway-atomic"
include:
- common.yaml
- sway-atomic-packages.yaml

View file

@ -1,6 +1,8 @@
variables:
bootable_container: false
include:
- sway-atomic-common.yaml
- common-ostree.yaml
# Kept in the leaf manifest as they are overwritten by Pungi in composes
repos:

View file

@ -1,6 +1,8 @@
variables:
bootable_container: true
include:
- sway-atomic-common.yaml
- common-bootable-containers.yaml
# Kept in the leaf manifest as they are overwritten by Pungi in composes
repos:

View file

@ -1,7 +1,10 @@
variables:
bootable_container: true
variant: "xfce-atomic"
include:
- common.yaml
- xfce-atomic-packages.yaml
- common-bootable-containers.yaml
ref: fedora/rawhide/${basearch}/vauxite
rojig: