#145 Migrate to yaml and add DeepinDE & Pantheon variants
Merged 5 years ago by walters. Opened 5 years ago by siosm.
siosm/workstation-ostree-config master  into  master

@@ -228,3 +228,6 @@ 

      - falkon

      - falkon-kwallet

      - pcmanfm-qt

+   deepin-desktop:

+     # Incompatible with ostree for various reasons

+     - dnfdragora-updater

file modified
+56 -63
@@ -12,17 +12,36 @@ 

      print >>sys.stderr, msg

      sys.exit(1)

  

+ def format_pkgtype(n):

+     if n == libcomps.PACKAGE_TYPE_DEFAULT:

+         return 'default'

+     elif n == libcomps.PACKAGE_TYPE_MANDATORY:

+         return 'mandatory'

+     else:

+         assert False

+ 

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

+     with open(fpath, 'w') as f:

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

+         if include is not None:

+             f.write("include: {}\n".format(include))

+         f.write("packages:\n")

+         for pkg in sorted(pkgs):

+             f.write("  - {}\n".format(pkg))

+         print("Wrote {}".format(fpath))

+ 

  parser = argparse.ArgumentParser()

  parser.add_argument("--save", help="Write changes", action='store_true')

  parser.add_argument("src", help="Source path")

  

  args = parser.parse_args()

  

- print("Syncing packages common to all ostree based desktop versions:")

+ print("Syncing packages common to all desktops:")

  

- base_pkgs_path = 'fedora-common-ostree-pkgs.json'

+ base_pkgs_path = 'fedora-common-ostree-pkgs.yaml'

  with open(base_pkgs_path) as f:

-     manifest = json.load(f)

+     manifest = yaml.safe_load(f)

+ manifest_packages = set(manifest['packages'])

  

  with open('comps-sync-blacklist.yml') as f:

      doc = yaml.safe_load(f)
@@ -31,12 +50,6 @@ 

      comps_blacklist_groups = doc['blacklist_groups']

      comps_desktop_blacklist = doc['desktop_blacklist']

  

- manifest_packages = set(manifest['packages'])

- 

- comps_unknown = set()

- 

- comps_packages = set()

- workstation_product_packages = set()

  # Parse comps, and build up a set of all packages so we

  # can find packages not listed in comps *at all*, beyond

  # just the workstation environment.
@@ -73,6 +86,7 @@ 

  for pkg in comps.groups_match(id=ws_ostree_name)[0].packages:

      ws_ostree_pkgs.add(pkg.name)

  

+ comps_unknown = set()

  for pkg in manifest_packages:

      if (pkg not in comps_whitelist and

          pkg not in ws_pkgs and
@@ -82,11 +96,11 @@ 

  # Look for packages in the manifest but not in comps at all

  n_manifest_new = len(comps_unknown)

  if n_manifest_new == 0:

-     print("All manifest packages are already listed in comps.")

+     print("  - All manifest packages are already listed in comps.")

  else:

-     print("{} packages not in {}:".format(n_manifest_new, ws_env_name))

+     print("  - {} packages not in {}:".format(n_manifest_new, ws_env_name))

      for pkg in sorted(comps_unknown):

-         print('  ' + pkg)

+         print('    {}'.format(pkg))

          manifest_packages.remove(pkg)

  

  # Look for packages in workstation but not in the manifest
@@ -96,88 +110,67 @@ 

          ws_added[pkg] = data

          manifest_packages.add(pkg)

  

- def format_pkgtype(n):

-     if n == libcomps.PACKAGE_TYPE_DEFAULT:

-         return 'default'

-     elif n == libcomps.PACKAGE_TYPE_MANDATORY:

-         return 'mandatory'

-     else:

-         assert False

- 

  n_comps_new = len(ws_added)

  if n_comps_new == 0:

-     print("All comps packages are already listed in manifest.")

+     print("  - All comps packages are already listed in manifest.")

  else:

-     print("{} packages not in manifest:".format(n_comps_new))

+     print("  - {} packages not in manifest:".format(n_comps_new))

      for pkg in sorted(ws_added):

          (req, groups) = ws_added[pkg]

-         print('  {} ({}, groups: {})'.format(pkg, format_pkgtype(req), ', '.join(groups)))

+         print('    {} ({}, groups: {})'.format(pkg, format_pkgtype(req), ', '.join(groups)))

  

  if (n_manifest_new > 0 or n_comps_new > 0) and args.save:

-     manifest['packages'] = sorted(manifest_packages)

-     with open(base_pkgs_path, 'w') as f:

-         json.dump(manifest, f, indent=4, sort_keys=True)

-         f.write('\n')

-         print("Wrote {}".format(base_pkgs_path))

- 

+     write_manifest(base_pkgs_path, manifest_packages)

  

  # Generate treefiles for all desktops

- for desktop in [ 'gnome-desktop', 'kde-desktop', 'xfce-desktop', 'lxqt-desktop' ]:

+ for desktop in [ 'gnome-desktop', 'kde-desktop', 'xfce-desktop', 'lxqt-desktop', 'deepin-desktop', 'pantheon-desktop']:

      print()

-     print("Syncing packages for {} specific version:".format(desktop))

- 

-     base_pkgs_path = '{}-pkgs.json'.format(desktop)

-     with open(base_pkgs_path) as f:

-         manifest = json.load(f)

+     print("Syncing packages for {}:".format(desktop))

  

+     manifest_path = '{}-pkgs.yaml'.format(desktop)

+     with open(manifest_path) as f:

+         manifest = yaml.safe_load(f)

      manifest_packages = set(manifest['packages'])

-     ws_ostree_name = desktop

- 

-     comps_unknown = set()

-     comps_packages = set()

-     workstation_product_packages = set()

  

-     # Parse the desktop group

-     ws_pkgs = set()

+     # Filter packages in the comps desktop group using the blacklist

+     comps_group_pkgs = set()

      for pkg in comps.groups_match(id=desktop)[0].packages:

          pkgname = pkg.name

-         blacklist = comps_desktop_blacklist.get(ws_ostree_name, set())

+         blacklist = comps_desktop_blacklist.get(desktop, set())

          if pkgname in blacklist:

              continue

-         ws_pkgs.add(pkg.name)

+         comps_group_pkgs.add(pkg.name)

  

+     # Look for packages in the manifest but not in comps group

+     comps_unknown = set()

      for pkg in manifest_packages:

-         if pkg not in ws_pkgs:

+         if pkg not in comps_group_pkgs:

              comps_unknown.add(pkg)

  

-     # Look for packages in the manifest but not in comps at all

      n_manifest_new = len(comps_unknown)

      if n_manifest_new == 0:

-         print("All manifest packages are already listed in comps.")

+         print("  - All manifest packages are already listed in comps.")

      else:

-         print("{} packages not in {}:".format(n_manifest_new, ws_ostree_name))

+         print("  - {} packages not in {} comps group:".format(n_manifest_new, desktop))

          for pkg in sorted(comps_unknown):

-             print('  ' + pkg)

+             print('    {}'.format(pkg))

              manifest_packages.remove(pkg)

  

      # Look for packages in comps but not in the manifest

-     ws_added = set()

-     for pkg in ws_pkgs:

+     desktop_pkgs_added = set()

+     for pkg in comps_group_pkgs:

          if pkg not in manifest_packages:

-             ws_added.add(pkg)

-             manifest_packages.add(pkg)

+             desktop_pkgs_added.add(pkg)

  

-     n_comps_new = len(ws_added)

+     n_comps_new = len(desktop_pkgs_added)

      if n_comps_new == 0:

-         print("All comps packages are already listed in manifest.")

+         print("  - All comps packages are already listed in manifest.")

      else:

-         print("{} packages not in manifest:".format(n_comps_new))

-         for pkg in sorted(ws_added):

-             print('  {}'.format(pkg))

+         print("  - {} packages not in {} manifest:".format(n_comps_new, desktop))

+         for pkg in sorted(desktop_pkgs_added):

+             print('    {}'.format(pkg))

+             manifest_packages.add(pkg)

  

+     # Update manifest

      if (n_manifest_new > 0 or n_comps_new > 0) and args.save:

-         manifest['packages'] = sorted(manifest_packages)

-         with open(base_pkgs_path, 'w') as f:

-             json.dump(manifest, f, indent=4, sort_keys=True)

-             f.write('\n')

-             print("Wrote {}".format(base_pkgs_path))

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

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

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

+ include: fedora-common-ostree.yaml

+ packages:

+   - chromium

+   - deepin-calculator

+   - deepin-calendar

+   - deepin-desktop

+   - deepin-editor

+   - deepin-file-manager

+   - deepin-image-viewer

+   - deepin-picker

+   - deepin-screenshot

+   - deepin-system-monitor

+   - fedora-icon-theme

+   - firewall-config

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

- {

-     "00packages-comment": "DO NOT EDIT! This content is generated from comps-sync.py",

-     "packages": [

-         "NetworkManager",

-         "NetworkManager-bluetooth",

-         "NetworkManager-config-connectivity-fedora",

-         "NetworkManager-wifi",

-         "NetworkManager-wwan",

-         "PackageKit-gstreamer-plugin",

-         "aajohan-comfortaa-fonts",

-         "abattis-cantarell-fonts",

-         "acl",

-         "adwaita-qt4",

-         "adwaita-qt5",

-         "alsa-plugins-pulseaudio",

-         "alsa-ucm",

-         "alsa-utils",

-         "atmel-firmware",

-         "attr",

-         "audit",

-         "b43-fwcutter",

-         "b43-openfwwf",

-         "basesystem",

-         "bash",

-         "bash-completion",

-         "bc",

-         "bind-utils",

-         "bluez-cups",

-         "bridge-utils",

-         "btrfs-progs",

-         "bzip2",

-         "chrony",

-         "cifs-utils",

-         "colord",

-         "coreutils",

-         "cpio",

-         "cryptsetup",

-         "cups",

-         "cups-filters",

-         "curl",

-         "cyrus-sasl-plain",

-         "dejavu-sans-fonts",

-         "dejavu-sans-mono-fonts",

-         "dejavu-serif-fonts",

-         "dhcp-client",

-         "dnsmasq",

-         "e2fsprogs",

-         "ethtool",

-         "fedora-bookmarks",

-         "fedora-release-workstation",

-         "fedora-user-agent-chrome",

-         "fedora-workstation-backgrounds",

-         "file",

-         "filesystem",

-         "firefox",

-         "firewalld",

-         "foomatic",

-         "foomatic-db-ppds",

-         "fpaste",

-         "fros-gnome",

-         "gamemode",

-         "glibc",

-         "glibc-all-langpacks",

-         "glx-utils",

-         "gnu-free-mono-fonts",

-         "gnu-free-sans-fonts",

-         "gnu-free-serif-fonts",

-         "gnupg2",

-         "google-noto-emoji-color-fonts",

-         "google-noto-sans-cjk-ttc-fonts",

-         "google-noto-sans-sinhala-fonts",

-         "google-noto-serif-cjk-ttc-fonts",

-         "gstreamer1-plugins-bad-free",

-         "gstreamer1-plugins-good",

-         "gutenprint",

-         "gutenprint-cups",

-         "hostname",

-         "hplip",

-         "hunspell",

-         "hyperv-daemons",

-         "ibus-gtk2",

-         "ibus-gtk3",

-         "ibus-hangul",

-         "ibus-kkc",

-         "ibus-libpinyin",

-         "ibus-libzhuyin",

-         "ibus-m17n",

-         "ibus-qt",

-         "ibus-typing-booster",

-         "iproute",

-         "iptables",

-         "iptstate",

-         "iputils",

-         "ipw2100-firmware",

-         "ipw2200-firmware",

-         "iwl100-firmware",

-         "iwl1000-firmware",

-         "iwl105-firmware",

-         "iwl135-firmware",

-         "iwl2000-firmware",

-         "iwl2030-firmware",

-         "iwl3160-firmware",

-         "iwl3945-firmware",

-         "iwl4965-firmware",

-         "iwl5000-firmware",

-         "iwl5150-firmware",

-         "iwl6000-firmware",

-         "iwl6000g2a-firmware",

-         "iwl6000g2b-firmware",

-         "iwl6050-firmware",

-         "iwl7260-firmware",

-         "jomolhari-fonts",

-         "julietaula-montserrat-fonts",

-         "kbd",

-         "kernel",

-         "kernel-modules-extra",

-         "khmeros-base-fonts",

-         "less",

-         "liberation-mono-fonts",

-         "liberation-sans-fonts",

-         "liberation-serif-fonts",

-         "libertas-usb8388-firmware",

-         "linux-firmware",

-         "logrotate",

-         "lohit-assamese-fonts",

-         "lohit-bengali-fonts",

-         "lohit-devanagari-fonts",

-         "lohit-gujarati-fonts",

-         "lohit-gurmukhi-fonts",

-         "lohit-kannada-fonts",

-         "lohit-odia-fonts",

-         "lohit-tamil-fonts",

-         "lohit-telugu-fonts",

-         "lrzsz",

-         "lsof",

-         "man-db",

-         "man-pages",

-         "mcelog",

-         "mdadm",

-         "mesa-dri-drivers",

-         "mesa-vulkan-drivers",

-         "microcode_ctl",

-         "mlocate",

-         "mpage",

-         "mtr",

-         "nfs-utils",

-         "nss-altfiles",

-         "nss-mdns",

-         "ntfsprogs",

-         "open-vm-tools-desktop",

-         "openssh-clients",

-         "openssh-server",

-         "paktype-naskh-basic-fonts",

-         "pam_krb5",

-         "paps",

-         "paratype-pt-sans-fonts",

-         "passwd",

-         "passwdqc",

-         "pciutils",

-         "pinfo",

-         "plymouth",

-         "plymouth-system-theme",

-         "policycoreutils",

-         "policycoreutils-python-utils",

-         "procps-ng",

-         "psmisc",

-         "pulseaudio",

-         "pulseaudio-module-x11",

-         "pulseaudio-utils",

-         "qemu-guest-agent",

-         "qt",

-         "qt-settings",

-         "qt-x11",

-         "qt5-qtbase",

-         "qt5-qtbase-gui",

-         "qt5-qtdeclarative",

-         "qt5-qtxmlpatterns",

-         "quota",

-         "realmd",

-         "rng-tools",

-         "rootfiles",

-         "rp-pppoe",

-         "rpm",

-         "rsync",

-         "samba-client",

-         "scl-utils",

-         "selinux-policy-targeted",

-         "setup",

-         "shadow-utils",

-         "sil-abyssinica-fonts",

-         "sil-mingzat-fonts",

-         "sil-nuosu-fonts",

-         "sil-padauk-fonts",

-         "smc-meera-fonts",

-         "sos",

-         "spice-vdagent",

-         "sssd",

-         "sssd-common",

-         "sssd-kcm",

-         "stix-fonts",

-         "sudo",

-         "system-config-printer-udev",

-         "systemd",

-         "systemd-udev",

-         "tar",

-         "thai-scalable-waree-fonts",

-         "time",

-         "tree",

-         "unzip",

-         "usb_modeswitch",

-         "usbutils",

-         "util-linux",

-         "vconfig",

-         "vim-minimal",

-         "virtualbox-guest-additions",

-         "wget",

-         "which",

-         "wireless-tools",

-         "words",

-         "xorg-x11-drv-ati",

-         "xorg-x11-drv-evdev",

-         "xorg-x11-drv-fbdev",

-         "xorg-x11-drv-intel",

-         "xorg-x11-drv-libinput",

-         "xorg-x11-drv-nouveau",

-         "xorg-x11-drv-openchrome",

-         "xorg-x11-drv-qxl",

-         "xorg-x11-drv-vesa",

-         "xorg-x11-drv-vmware",

-         "xorg-x11-drv-wacom",

-         "xorg-x11-server-Xorg",

-         "xorg-x11-utils",

-         "xorg-x11-xauth",

-         "xorg-x11-xinit",

-         "zd1211-firmware",

-         "zip"

-     ]

- }

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

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

+ packages:

+   - NetworkManager

+   - NetworkManager-bluetooth

+   - NetworkManager-config-connectivity-fedora

+   - NetworkManager-wifi

+   - NetworkManager-wwan

+   - PackageKit-gstreamer-plugin

+   - aajohan-comfortaa-fonts

+   - abattis-cantarell-fonts

+   - acl

+   - adwaita-qt4

+   - adwaita-qt5

+   - alsa-plugins-pulseaudio

+   - alsa-ucm

+   - alsa-utils

+   - atmel-firmware

+   - attr

+   - audit

+   - b43-fwcutter

+   - b43-openfwwf

+   - basesystem

+   - bash

+   - bash-completion

+   - bc

+   - bind-utils

+   - bluez-cups

+   - bridge-utils

+   - btrfs-progs

+   - bzip2

+   - chrony

+   - cifs-utils

+   - colord

+   - coreutils

+   - cpio

+   - cryptsetup

+   - cups

+   - cups-filters

+   - curl

+   - cyrus-sasl-plain

+   - dejavu-sans-fonts

+   - dejavu-sans-mono-fonts

+   - dejavu-serif-fonts

+   - dhcp-client

+   - dnsmasq

+   - e2fsprogs

+   - ethtool

+   - fedora-bookmarks

+   - fedora-release-workstation

+   - fedora-user-agent-chrome

+   - fedora-workstation-backgrounds

+   - file

+   - filesystem

+   - firefox

+   - firewalld

+   - foomatic

+   - foomatic-db-ppds

+   - fpaste

+   - fros-gnome

+   - gamemode

+   - glibc

+   - glibc-all-langpacks

+   - glx-utils

+   - gnu-free-mono-fonts

+   - gnu-free-sans-fonts

+   - gnu-free-serif-fonts

+   - gnupg2

+   - google-noto-emoji-color-fonts

+   - google-noto-sans-cjk-ttc-fonts

+   - google-noto-sans-sinhala-fonts

+   - google-noto-serif-cjk-ttc-fonts

+   - gstreamer1-plugins-bad-free

+   - gstreamer1-plugins-good

+   - gutenprint

+   - gutenprint-cups

+   - hostname

+   - hplip

+   - hunspell

+   - hyperv-daemons

+   - ibus-gtk2

+   - ibus-gtk3

+   - ibus-hangul

+   - ibus-kkc

+   - ibus-libpinyin

+   - ibus-libzhuyin

+   - ibus-m17n

+   - ibus-qt

+   - ibus-typing-booster

+   - iproute

+   - iptables

+   - iptstate

+   - iputils

+   - ipw2100-firmware

+   - ipw2200-firmware

+   - iwl100-firmware

+   - iwl1000-firmware

+   - iwl105-firmware

+   - iwl135-firmware

+   - iwl2000-firmware

+   - iwl2030-firmware

+   - iwl3160-firmware

+   - iwl3945-firmware

+   - iwl4965-firmware

+   - iwl5000-firmware

+   - iwl5150-firmware

+   - iwl6000-firmware

+   - iwl6000g2a-firmware

+   - iwl6000g2b-firmware

+   - iwl6050-firmware

+   - iwl7260-firmware

+   - jomolhari-fonts

+   - julietaula-montserrat-fonts

+   - kbd

+   - kernel

+   - kernel-modules-extra

+   - khmeros-base-fonts

+   - less

+   - liberation-mono-fonts

+   - liberation-sans-fonts

+   - liberation-serif-fonts

+   - libertas-usb8388-firmware

+   - linux-firmware

+   - logrotate

+   - lohit-assamese-fonts

+   - lohit-bengali-fonts

+   - lohit-devanagari-fonts

+   - lohit-gujarati-fonts

+   - lohit-gurmukhi-fonts

+   - lohit-kannada-fonts

+   - lohit-odia-fonts

+   - lohit-tamil-fonts

+   - lohit-telugu-fonts

+   - lrzsz

+   - lsof

+   - man-db

+   - man-pages

+   - mcelog

+   - mdadm

+   - mesa-dri-drivers

+   - mesa-vulkan-drivers

+   - microcode_ctl

+   - mlocate

+   - mpage

+   - mtr

+   - nfs-utils

+   - nss-altfiles

+   - nss-mdns

+   - ntfsprogs

+   - open-vm-tools-desktop

+   - openssh-clients

+   - openssh-server

+   - paktype-naskh-basic-fonts

+   - pam_krb5

+   - paps

+   - paratype-pt-sans-fonts

+   - passwd

+   - passwdqc

+   - pciutils

+   - pinfo

+   - plymouth

+   - plymouth-system-theme

+   - policycoreutils

+   - policycoreutils-python-utils

+   - procps-ng

+   - psmisc

+   - pulseaudio

+   - pulseaudio-module-x11

+   - pulseaudio-utils

+   - qemu-guest-agent

+   - qt

+   - qt-settings

+   - qt-x11

+   - qt5-qtbase

+   - qt5-qtbase-gui

+   - qt5-qtdeclarative

+   - qt5-qtxmlpatterns

+   - quota

+   - realmd

+   - rng-tools

+   - rootfiles

+   - rp-pppoe

+   - rpm

+   - rsync

+   - samba-client

+   - scl-utils

+   - selinux-policy-targeted

+   - setup

+   - shadow-utils

+   - sil-abyssinica-fonts

+   - sil-mingzat-fonts

+   - sil-nuosu-fonts

+   - sil-padauk-fonts

+   - smc-meera-fonts

+   - sos

+   - spice-vdagent

+   - sssd

+   - sssd-common

+   - sssd-kcm

+   - stix-fonts

+   - sudo

+   - system-config-printer-udev

+   - systemd

+   - systemd-udev

+   - tar

+   - thai-scalable-waree-fonts

+   - time

+   - tree

+   - unzip

+   - usb_modeswitch

+   - usbutils

+   - util-linux

+   - vconfig

+   - vim-minimal

+   - virtualbox-guest-additions

+   - wget

+   - which

+   - wireless-tools

+   - words

+   - xorg-x11-drv-ati

+   - xorg-x11-drv-evdev

+   - xorg-x11-drv-fbdev

+   - xorg-x11-drv-intel

+   - xorg-x11-drv-libinput

+   - xorg-x11-drv-nouveau

+   - xorg-x11-drv-openchrome

+   - xorg-x11-drv-qxl

+   - xorg-x11-drv-vesa

+   - xorg-x11-drv-vmware

+   - xorg-x11-drv-wacom

+   - xorg-x11-server-Xorg

+   - xorg-x11-utils

+   - xorg-x11-xauth

+   - xorg-x11-xinit

+   - zd1211-firmware

+   - zip

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

- {

-     "ref": "fedora/rawhide/${basearch}/ostree-base",

- 

-     "automatic_version_prefix": "31",

-     "mutate-os-release": "31",

- 

-     "include": "fedora-common-ostree-pkgs.json",

- 

-     "packages": [

-         "buildah",

-         "flatpak",

-         "flatpak-builder",

-         "git-core",

-         "lvm2",

-         "podman",

-         "rpm-ostree",

-         "skopeo",

-         "toolbox",

-         "xdg-desktop-portal"

-     ],

- 

-     "selinux": true,

-     "documentation": true,

-     "boot_location": "new",

-     "etc-group-members": ["wheel"],

-     "tmp-is-dir": true,

- 

-     "postprocess-script": "post.sh",

- 

-     "ignore-removed-users": ["root"],

-     "ignore-removed-groups": ["root"],

-     "check-passwd": { "type": "file", "filename": "passwd" },

-     "check-groups": { "type": "file", "filename": "group" },

- 

-     "default_target": "graphical.target",

- 

-     "comment-for-packages": "Keep this in sync with fedora-atomic-host.json from fedora-atomic",

-     "packages-aarch64": ["grub2-efi", "ostree-grub2", "efibootmgr", "shim"],

-     "packages-armhfp": ["extlinux-bootloader"],

-     "packages-ppc64": ["grub2", "ostree-grub2"],

-     "packages-ppc64le": ["grub2", "ostree-grub2"],

-     "packages-x86_64": ["grub2", "grub2-efi-x64", "ostree-grub2",

-                          "efibootmgr", "shim", "microcode_ctl"]

- }

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

+ ref: fedora/rawhide/${basearch}/ostree-base

+ 

+ automatic_version_prefix: "31"

+ mutate-os-release: "31"

+ 

+ include: fedora-common-ostree-pkgs.yaml

+ 

+ packages:

+   - git-core

+   - lvm2

+   - rpm-ostree

+   # Container management

+   - buildah

+   - podman

+   - skopeo

+   - toolbox

+   # Flatpak support

+   - flatpak

+   - flatpak-builder

+   - xdg-desktop-portal

+   # HFS filesystem tools for Apple hardware

+   # See https://github.com/projectatomic/rpm-ostree/issues/1380

+   - hfsplus-tools

+   # Bundle the minimal -devel packages needed to build a kernel.

+   # This is needed because we can't rely on layering to install these

+   # due to version conflicts with the base image.

+   - glibc-devel

+   - kernel-devel

+   - elfutils-libelf-devel

+   # Contains default ostree remote config to be used on client's

+   # system for fetching ostree update

+   - fedora-repos-ostree

+ 

+ selinux: true

+ documentation: true

+ boot_location: new

+ etc-group-members:

+   - wheel

+ tmp-is-dir: true

+ 

+ postprocess-script: post.sh

+ 

+ ignore-removed-users:

+   - root

+ ignore-removed-groups:

+   - root

+ check-passwd: { type: file, filename: passwd }

+ check-groups: { type: file, filename: group }

+ 

+ default_target: graphical.target

+ 

+ # Keep this in sync with fedora-atomic-host.json from fedora-atomic

+ packages-aarch64:

+   - grub2-efi

+   - ostree-grub2

+   - efibootmgr

+   - shim

+ packages-armhfp:

+   - extlinux-bootloader

+ packages-ppc64:

+   - grub2

+   - ostree-grub2

+ packages-ppc64le:

+   - grub2

+   - ostree-grub2

+ packages-x86_64:

+   - grub2

+   - grub2-efi-x64

+   - ostree-grub2

+   - efibootmgr

+   - shim

+   - microcode_ctl

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

+ include: deepin-desktop-pkgs.yaml

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

+ rojig:

+   name: fedora-deepin

+   summary: "Fedora Deepin base image"

+   license: MIT

+ packages:

+ 

+ repos:

+   - fedora-rawhide

file modified
+4 -2
@@ -1,15 +1,17 @@ 

- include: kde-desktop-pkgs.json

+ include: kde-desktop-pkgs.yaml

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

  rojig:

    name: fedora-kde

    summary: "Fedora Kinoite (KDE) base image"

    license: MIT

  packages:

+   # Wayland support

    - kwayland-integration

    - kwin-wayland

    - plasma-workspace-wayland

-   - xdg-desktop-portal-kde

    - xorg-x11-server-Xwayland

+   # Portals for Flatpak

+   - xdg-desktop-portal-kde

  

  repos:

    - fedora-rawhide

file modified
+3 -2
@@ -1,11 +1,12 @@ 

- include: lxqt-desktop-pkgs.json

+ include: lxqt-desktop-pkgs.yaml

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

  rojig:

    name: fedora-lxqt

-   summary: "Fedora LXQT base image"

+   summary: "Fedora LXQt base image"

    license: MIT

  packages:

    - libqtxdg

+   # Portals for Flatpak

    - xdg-desktop-portal-kde

  

  repos:

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

+ include: pantheon-desktop-pkgs.yaml

+ ref: fedora/rawhide/${basearch}/pantheon

+ rojig:

+   name: fedora-pantheon

+   summary: "Fedora Pantheon base image"

+   license: MIT

+ packages:

+ 

+ repos:

+   - fedora-rawhide

file modified
+1 -13
@@ -1,4 +1,4 @@ 

- include: gnome-desktop-pkgs.json

+ include: gnome-desktop-pkgs.yaml

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

  rojig:

    name: fedora-silverblue
@@ -11,18 +11,6 @@ 

    # Does it really still make sense to ship Qt by default if we

    # expect people to run apps in containers?

    - qgnomeplatform

-   # hfs filesystem tools for Apple hardware

-   # See https://github.com/projectatomic/rpm-ostree/issues/1380

-   - hfsplus-tools

-   # Bundle the minimal -devel packages needed to build a kernel.

-   # This is needed because we can't rely on layering to install these

-   # due to version conflicts with the base image.

-   - glibc-devel

-   - kernel-devel

-   - elfutils-libelf-devel

-   # Contains default ostree remote config to be used on client's

-   # system for fetching ostree update

-   - fedora-repos-ostree

  

  repos:

    - fedora-rawhide

file modified
+3 -2
@@ -1,10 +1,11 @@ 

- include: xfce-desktop-pkgs.json

+ include: xfce-desktop-pkgs.yaml

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

  rojig:

    name: fedora-xfce

    summary: "Fedora XFCE base image"

    license: MIT

  packages:

-     - xdg-desktop-portal-gtk

+   # Portals for Flatpak

+   - xdg-desktop-portal-gtk

  repos:

    - fedora-rawhide

file removed
-67
@@ -1,67 +0,0 @@ 

- {

-     "00packages-comment": "DO NOT EDIT! This content is generated from comps-sync.py",

-     "include": "fedora-common-ostree.json",

-     "packages": [

-         "ModemManager",

-         "NetworkManager-adsl",

-         "NetworkManager-openconnect-gnome",

-         "NetworkManager-openvpn-gnome",

-         "NetworkManager-ppp",

-         "NetworkManager-pptp-gnome",

-         "NetworkManager-ssh-gnome",

-         "NetworkManager-vpnc-gnome",

-         "NetworkManager-wwan",

-         "adobe-source-code-pro-fonts",

-         "at-spi2-atk",

-         "at-spi2-core",

-         "avahi",

-         "chrome-gnome-shell",

-         "dconf",

-         "gdm",

-         "glib-networking",

-         "gnome-backgrounds",

-         "gnome-bluetooth",

-         "gnome-characters",

-         "gnome-classic-session",

-         "gnome-color-manager",

-         "gnome-control-center",

-         "gnome-disk-utility",

-         "gnome-getting-started-docs",

-         "gnome-initial-setup",

-         "gnome-remote-desktop",

-         "gnome-session-wayland-session",

-         "gnome-session-xsession",

-         "gnome-settings-daemon",

-         "gnome-shell",

-         "gnome-software",

-         "gnome-system-monitor",

-         "gnome-terminal",

-         "gnome-terminal-nautilus",

-         "gnome-themes-extra",

-         "gnome-user-docs",

-         "gnome-user-share",

-         "gvfs-afc",

-         "gvfs-afp",

-         "gvfs-archive",

-         "gvfs-fuse",

-         "gvfs-goa",

-         "gvfs-gphoto2",

-         "gvfs-mtp",

-         "gvfs-smb",

-         "libcanberra-gtk2",

-         "libcanberra-gtk3",

-         "libproxy-mozjs",

-         "librsvg2",

-         "libsane-hpaio",

-         "mesa-libEGL",

-         "mousetweaks",

-         "polkit",

-         "rygel",

-         "tracker",

-         "tracker-miners",

-         "xdg-desktop-portal",

-         "xdg-desktop-portal-gtk",

-         "xdg-user-dirs-gtk",

-         "yelp"

-     ]

- }

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

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

+ include: fedora-common-ostree.yaml

+ packages:

+   - ModemManager

+   - NetworkManager-adsl

+   - NetworkManager-openconnect-gnome

+   - NetworkManager-openvpn-gnome

+   - NetworkManager-ppp

+   - NetworkManager-pptp-gnome

+   - NetworkManager-ssh-gnome

+   - NetworkManager-vpnc-gnome

+   - NetworkManager-wwan

+   - adobe-source-code-pro-fonts

+   - at-spi2-atk

+   - at-spi2-core

+   - avahi

+   - chrome-gnome-shell

+   - dconf

+   - gdm

+   - glib-networking

+   - gnome-backgrounds

+   - gnome-bluetooth

+   - gnome-classic-session

+   - gnome-color-manager

+   - gnome-control-center

+   - gnome-disk-utility

+   - gnome-getting-started-docs

+   - gnome-initial-setup

+   - gnome-remote-desktop

+   - gnome-session-wayland-session

+   - gnome-session-xsession

+   - gnome-settings-daemon

+   - gnome-shell

+   - gnome-software

+   - gnome-system-monitor

+   - gnome-terminal

+   - gnome-terminal-nautilus

+   - gnome-themes-extra

+   - gnome-user-docs

+   - gnome-user-share

+   - gvfs-afc

+   - gvfs-afp

+   - gvfs-archive

+   - gvfs-fuse

+   - gvfs-goa

+   - gvfs-gphoto2

+   - gvfs-mtp

+   - gvfs-smb

+   - libcanberra-gtk2

+   - libcanberra-gtk3

+   - libproxy-mozjs

+   - librsvg2

+   - libsane-hpaio

+   - mesa-libEGL

+   - mousetweaks

+   - polkit

+   - rygel

+   - tracker

+   - tracker-miners

+   - xdg-desktop-portal

+   - xdg-desktop-portal-gtk

+   - xdg-user-dirs-gtk

+   - yelp

file removed
-45
@@ -1,45 +0,0 @@ 

- {

-     "00packages-comment": "DO NOT EDIT! This content is generated from comps-sync.py",

-     "include": "fedora-common-ostree.json",

-     "packages": [

-         "NetworkManager-config-connectivity-fedora",

-         "bluedevil",

-         "breeze-icon-theme",

-         "glibc-all-langpacks",

-         "initial-setup-gui",

-         "kde-gtk-config",

-         "kde-print-manager",

-         "kde-settings-pulseaudio",

-         "kdeplasma-addons",

-         "kdialog",

-         "kf5-akonadi-server",

-         "kf5-akonadi-server-mysql",

-         "kf5-baloo-file",

-         "khotkeys",

-         "kinfocenter",

-         "kmousetool",

-         "konsole5",

-         "kscreen",

-         "kscreenlocker",

-         "ksysguard",

-         "kwalletmanager5",

-         "kwin",

-         "pam-kwallet",

-         "phonon-qt5-backend-gstreamer",

-         "plasma-breeze",

-         "plasma-desktop",

-         "plasma-discover",

-         "plasma-drkonqi",

-         "plasma-nm",

-         "plasma-pa",

-         "plasma-user-manager",

-         "plasma-workspace",

-         "polkit-kde",

-         "qt5-qtbase-gui",

-         "qt5-qtdeclarative",

-         "sddm",

-         "sddm-breeze",

-         "sddm-kcm",

-         "xorg-x11-drv-libinput"

-     ]

- }

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

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

+ include: fedora-common-ostree.yaml

+ packages:

+   - NetworkManager-config-connectivity-fedora

+   - bluedevil

+   - breeze-icon-theme

+   - glibc-all-langpacks

+   - initial-setup-gui

+   - kde-gtk-config

+   - kde-print-manager

+   - kde-settings-pulseaudio

+   - kdeplasma-addons

+   - kdialog

+   - kf5-akonadi-server

+   - kf5-akonadi-server-mysql

+   - kf5-baloo-file

+   - khotkeys

+   - kinfocenter

+   - kmousetool

+   - konsole5

+   - kscreen

+   - kscreenlocker

+   - ksysguard

+   - kwalletmanager5

+   - kwin

+   - pam-kwallet

+   - phonon-qt5-backend-gstreamer

+   - plasma-breeze

+   - plasma-desktop

+   - plasma-discover

+   - plasma-drkonqi

+   - plasma-nm

+   - plasma-pa

+   - plasma-user-manager

+   - plasma-workspace

+   - polkit-kde

+   - qt5-qtbase-gui

+   - qt5-qtdeclarative

+   - sddm

+   - sddm-breeze

+   - sddm-kcm

+   - xorg-x11-drv-libinput

file removed
-36
@@ -1,36 +0,0 @@ 

- {

-     "00packages-comment": "DO NOT EDIT! This content is generated from comps-sync.py",

-     "include": "fedora-common-ostree.json",

-     "packages": [

-         "breeze-cursor-theme",

-         "breeze-gtk",

-         "breeze-icon-theme",

-         "fedora-icon-theme",

-         "firewall-config",

-         "initial-setup-gui",

-         "lxqt-about",

-         "lxqt-config",

-         "lxqt-globalkeys",

-         "lxqt-notificationd",

-         "lxqt-openssh-askpass",

-         "lxqt-panel",

-         "lxqt-policykit",

-         "lxqt-powermanagement",

-         "lxqt-qtplugin",

-         "lxqt-runner",

-         "lxqt-session",

-         "lxqt-themes",

-         "lxqt-themes-fedora",

-         "network-manager-applet",

-         "nm-connection-editor",

-         "notification-daemon",

-         "obconf",

-         "openbox",

-         "perl-File-MimeInfo",

-         "qterminal",

-         "sddm",

-         "sddm-themes",

-         "upower",

-         "xdg-user-dirs"

-     ]

- }

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

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

+ include: fedora-common-ostree.yaml

+ packages:

+   - breeze-cursor-theme

+   - breeze-gtk

+   - breeze-icon-theme

+   - fedora-icon-theme

+   - firewall-config

+   - initial-setup-gui

+   - lxqt-about

+   - lxqt-config

+   - lxqt-globalkeys

+   - lxqt-notificationd

+   - lxqt-openssh-askpass

+   - lxqt-panel

+   - lxqt-policykit

+   - lxqt-powermanagement

+   - lxqt-qtplugin

+   - lxqt-runner

+   - lxqt-session

+   - lxqt-themes

+   - lxqt-themes-fedora

+   - network-manager-applet

+   - nm-connection-editor

+   - notification-daemon

+   - obconf

+   - openbox

+   - perl-File-MimeInfo

+   - qterminal

+   - sddm

+   - sddm-themes

+   - upower

+   - xdg-user-dirs

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

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

+ include: fedora-common-ostree.yaml

+ packages:

+   - appcenter

+   - cerbere

+   - contractor

+   - elementary-calculator

+   - elementary-calendar

+   - elementary-camera

+   - elementary-capnet-assist

+   - elementary-code

+   - elementary-files

+   - elementary-greeter

+   - elementary-icon-theme

+   - elementary-music

+   - elementary-photos

+   - elementary-print

+   - elementary-screenshot-tool

+   - elementary-shortcut-overlay

+   - elementary-sound-theme

+   - elementary-terminal

+   - elementary-theme

+   - elementary-videos

+   - elementary-wallpapers

+   - gala

+   - gnome-session

+   - gsignond

+   - gsignond-plugin-lastfm

+   - gsignond-plugin-mail

+   - gsignond-plugin-oauth

+   - gsignond-plugin-sasl

+   - pantheon-agent-geoclue2

+   - pantheon-agent-polkit

+   - pantheon-session-settings

+   - plank

+   - switchboard

+   - switchboard-plug-a11y

+   - switchboard-plug-about

+   - switchboard-plug-applications

+   - switchboard-plug-bluetooth

+   - switchboard-plug-display

+   - switchboard-plug-keyboard

+   - switchboard-plug-mouse-touchpad

+   - switchboard-plug-networking

+   - switchboard-plug-notifications

+   - switchboard-plug-onlineaccounts

+   - switchboard-plug-pantheon-shell

+   - switchboard-plug-printers

+   - switchboard-plug-sharing

+   - switchboard-plug-sound

+   - wingpanel

+   - wingpanel-applications-menu

+   - wingpanel-indicator-ayatana

+   - wingpanel-indicator-bluetooth

+   - wingpanel-indicator-datetime

+   - wingpanel-indicator-keyboard

+   - wingpanel-indicator-network

+   - wingpanel-indicator-nightlight

+   - wingpanel-indicator-notifications

+   - wingpanel-indicator-power

+   - wingpanel-indicator-session

+   - wingpanel-indicator-sound

file removed
-62
@@ -1,62 +0,0 @@ 

- {

-     "00packages-comment": "DO NOT EDIT! This content is generated from comps-sync.py",

-     "include": "fedora-common-ostree.json",

-     "packages": [

-         "NetworkManager-fortisslvpn-gnome",

-         "NetworkManager-iodine-gnome",

-         "NetworkManager-l2tp-gnome",

-         "NetworkManager-libreswan-gnome",

-         "NetworkManager-openconnect-gnome",

-         "NetworkManager-openvpn-gnome",

-         "NetworkManager-pptp-gnome",

-         "NetworkManager-ssh-gnome",

-         "NetworkManager-sstp-gnome",

-         "NetworkManager-strongswan-gnome",

-         "NetworkManager-vpnc-gnome",

-         "adwaita-gtk2-theme",

-         "adwaita-icon-theme",

-         "albatross-gtk2-theme",

-         "albatross-gtk3-theme",

-         "albatross-xfwm4-theme",

-         "arc-theme",

-         "blueberry",

-         "bluebird-gtk2-theme",

-         "bluebird-gtk3-theme",

-         "bluebird-xfwm4-theme",

-         "desktop-backgrounds-compat",

-         "fedora-icon-theme",

-         "gnome-keyring-pam",

-         "greybird-gtk2-theme",

-         "greybird-gtk3-theme",

-         "greybird-xfce4-notifyd-theme",

-         "greybird-xfwm4-theme",

-         "gtk-xfce-engine",

-         "gvfs",

-         "gvfs-archive",

-         "gvfs-mtp",

-         "initial-setup-gui",

-         "lightdm-gtk",

-         "network-manager-applet",

-         "nm-connection-editor",

-         "xdg-user-dirs-gtk",

-         "xfce4-about",

-         "xfce4-appfinder",

-         "xfce4-datetime-plugin",

-         "xfce4-panel",

-         "xfce4-places-plugin",

-         "xfce4-power-manager",

-         "xfce4-pulseaudio-plugin",

-         "xfce4-screenshooter-plugin",

-         "xfce4-session",

-         "xfce4-session-engines",

-         "xfce4-settings",

-         "xfce4-taskmanager",

-         "xfce4-terminal",

-         "xfconf",

-         "xfdesktop",

-         "xfwm4",

-         "xfwm4-theme-nodoka",

-         "xfwm4-themes",

-         "xscreensaver-base"

-     ]

- }

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

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

+ include: fedora-common-ostree.yaml

+ packages:

+   - NetworkManager-fortisslvpn-gnome

+   - NetworkManager-iodine-gnome

+   - NetworkManager-l2tp-gnome

+   - NetworkManager-libreswan-gnome

+   - NetworkManager-openconnect-gnome

+   - NetworkManager-openvpn-gnome

+   - NetworkManager-pptp-gnome

+   - NetworkManager-ssh-gnome

+   - NetworkManager-sstp-gnome

+   - NetworkManager-strongswan-gnome

+   - NetworkManager-vpnc-gnome

+   - adwaita-gtk2-theme

+   - adwaita-icon-theme

+   - albatross-gtk2-theme

+   - albatross-gtk3-theme

+   - albatross-xfwm4-theme

+   - arc-theme

+   - blueberry

+   - bluebird-gtk2-theme

+   - bluebird-gtk3-theme

+   - bluebird-xfwm4-theme

+   - desktop-backgrounds-compat

+   - fedora-icon-theme

+   - gnome-keyring-pam

+   - greybird-gtk2-theme

+   - greybird-gtk3-theme

+   - greybird-xfce4-notifyd-theme

+   - greybird-xfwm4-theme

+   - gtk-xfce-engine

+   - gvfs

+   - gvfs-archive

+   - gvfs-mtp

+   - initial-setup-gui

+   - lightdm-gtk

+   - network-manager-applet

+   - nm-connection-editor

+   - xdg-user-dirs-gtk

+   - xfce4-about

+   - xfce4-appfinder

+   - xfce4-datetime-plugin

+   - xfce4-panel

+   - xfce4-places-plugin

+   - xfce4-power-manager

+   - xfce4-pulseaudio-plugin

+   - xfce4-screenshooter-plugin

+   - xfce4-session

+   - xfce4-session-engines

+   - xfce4-settings

+   - xfce4-taskmanager

+   - xfce4-terminal

+   - xfconf

+   - xfdesktop

+   - xfwm4

+   - xfwm4-theme-nodoka

+   - xfwm4-themes

+   - xscreensaver-base

  • Rework comps-sync to use YAML format for manifests
  • Convert all manifests (see commit message for validation script)
  • Add DeepinDE & Pantheon variants

7 new commits added

  • Add Pantheon & DeepinDE variants
  • Add some minor comments
  • Move packages needed for all variants to common manifest
  • Convert all remaining json manifests to yaml
  • comps-sync.py: remove unused varaibles and minor renaming
  • comps-sync.py: cosmetic changes for clearer result output
  • comps-sync.py: use yaml format only
5 years ago

Thanks, this looks good to me!

Pull-Request has been merged by walters

5 years ago