From c80c85ea3da1705926067f53a576e05522d134b5 Mon Sep 17 00:00:00 2001 From: Timothée Ravier Date: Jan 15 2023 05:37:19 +0000 Subject: [PATCH 1/3] comps-sync.py: Support multiple comps groups for a desktop Enable fetching packages from multiple comps groups for each desktop. This is currently unused but this removes the constraints around having all base packages for a given desktop in a single comps group. This could also be used to get packages from other groups such as the input-methods group for example. --- diff --git a/comps-sync.py b/comps-sync.py index 4b9bfdb..0b3df3f 100755 --- a/comps-sync.py +++ b/comps-sync.py @@ -161,14 +161,23 @@ else: if (n_manifest_new > 0 or n_comps_new > 0) and args.save: write_manifest(base_pkgs_path, manifest_packages) +# List of comps groups used for each desktop +desktops_comps_groups = { + "gnome": ["gnome-desktop"], + "kde": ["kde-desktop"], + "xfce": ["xfce-desktop"], + "lxqt": ["lxqt-desktop"], + "deepin": ["deepin-desktop"], + "mate": ["mate-desktop"] +} + # Generate treefiles for all desktops -for desktop in [ 'gnome-desktop', 'kde-desktop', 'xfce-desktop', - 'lxqt-desktop', 'deepin-desktop', 'mate-desktop']: +for desktop, groups in desktops_comps_groups.items(): print() print("Syncing packages for {}:".format(desktop)) - manifest_path = '{}-pkgs.yaml'.format(desktop) - with open(manifest_path) as f: + manifest_path = '{}-desktop-pkgs.yaml'.format(desktop) + with open(manifest_path, encoding='UTF-8') as f: manifest = yaml.safe_load(f) manifest_packages = {} manifest_packages['all'] = set(manifest['packages']) @@ -182,15 +191,16 @@ for desktop in [ 'gnome-desktop', 'kde-desktop', 'xfce-desktop', comps_group_pkgs = {} for arch in ARCHES: filtered = comps.arch_filter([arch]) - for pkg in filtered.groups_match(id=desktop)[0].packages: - pkgname = pkg.name - exclude_list = comps_desktop_exclude_list.get(desktop, set()) - if pkgname in exclude_list or is_exclude_listed(pkgname): - continue - if pkgname in comps_group_pkgs: - comps_group_pkgs[pkgname].add(arch) - else: - comps_group_pkgs[pkgname] = set([arch]) + for group in groups: + for pkg in filtered.groups_match(id=group)[0].packages: + pkgname = pkg.name + exclude_list = comps_desktop_exclude_list.get(group, set()) + if pkgname in exclude_list or is_exclude_listed(pkgname): + continue + if pkgname in comps_group_pkgs: + comps_group_pkgs[pkgname].add(arch) + else: + comps_group_pkgs[pkgname] = set([arch]) comps_unknown = set() for arch in manifest_packages: From 44d4d094ae36405d086da098daed6a58df333134 Mon Sep 17 00:00:00 2001 From: Anthony Rabbito Date: Jan 15 2023 05:37:20 +0000 Subject: [PATCH 2/3] Sericea: initial implementation for Sway desktop variant Signed-off-by: Anthony Rabbito Co-authored-by: Aleksei Bavshin --- diff --git a/comps-sync-exclude-list.yml b/comps-sync-exclude-list.yml index ed98791..9165ed6 100644 --- a/comps-sync-exclude-list.yml +++ b/comps-sync-exclude-list.yml @@ -245,3 +245,6 @@ desktop_exclude_list: - NetworkManager-wifi # Already in the common set - wireplumber + swaywm-extended: + # Non-critical apps -> Flatpak + - mpv diff --git a/comps-sync.py b/comps-sync.py index 0b3df3f..99383a3 100755 --- a/comps-sync.py +++ b/comps-sync.py @@ -168,7 +168,8 @@ desktops_comps_groups = { "xfce": ["xfce-desktop"], "lxqt": ["lxqt-desktop"], "deepin": ["deepin-desktop"], - "mate": ["mate-desktop"] + "mate": ["mate-desktop"], + "sway": ["swaywm", "swaywm-extended"], } # Generate treefiles for all desktops diff --git a/fedora-sericea.yaml b/fedora-sericea.yaml new file mode 100644 index 0000000..319aa05 --- /dev/null +++ b/fedora-sericea.yaml @@ -0,0 +1,22 @@ +include: + - sway-desktop-pkgs.yaml +ref: fedora/rawhide/${basearch}/sericea +rojig: + name: fedora-sericea + summary: "Fedora Sericea (Sway) base image" + license: MIT +packages: + - fedora-release-sericea + # explicitly list some defaults + - firefox +exclude-packages: + # already excluded in comps-sync-exclude-list + - PackageKit-glib + - grubby + # nothing in the tree would use these + - tracker + - tracker-miners +repos: + - fedora-rawhide + # - fedora-38 + # - fedora-38-updates diff --git a/sway-desktop-pkgs.yaml b/sway-desktop-pkgs.yaml new file mode 100644 index 0000000..6c751e1 --- /dev/null +++ b/sway-desktop-pkgs.yaml @@ -0,0 +1,3 @@ +# DO NOT EDIT! This content is generated from comps-sync.py +include: fedora-common-ostree.yaml +packages: [] From 1be244d8c465c3a6188c133ab5aed2c2f7e85a9f Mon Sep 17 00:00:00 2001 From: Aleksei Bavshin Date: Jan 15 2023 05:52:15 +0000 Subject: [PATCH 3/3] comps-sync f38 2023-01-14 Initial sync for Sericea (Sway) --- diff --git a/sway-desktop-pkgs.yaml b/sway-desktop-pkgs.yaml index 6c751e1..6081eca 100644 --- a/sway-desktop-pkgs.yaml +++ b/sway-desktop-pkgs.yaml @@ -1,3 +1,42 @@ # DO NOT EDIT! This content is generated from comps-sync.py include: fedora-common-ostree.yaml -packages: [] +packages: + - NetworkManager-l2tp-gnome + - NetworkManager-libreswan-gnome + - NetworkManager-openconnect-gnome + - NetworkManager-openvpn-gnome + - NetworkManager-pptp-gnome + - NetworkManager-sstp-gnome + - NetworkManager-vpnc-gnome + - Thunar + - blueman + - bolt + - dunst + - foot + - fprintd-pam + - gnome-keyring-pam + - grim + - imv + - kanshi + - lxqt-policykit + - network-manager-applet + - pavucontrol-qt + - pinentry-gnome3 + - playerctl + - polkit + - pulseaudio-utils + - sddm + - sddm-x11 + - slurp + - sway + - sway-config-fedora + - swaybg + - swayidle + - swaylock + - system-config-printer + - thunar-archive-plugin + - waybar + - wl-clipboard + - xdg-desktop-portal-gtk + - xdg-desktop-portal-wlr + - xorg-x11-server-Xwayland