#514 Draft: Bootable Containers: Include DNF5 and bootc
Opened a month ago by siosm. Modified 4 days ago
siosm/workstation-ostree-config main-dnf5  into  main

file modified
+5 -5
@@ -22,8 +22,8 @@ 

        - silverblue

        - kinoite

        - kinoite-mobile

-       - sericea

-       - vauxite

-       - lazurite

-       - onyx

-       - base

+       - sway-atomic

+       - xfce-atomic

+       - lxqt-atomic

+       - budgie-atomic

+       - base-atomic

file modified
+4 -4
@@ -187,8 +187,8 @@ 

  

  ```

  sed -i "s/41/42/g" *.repo comps-sync.py

- sed -i "s/releasever: 41/releasever: 42/" fedora-common-ostree.yaml

- sed -i "s/# - fedora-41/# - fedora-42/" fedora-*.yaml

+ sed -i "s/releasever: 41/releasever: 42/" common.yaml

+ sed -i "s/# - fedora-41/# - fedora-42/" *.yaml

  mv fedora-41.repo fedora-42.repo

  mv fedora-41-updates.repo fedora-42-updates.repo

  sed -i "s/42/42/g" README.md
@@ -200,8 +200,8 @@ 

  ```

  rm fedora-rawhide.repo

  sed -i "/- fedora-rawhide/d" fedora-*.yaml

- sed -i "s/# - fedora-41/- fedora-41/" fedora-*.yaml

- sed -i "s/ref: fedora\/rawhide/ref: fedora\/41/" fedora-*.yaml

+ sed -i "s/# - fedora-41/- fedora-41/" *.yaml

+ sed -i "s/ref: fedora\/rawhide/ref: fedora\/41/" *.yaml

  ```

  

  ## Historical references

base-atomic.yaml fedora-base.yaml
file renamed
+4 -1
@@ -1,4 +1,7 @@ 

- include: fedora-common-ostree.yaml

+ include:

+   - common.yaml

+   - dnf5-bootc.yaml

+ 

  ref: fedora/rawhide/${basearch}/base

  rojig:

    name: fedora-base

budgie-atomic-common.yaml fedora-onyx.yaml
file renamed
+4 -7
@@ -1,4 +1,7 @@ 

- include: budgie-desktop-pkgs.yaml

+ include:

+   - common.yaml

+   - budgie-atomic-packages.yaml

+ 

  ref: fedora/rawhide/${basearch}/onyx

  rojig:

    name: fedora-onyx
@@ -17,9 +20,3 @@ 

    - tracker-miners

    # Exclude GNOME Software's langpack plugin to avoid layering langpacks on Silverblue

    - gnome-software-fedora-langpacks

- 

- # Kept in the leaf manifest as they are overwritten by Pungi in composes

- repos:

-   - fedora-rawhide

-   # - fedora-41

-   # - fedora-41-updates

@@ -0,0 +1,9 @@ 

+ include:

+   - budgie-atomic-common.yaml

+   - no-dnf.yaml

+ 

+ # Kept in the leaf manifest as they are overwritten by Pungi in composes

+ repos:

+   - fedora-rawhide

+   # - fedora-41

+   # - fedora-41-updates

budgie-atomic-packages.yaml budgie-desktop-pkgs.yaml
file renamed
-1
@@ -1,5 +1,4 @@ 

  # DO NOT EDIT! This content is generated from comps-sync.py

- include: fedora-common-ostree.yaml

  packages:

    - ModemManager

    - NetworkManager-adsl

file added
+9
@@ -0,0 +1,9 @@ 

+ include:

+   - budgie-atomic-common.yaml

+   - dnf5-bootc.yaml

+ 

+ # Kept in the leaf manifest as they are overwritten by Pungi in composes

+ repos:

+   - fedora-rawhide

+   # - fedora-41

+   # - fedora-41-updates

file modified
+4 -4
@@ -47,23 +47,23 @@ 

      - name: Perform dependency resolution for Sway Atomic

        ansible.builtin.shell:

          chdir: "{{ zuul.project.src_dir }}"

-         cmd: "just compose-dry-run sericea && touch .zuulci.sericea"

+         cmd: "just compose-dry-run sway-atomic && touch .zuulci.sway-atomic"

        # Still run the next step if this one fails

        ignore_errors: true

  

      - name: Perform dependency resolution for Budgie Atomic

        ansible.builtin.shell:

          chdir: "{{ zuul.project.src_dir }}"

-         cmd: "just compose-dry-run onyx && touch .zuulci.onyx"

+         cmd: "just compose-dry-run budgie-atomic && touch .zuulci.budgie-atomic"

        # Still run the next step if this one fails

        ignore_errors: true

  

      - name: Compose the base variant

        ansible.builtin.command:

          chdir: "{{ zuul.project.src_dir }}"

-         cmd: just compose-legacy base

+         cmd: just compose-image base-atomic

  

      - name: Check if any previous dependency resolution steps failed

        ansible.builtin.shell:

          chdir: "{{ zuul.project.src_dir }}"

-         cmd: "[[ -f .zuulci.comps ]] &&  [[ -f .zuulci.silverblue ]] && [[ -f .zuulci.kinoite ]] && [[ -f .zuulci.sericea ]] && [[ -f .zuulci.onyx ]]"

+         cmd: "[[ -f .zuulci.comps ]] &&  [[ -f .zuulci.silverblue ]] && [[ -f .zuulci.kinoite ]] && [[ -f .zuulci.sway-atomic ]] && [[ -f .zuulci.budgie-atomic ]]"

cinnamon-atomic-packages.yaml cinnamon-desktop-pkgs.yaml
file renamed
-1
@@ -1,5 +1,4 @@ 

  # DO NOT EDIT! This content is generated from comps-sync.py

- include: fedora-common-ostree.yaml

  packages:

    - NetworkManager-adsl

    - NetworkManager-bluetooth

cinnamon-atomic.yaml fedora-cinnamon.yaml
file renamed
+5 -1
@@ -1,4 +1,8 @@ 

- include: cinnamon-desktop-pkgs.yaml

+ include:

+   - common.yaml

+   - cinnamon-atomic-packages.yaml

+   - dnf5-bootc.yaml

+ 

  ref: fedora/rawhide/${basearch}/cinnamon

  rojig:

    name: fedora-cinnamon

common-packages.yaml fedora-common-ostree-pkgs.yaml
file renamed
file was moved with no change to the file
common.yaml fedora-common-ostree.yaml
file renamed
+3 -4
@@ -7,7 +7,8 @@ 

    - /usr/bin/bash

  

  include:

-   - fedora-common-ostree-pkgs.yaml

+   # Packages common to all variants

+   - common-packages.yaml

    # See: https://gitlab.com/fedora/ostree/sig/-/issues/1

    # - bootupd.yaml

    # Dracut configuration for the initramfs
@@ -99,11 +100,9 @@ 

    - gstreamer1-plugin-openh264

    - mozilla-openh264

    - openh264

-   # Always exclude dnf when pulled in as a dependency

+   # Make sure we only pull-in dnf5 and not dnf4

    - dnf

    - dnf-plugins-core

-   - dnf5

-   - dnf5-plugins

    # https://github.com/fedora-silverblue/issue-tracker/issues/517

    - grubby

    - sdubby

file modified
+8 -6
@@ -19,12 +19,13 @@ 

  # Common exclude list for all ostree desktop versions

  exclude_list:

    core:

-     # We use rpm-ostree for the host

+     # Make sure we only pull-in dnf5 and not dnf4 or yum

      - dnf

      - dnf-plugins-core

+     - yum

+     # We include dnf5 in another manifest, only for bootable containers

      - dnf5

      - dnf5-plugins

-     - yum

      # Not sure why this is there at all

      - dracut-config-rescue

      # Eh...you can install this in a priv container
@@ -36,14 +37,15 @@ 

      # Why?

      - ncurses

    workstation-product:

-     # We use rpm-ostree for the host

+     # Make sure we only pull-in dnf5 and not dnf4 or yum

      - dnf

      - dnf-plugins-core

-     - dnf5

-     - dnf5-plugins

      - deltarpm

      - python3-dnf-plugin-system-upgrade

      - python3-dnf-plugins-core

+     # We include dnf5 in another manifest, only for bootable containers

+     - dnf5

+     - dnf5-plugins

      # We use fedora-release-silverblue instead

      - fedora-release-workstation

      # Really not worth listing explicitly
@@ -58,7 +60,7 @@ 

      # We removed cronie a while ago, should nuke these too

      - crontabs

      - at

-     # This drags in a huge dependency set of dnf bits

+     # See: https://gitlab.com/fedora/ostree/sig/-/issues/30

      - abrt-cli

      - abrt-desktop

      - abrt-java-connector

file modified
+22 -27
@@ -32,12 +32,10 @@ 

          return 'mandatory'

      assert False

  

- def write_manifest(fpath, pkgs, include=None):

+ def write_manifest(fpath, pkgs):

      '''Write the package list in a manifest.'''

      with open(fpath, 'w', encoding='UTF-8') as f:

          f.write("# DO NOT EDIT! This content is generated from comps-sync.py\n")

-         if include is not None:

-             f.write(f'include: {include}\n')

          f.write("packages:\n")

          for pkg in sorted(pkgs['all']):

              f.write(f'  - {pkg}\n')
@@ -120,7 +118,7 @@ 

  

      return comps_unknown, pkgs_added

  

- def update_manifests_from_groups(comps, groups, path, desktop, save, comps_exclude_list, comps_exclude_list_all):

+ def update_manifests_from_groups(comps, groups, path, variant, save, comps_exclude_list, comps_exclude_list_all):

      manifest_packages = load_packages_from_manifest(path)

  

      comps_group_pkgs = {}
@@ -133,10 +131,10 @@ 

      n_manifest_new = len(comps_unknown)

      n_comps_new = len(pkgs_added)

  

-     if desktop == "common":

+     if variant == "common":

          print(f'Syncing common packages:\t+{n_comps_new}, -{n_manifest_new}')

      else:

-         print(f'Syncing packages for {desktop}:\t+{n_comps_new}, -{n_manifest_new}')

+         print(f'Syncing packages for {variant}:\t+{n_comps_new}, -{n_manifest_new}')

      if n_manifest_new != 0:

          for (pkg, arch) in sorted(comps_unknown, key = lambda x: x[0]):

              manifest_packages[arch].remove(pkg)
@@ -154,10 +152,7 @@ 

  

      if (n_manifest_new > 0 or n_comps_new > 0):

          if save:

-             if desktop == "common":

-                 write_manifest(path, manifest_packages)

-             else:

-                 write_manifest(path, manifest_packages, include="fedora-common-ostree.yaml")

+             write_manifest(path, manifest_packages)

          return 1

      return 0

  
@@ -194,26 +189,26 @@ 

      # Return code indicates if changes have or would have been done

      ret = 0

  

-     ret += update_manifests_from_groups(comps, groups, 'fedora-common-ostree-pkgs.yaml', "common", args.save, comps_exclude_list, comps_exclude_list_all)

- 

-     # List of comps groups used for each desktop

-     desktops_comps_groups = {

-         "gnome": ["gnome-desktop", "base-x"],

-         "kde": ["kde-desktop", "base-graphical"],

-         "kde-mobile": ["kde-mobile", "kde-mobile-apps", "base-graphical"],

-         "xfce": ["xfce-desktop", "xfce-apps", "xfce-extra-plugins", "base-x"],

-         "lxqt": ["lxqt-desktop", "base-graphical"],

-         "deepin": ["deepin-desktop", "base-x"],

-         "mate": ["mate-desktop", "base-x"],

-         "sway": ["swaywm", "swaywm-extended", "base-graphical"],

-         "cinnamon": ["cinnamon-desktop", "base-x"],

-         "budgie": ["budgie-desktop", "budgie-desktop-apps", "base-x"]

+     ret += update_manifests_from_groups(comps, groups, 'common-packages.yaml', "common", args.save, comps_exclude_list, comps_exclude_list_all)

+ 

+     # List of comps groups used for each variant

+     variant_comps_groups = {

+         "budgie-atomic": ["budgie-desktop", "budgie-desktop-apps", "base-x"],

+         "cinnamon-atomic": ["cinnamon-desktop", "base-x"],

+         "deepin-atomic": ["deepin-desktop", "base-x"],

+         "kinoite": ["kde-desktop", "base-graphical"],

+         "kinoite-mobile": ["kde-mobile", "kde-mobile-apps", "base-graphical"],

+         "lxqt-atomic": ["lxqt-desktop", "base-graphical"],

+         "mate-atomic": ["mate-desktop", "base-x"],

+         "silverblue": ["gnome-desktop", "base-x"],

+         "sway-atomic": ["swaywm", "swaywm-extended", "base-graphical"],

+         "xfce-atomic": ["xfce-desktop", "xfce-apps", "xfce-extra-plugins", "base-x"],

      }

  

-     # Generate treefiles for all desktops

-     for desktop, groups in desktops_comps_groups.items():

+     # Generate treefiles for all variants

+     for variant, groups in variant_comps_groups.items():

          print()

-         ret += update_manifests_from_groups(comps, groups, f'{desktop}-desktop-pkgs.yaml', desktop, args.save, comps_desktop_exclude_list, comps_exclude_list_all)

+         ret += update_manifests_from_groups(comps, groups, f'{variant}-packages.yaml', variant, args.save, comps_desktop_exclude_list, comps_exclude_list_all)

  

      if not args.save and ret != 0:

          sys.exit(1)

deepin-atomic-packages.yaml deepin-desktop-pkgs.yaml
file renamed
-1
@@ -1,5 +1,4 @@ 

  # DO NOT EDIT! This content is generated from comps-sync.py

- include: fedora-common-ostree.yaml

  packages:

    - deepin-calculator

    - deepin-calendar

deepin-atomic.yaml fedora-deepin.yaml
file renamed
+5 -1
@@ -1,4 +1,8 @@ 

- include: deepin-desktop-pkgs.yaml

+ include:

+   - common.yaml

+   - deepin-atomic-packages.yaml

+   - dnf5-bootc.yaml

+ 

  ref: fedora/rawhide/${basearch}/deepin

  rojig:

    name: fedora-deepin

file added
+6
@@ -0,0 +1,6 @@ 

+ # Add DNF5 and bootc for Bootable Container images

+ # See: https://fedoraproject.org/wiki/Changes/DNFAndBootcInImageModeFedora

+ packages:

+   - dnf5

+   - dnf5-plugins

+   - bootc

file added
+1
@@ -0,0 +1,1 @@ 

+ kinoite-ostree.yaml 

\ No newline at end of file

file added
+1
@@ -0,0 +1,1 @@ 

+ budgie-atomic-ostree.yaml 

\ No newline at end of file

file added
+1
@@ -0,0 +1,1 @@ 

+ sway-atomic-ostree.yaml 

\ No newline at end of file

@@ -0,0 +1,1 @@ 

+ silverblue-ostree.yaml 

\ No newline at end of file

file modified
-1
@@ -1,7 +1,6 @@ 

  # Set dracut configuration for the initramfs

  # See: https://gitlab.com/fedora/bootc/base-images/-/blob/main/tier-0/initramfs.yaml

  # See: https://github.com/coreos/fedora-coreos-config/tree/testing-devel/overlay.d/05core/usr/lib/dracut/dracut.conf.d

- #

  postprocess:

    - |

      #!/usr/bin/env bash

file modified
+62 -25
@@ -14,11 +14,25 @@ 

      [kinoite-nightly]="Kinoite"

      [kinoite-beta]="Kinoite"

      [kinoite-mobile]="Kinoite"

-     [sericea]="Sericea"

-     [onyx]="Onyx"

-     [vauxite]="Vauxite"

-     [lazurite]="Lazurite"

-     [base]="Base"

+     [sway-atomic]="Sway Atomic"

+     [budgie-atomic]="Budgie Atomic"

+     [xfce-atomic]="XFCE Atomic"

+     [lxqt-atomic]="LXQt Atomic"

+     [base-atomic]="Base Atomic"

+ )'

+ 

+ # Legacy names, used to keep some references stable

+ legacy_names := '(

+     [silverblue]="silverblue"

+     [kinoite]="kinoite"

+     [kinoite-nightly]="kinoite-nightly"

+     [kinoite-beta]="kinoite-beta"

+     [kinoite-mobile]="kinoite-mobile"

+     [sway-atomic]="sericea"

+     [budgie-atomic]="onyx"

+     [xfce-atomic]="vauxite"

+     [lxqt-atomic]="lazurite"

+     [base-atomic]="base-atomic"

  )'

  

  # subset of the map from https://pagure.io/pungi-fedora/blob/main/f/general.conf
@@ -28,11 +42,11 @@ 

      [kinoite-nightly]="Kin"

      [kinoite-beta]="Kin"

      [kinoite-mobile]="Kin"

-     [sericea]="Src"

-     [onyx]="Onyx"

-     [vauxite]="Vxt"

-     [lazurite]="Lzr"

-     [base]="Base"

+     [sway-atomic]="SwA"

+     [budgie-atomic]="BdA"

+     [xfce-atomic]="XfA"

+     [lxqt-atomic]="LxA"

+     [base-atomic]="BsA"

  )'

  

  # Default is to only validate the manifests
@@ -52,7 +66,7 @@ 

      fi

  

      default_variant={{default_variant}}

-     version="$(rpm-ostree compose tree --print-only --repo=repo fedora-${default_variant}.yaml | jq -r '."mutate-os-release"')"

+     version="$(rpm-ostree compose tree --print-only --repo=repo ${default_variant}.yaml | jq -r '."mutate-os-release"')"

      ./comps-sync.py --save fedora-comps/comps-f${version}.xml.in

  

  # Sync the manifests with the content of the comps groups
@@ -70,7 +84,7 @@ 

      fi

  

      default_variant={{default_variant}}

-     version="$(rpm-ostree compose tree --print-only --repo=repo fedora-${default_variant}.yaml | jq -r '."mutate-os-release"')"

+     version="$(rpm-ostree compose tree --print-only --repo=repo ${default_variant}.yaml | jq -r '."mutate-os-release"')"

      ./comps-sync.py --save fedora-comps/comps-f${version}.xml.in

  

  # Check if the manifests are in sync with the content of the comps groups
@@ -88,7 +102,7 @@ 

      fi

  

      default_variant={{default_variant}}

-     version="$(rpm-ostree compose tree --print-only --repo=repo fedora-${default_variant}.yaml | jq -r '."mutate-os-release"')"

+     version="$(rpm-ostree compose tree --print-only --repo=repo ${default_variant}.yaml | jq -r '."mutate-os-release"')"

      ./comps-sync.py fedora-comps/comps-f${version}.xml.in

  

  # Output the processed manifest for a given variant (defaults to Silverblue)
@@ -104,7 +118,7 @@ 

          exit 1

      fi

  

-     rpm-ostree compose tree --print-only --repo=repo fedora-{{variant}}.yaml

+     rpm-ostree compose tree --print-only --repo=repo {{variant}}.yaml

  

  # Perform dependency resolution for a given variant (defaults to Silverblue)

  compose-dry-run variant=default_variant:
@@ -118,7 +132,7 @@ 

          popd > /dev/null || exit 1

      fi

  

-     rpm-ostree compose tree --unified-core --repo=repo --dry-run fedora-{{variant}}.yaml

+     rpm-ostree compose tree --unified-core --repo=repo --dry-run {{variant}}.yaml

  

  # Alias/shortcut for compose-image command

  compose variant=default_variant: (compose-image variant)
@@ -151,7 +165,7 @@ 

      timestamp="$(date --iso-8601=sec)"

      echo "${buildid}" > .buildid

  

-     version="$(rpm-ostree compose tree --print-only --repo=repo fedora-${variant}.yaml | jq -r '."mutate-os-release"')"

+     version="$(rpm-ostree compose tree --print-only --repo=repo ${variant}.yaml | jq -r '."mutate-os-release"')"

      echo "Composing ${variant_pretty} ${version}.${buildid} ..."

  

      ARGS="--repo=repo --cachedir=cache"
@@ -166,7 +180,7 @@ 

  

      ${CMD} compose tree ${ARGS} \

          --add-metadata-string="version=${variant_pretty} ${version}.${buildid}" \

-         "fedora-${variant}.yaml" \

+         "${variant}-ostree.yaml" \

              |& tee "logs/${variant}_${version}_${buildid}.${timestamp}.log"

  

      if [[ ${EUID} -ne 0 ]]; then
@@ -203,7 +217,7 @@ 

      timestamp="$(date --iso-8601=sec)"

      echo "${buildid}" > .buildid

  

-     version="$(rpm-ostree compose tree --print-only --repo=repo fedora-${variant}.yaml | jq -r '."mutate-os-release"')"

+     version="$(rpm-ostree compose tree --print-only --repo=repo ${variant}.yaml | jq -r '."mutate-os-release"')"

      echo "Composing ${variant_pretty} ${version}.${buildid} ..."

  

      ARGS="--cachedir=cache --initialize"
@@ -218,8 +232,8 @@ 

  

      ${CMD} compose image ${ARGS} \

           --label="quay.expires-after=4w" \

-         "fedora-${variant}.yaml" \

-         "fedora-${variant}.ociarchive"

+         "${variant}.yaml" \

+         "${variant}.ociarchive"

  

  # Clean up everything

  clean-all:
@@ -270,7 +284,7 @@ 

          popd > /dev/null || exit 1

      fi

  

-     version_number="$(rpm-ostree compose tree --print-only --repo=repo fedora-${variant}.yaml | jq -r '."mutate-os-release"')"

+     version_number="$(rpm-ostree compose tree --print-only --repo=repo ${variant}.yaml | jq -r '."mutate-os-release"')"

      if [[ "$(git rev-parse --abbrev-ref HEAD)" == "main" ]] || [[ -f "fedora-rawhide.repo" ]]; then

          version_pretty="Rawhide"

          version="rawhide"
@@ -342,14 +356,22 @@ 

      #!/bin/bash

      set -euxo pipefail

  

-     declare -A pretty_names={{pretty_names}}

      variant={{variant}}

+ 

+     declare -A pretty_names={{pretty_names}}

      variant_pretty=${pretty_names[$variant]-}

      if [[ -z $variant_pretty ]]; then

          echo "Unknown variant"

          exit 1

      fi

  

+     declare -A legacy_names={{legacy_names}}

+     variant_legacy=${legacy_names[$variant]-}

+     if [[ -z $variant_legacy ]]; then

+         echo "Unknown variant (legacy)"

+         exit 1

+     fi

+ 

      if [[ -z ${CI_REGISTRY_USER+x} ]] || [[ -z ${CI_REGISTRY_PASSWORD+x} ]]; then

          echo "Skipping artifact archiving: Not in CI"

          exit 0
@@ -363,10 +385,9 @@ 

      if [[ "$(git rev-parse --abbrev-ref HEAD)" == "main" ]] || [[ -f "fedora-rawhide.repo" ]]; then

          version="rawhide"

      else

-         version="$(rpm-ostree compose tree --print-only --repo=repo fedora-${variant}.yaml | jq -r '."mutate-os-release"')"

+         version="$(rpm-ostree compose tree --print-only --repo=repo ${variant}.yaml | jq -r '."mutate-os-release"')"

      fi

  

-     image="quay.io/fedora-ostree-desktops/${variant}"

      buildid=""

      if [[ -f ".buildid" ]]; then

          buildid="$(< .buildid)"
@@ -383,11 +404,27 @@ 

      fi

  

      skopeo login --username "${CI_REGISTRY_USER}" --password "${CI_REGISTRY_PASSWORD}" quay.io

+ 

+     # Copy to the new names

+     image="quay.io/fedora-ostree-desktops/${variant}"

+ 

      # Copy fully versioned tag (major version, build date/id, git commit)

-     skopeo copy --retry-times 3 "oci-archive:fedora-${variant}.ociarchive" "docker://${image}:${version}.${buildid}.${git_commit}"

+     skopeo copy --retry-times 3 "oci-archive:${variant}.ociarchive" "docker://${image}:${version}.${buildid}.${git_commit}"

+ 

      # Update "un-versioned" tag (only major version)

      skopeo copy --retry-times 3 "docker://${image}:${version}.${buildid}.${git_commit}" "docker://${image}:${version}"

      if [[ "${variant}" == "kinoite-nightly" ]]; then

          # Update latest tag for kinoite-nightly only

          skopeo copy --retry-times 3 "docker://${image}:${version}.${buildid}.${git_commit}" "docker://${image}:latest"

      fi

+ 

+     # Copy to legacy names if needed

+     if [[ "${variant}" != "${variant_legacy}" ]]; then

+         image="quay.io/fedora-ostree-desktops/${variant_legacy}"

+ 

+         # Copy fully versioned tag (major version, build date/id, git commit)

+         skopeo copy --retry-times 3 "oci-archive:${variant}.ociarchive" "docker://${image}:${version}.${buildid}.${git_commit}"

+ 

+         # Update "un-versioned" tag (only major version)

+         skopeo copy --retry-times 3 "docker://${image}:${version}.${buildid}.${git_commit}" "docker://${image}:${version}"

+     fi

kinoite-common.yaml fedora-kinoite.yaml
file renamed
+4 -7
@@ -1,4 +1,7 @@ 

- include: kde-desktop-pkgs.yaml

+ include:

+   - common.yaml

+   - kinoite-packages.yaml

+ 

  ref: fedora/rawhide/${basearch}/kinoite

  rojig:

    name: fedora-kde
@@ -45,9 +48,3 @@ 

  

      # Enable auto updates in Discover

      echo -e "[Global]\nUseUnattendedUpdates=true\n" > /etc/xdg/PlasmaDiscoverUpdates

- 

- # Kept in the leaf manifest as they are overwritten by Pungi in composes

- repos:

-   - fedora-rawhide

-   # - fedora-41

-   # - fedora-41-updates

kinoite-mobile-packages.yaml kde-mobile-desktop-pkgs.yaml
file renamed
-1
@@ -1,5 +1,4 @@ 

  # DO NOT EDIT! This content is generated from comps-sync.py

- include: fedora-common-ostree.yaml

  packages:

    - elisa-player

    - haruna

kinoite-mobile.yaml fedora-kinoite-mobile.yaml
file renamed
+4 -1
@@ -1,5 +1,8 @@ 

  include:

-   - kde-mobile-desktop-pkgs.yaml

+   - common.yaml

+   - kinoite-mobile-packages.yaml

+   # See: https://pagure.io/fedora-kde/SIG/issue/519

+   # - dnf5-bootc.yaml

  

  ref: fedora/rawhide/${basearch}/kinoite-mobile

  rojig:

file added
+9
@@ -0,0 +1,9 @@ 

+ include:

+   - kinoite-common.yaml

+   - no-dnf.yaml

+ 

+ # Kept in the leaf manifest as they are overwritten by Pungi in composes

+ repos:

+   - fedora-rawhide

+   # - fedora-41

+   # - fedora-41-updates

kinoite-packages.yaml kde-desktop-pkgs.yaml
file renamed
-1
@@ -1,5 +1,4 @@ 

  # DO NOT EDIT! This content is generated from comps-sync.py

- include: fedora-common-ostree.yaml

  packages:

    - NetworkManager-config-connectivity-fedora

    - adwaita-gtk2-theme

file added
+10
@@ -0,0 +1,10 @@ 

+ include:

+   - kinoite-common.yaml

+   # See: https://pagure.io/fedora-kde/SIG/issue/519

+   # - dnf5-bootc.yaml

+ 

+ # Kept in the leaf manifest as they are overwritten by Pungi in composes

+ repos:

+   - fedora-rawhide

+   # - fedora-41

+   # - fedora-41-updates

lxqt-atomic-packages.yaml lxqt-desktop-pkgs.yaml
file renamed
-1
@@ -1,5 +1,4 @@ 

  # DO NOT EDIT! This content is generated from comps-sync.py

- include: fedora-common-ostree.yaml

  packages:

    - breeze-cursor-theme

    - breeze-gtk

lxqt-atomic.yaml fedora-lazurite.yaml
file renamed
+5 -1
@@ -1,4 +1,8 @@ 

- include: lxqt-desktop-pkgs.yaml

+ include:

+   - common.yaml

+   - lxqt-atomic-packages.yaml

+   - dnf5-bootc.yaml

+ 

  ref: fedora/rawhide/${basearch}/lazurite

  rojig:

    name: fedora-lxqt

mate-atomic-packages.yaml mate-desktop-pkgs.yaml
file renamed
-1
@@ -1,5 +1,4 @@ 

  # DO NOT EDIT! This content is generated from comps-sync.py

- include: fedora-common-ostree.yaml

  packages:

    - NetworkManager-adsl

    - NetworkManager-bluetooth

mate-atomic.yaml fedora-mate.yaml
file renamed
+5 -1
@@ -1,4 +1,8 @@ 

- include: mate-desktop-pkgs.yaml

+ include:

+   - common.yaml

+   - mate-atomic-packages.yaml

+   - dnf5-bootc.yaml

+ 

  ref: fedora/rawhide/${basearch}/mate

  rojig:

    name: fedora-mate

file added
+5
@@ -0,0 +1,5 @@ 

+ # We do not include any version of DNF in the classic ostree Atomic Desktops

+ # See: https://fedoraproject.org/wiki/Changes/DNFAndBootcInImageModeFedora

+ exclude-packages:

+   - dnf5

+   - dnf5-plugins

silverblue-common.yaml fedora-silverblue.yaml
file renamed
+4 -7
@@ -1,4 +1,7 @@ 

- include: gnome-desktop-pkgs.yaml

+ include:

+   - common.yaml

+   - silverblue-packages.yaml

+ 

  ref: fedora/rawhide/${basearch}/silverblue

  rojig:

    name: fedora-silverblue
@@ -29,9 +32,3 @@ 

  exclude-packages:

    # Exclude GNOME Software's langpack plugin to avoid layering langpacks on Silverblue

    - gnome-software-fedora-langpacks

- 

- # Kept in the leaf manifest as they are overwritten by Pungi in composes

- repos:

-   - fedora-rawhide

-   # - fedora-41

-   # - fedora-41-updates

@@ -0,0 +1,9 @@ 

+ include:

+   - silverblue-common.yaml

+   - no-dnf.yaml

+ 

+ # Kept in the leaf manifest as they are overwritten by Pungi in composes

+ repos:

+   - fedora-rawhide

+   # - fedora-41

+   # - fedora-41-updates

silverblue-packages.yaml gnome-desktop-pkgs.yaml
file renamed
-1
@@ -1,5 +1,4 @@ 

  # DO NOT EDIT! This content is generated from comps-sync.py

- include: fedora-common-ostree.yaml

  packages:

    - ModemManager

    - NetworkManager-adsl

file added
+9
@@ -0,0 +1,9 @@ 

+ include:

+   - silverblue-common.yaml

+   - dnf5-bootc.yaml

+ 

+ # Kept in the leaf manifest as they are overwritten by Pungi in composes

+ repos:

+   - fedora-rawhide

+   # - fedora-41

+   # - fedora-41-updates

sway-atomic-common.yaml fedora-sericea.yaml
file renamed
+4 -7
@@ -1,4 +1,7 @@ 

- include: sway-desktop-pkgs.yaml

+ include:

+   - common.yaml

+   - sway-atomic-packages.yaml

+ 

  ref: fedora/rawhide/${basearch}/sericea

  rojig:

    name: fedora-sericea
@@ -17,9 +20,3 @@ 

    # nothing in the tree would use these

    - tracker

    - tracker-miners

- 

- # Kept in the leaf manifest as they are overwritten by Pungi in composes

- repos:

-   - fedora-rawhide

-   # - fedora-41

-   # - fedora-41-updates

@@ -0,0 +1,9 @@ 

+ include:

+   - sway-atomic-common.yaml

+   - no-dnf.yaml

+ 

+ # Kept in the leaf manifest as they are overwritten by Pungi in composes

+ repos:

+   - fedora-rawhide

+   # - fedora-41

+   # - fedora-41-updates

sway-atomic-packages.yaml sway-desktop-pkgs.yaml
file renamed
-1
@@ -1,5 +1,4 @@ 

  # DO NOT EDIT! This content is generated from comps-sync.py

- include: fedora-common-ostree.yaml

  packages:

    - NetworkManager-l2tp-gnome

    - NetworkManager-libreswan-gnome

file added
+9
@@ -0,0 +1,9 @@ 

+ include:

+   - sway-atomic-common.yaml

+   - dnf5-bootc.yaml

+ 

+ # Kept in the leaf manifest as they are overwritten by Pungi in composes

+ repos:

+   - fedora-rawhide

+   # - fedora-41

+   # - fedora-41-updates

xfce-atomic-packages.yaml xfce-desktop-pkgs.yaml
file renamed
-1
@@ -1,5 +1,4 @@ 

  # DO NOT EDIT! This content is generated from comps-sync.py

- include: fedora-common-ostree.yaml

  packages:

    - NetworkManager-openconnect-gnome

    - NetworkManager-openvpn-gnome

xfce-atomic.yaml fedora-vauxite.yaml
file renamed
+5 -1
@@ -1,4 +1,8 @@ 

- include: xfce-desktop-pkgs.yaml

+ include:

+   - common.yaml

+   - xfce-atomic-packages.yaml

+   - dnf5-bootc.yaml

+ 

  ref: fedora/rawhide/${basearch}/vauxite

  rojig:

    name: fedora-vauxite

*: Include DNF5 (Kinoite temporarily excluded)

Stop excluding DNF5 and add it to all Atomic Desktops.

See: https://fedoraproject.org/wiki/Changes/DNFAndBootcInImageModeFedora
See: https://fedoraproject.org/wiki/Changes/SwitchToDnf5
See: https://pagure.io/fedora-comps/pull-request/960

Temporarily excluded from Kinoite.

See: https://pagure.io/fedora-kde/SIG/issue/519

rebased onto 9f06462

a month ago

rebased onto dff5347

a month ago

I pushed that change to the main branch of https://gitlab.com/fedora/ostree/ci-test. This is currently building in https://gitlab.com/fedora/ostree/ci-test/-/pipelines/1302308559/builds. That should make it easier to test.

For Kinoite:

error: Installing packages: Could not depsolve transaction; 1 problem detected:
 Problem: conflicting requests
  - package plasma-drkonqi-6.0.4-1.fc41.i686 from fedora-rawhide requires (dnf-command(debuginfo-install) if dnf), but none of the providers can be installed
  - package plasma-drkonqi-6.0.4-1.fc41.x86_64 from fedora-rawhide requires (dnf-command(debuginfo-install) if dnf), but none of the providers can be installed
  - package dnf5-plugins-5.2.1.0-1.fc41.x86_64 from fedora-rawhide requires dnf5(x86-64) = 5.2.1.0-1.fc41, but none of the providers can be installed
  - package dnf-plugins-core-4.7.0-1.fc41.noarch from fedora-rawhide is filtered out by exclude filtering

rebased onto 6efdf13

a month ago

rebased onto 5e3a12a

17 days ago

rebased onto 8b18da4

5 days ago

9 new commits added

  • Bootable Containers: Include DNF5 and bootc
  • ci/validate: Test by building a Bootable Container
  • Update justfile to compose -ostree for legacy
  • Add compatibility symlinks for classic ostree manifests
  • Split Bootable Containers manifest from classic ostree ones
  • Use new Atomic names
  • Update manifests names for variants and their package lists
  • Move common manifest includes to variants manifests
  • initramfs.yaml: Misc empty line fixup
4 days ago

rebased onto 457e89b

4 days ago
Metadata
Changes Summary 44
+5 -5
file changed
.gitlab-ci.yml
+4 -4
file changed
README.md
+4 -1
file renamed
fedora-base.yaml
base-atomic.yaml
+4 -7
file renamed
fedora-onyx.yaml
budgie-atomic-common.yaml
+9
file added
budgie-atomic-ostree.yaml
+0 -1
file renamed
budgie-desktop-pkgs.yaml
budgie-atomic-packages.yaml
+9
file added
budgie-atomic.yaml
+4 -4
file changed
ci/validate.yaml
+0 -1
file renamed
cinnamon-desktop-pkgs.yaml
cinnamon-atomic-packages.yaml
+5 -1
file renamed
fedora-cinnamon.yaml
cinnamon-atomic.yaml
+0 -0
file renamed
fedora-common-ostree-pkgs.yaml
common-packages.yaml
+3 -4
file renamed
fedora-common-ostree.yaml
common.yaml
+8 -6
file changed
comps-sync-exclude-list.yml
+22 -27
file changed
comps-sync.py
+0 -1
file renamed
deepin-desktop-pkgs.yaml
deepin-atomic-packages.yaml
+5 -1
file renamed
fedora-deepin.yaml
deepin-atomic.yaml
+6
file added
dnf5-bootc.yaml
+1
file added
fedora-kinoite.yaml
+1
file added
fedora-onyx.yaml
+1
file added
fedora-sericea.yaml
+1
file added
fedora-silverblue.yaml
+0 -1
file changed
initramfs.yaml
+62 -25
file changed
justfile
+4 -7
file renamed
fedora-kinoite.yaml
kinoite-common.yaml
+0 -1
file renamed
kde-mobile-desktop-pkgs.yaml
kinoite-mobile-packages.yaml
+4 -1
file renamed
fedora-kinoite-mobile.yaml
kinoite-mobile.yaml
+9
file added
kinoite-ostree.yaml
+0 -1
file renamed
kde-desktop-pkgs.yaml
kinoite-packages.yaml
+10
file added
kinoite.yaml
+0 -1
file renamed
lxqt-desktop-pkgs.yaml
lxqt-atomic-packages.yaml
+5 -1
file renamed
fedora-lazurite.yaml
lxqt-atomic.yaml
+0 -1
file renamed
mate-desktop-pkgs.yaml
mate-atomic-packages.yaml
+5 -1
file renamed
fedora-mate.yaml
mate-atomic.yaml
+5
file added
no-dnf.yaml
+4 -7
file renamed
fedora-silverblue.yaml
silverblue-common.yaml
+9
file added
silverblue-ostree.yaml
+0 -1
file renamed
gnome-desktop-pkgs.yaml
silverblue-packages.yaml
+9
file added
silverblue.yaml
+4 -7
file renamed
fedora-sericea.yaml
sway-atomic-common.yaml
+9
file added
sway-atomic-ostree.yaml
+0 -1
file renamed
sway-desktop-pkgs.yaml
sway-atomic-packages.yaml
+9
file added
sway-atomic.yaml
+0 -1
file renamed
xfce-desktop-pkgs.yaml
xfce-atomic-packages.yaml
+5 -1
file renamed
fedora-vauxite.yaml
xfce-atomic.yaml