#65 Add initial comps-sync script, use it to trim package set
Merged 6 years ago by ausil. Opened 6 years ago by walters.
walters/workstation-ostree-config comps-sync  into  master

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

+ #!/usr/bin/python3

+ # Usage: ./comps-sync.py /path/to/comps-f28.xml.in

+ # Currently just *removes* packages from the manifest

+ # which are not mentioned in comps.

+ 

+ import os, sys, subprocess, argparse, shlex, json

+ import libcomps

+ 

+ def fatal(msg):

+     print >>sys.stderr, msg

+     sys.exit(1)

+ 

+ parser = argparse.ArgumentParser()

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

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

+ 

+ args = parser.parse_args()

+ 

+ base_pkgs_path = 'fedora-workstation-base-pkgs.json'

+ with open(base_pkgs_path) as f:

+     manifest = json.load(f)

+ 

+ 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.

+ comps = libcomps.Comps()

+ comps.fromxml_f(args.src)

+ for group in comps.groups:

+     for pkg in group.packages:

+         comps_packages.add(pkg.name)

+ for pkg in manifest_packages:

+     if pkg not in comps_packages:

+         comps_unknown.add(pkg)

+ 

+ # Parse the workstation-product environment, gathering

+ # default or mandatory packages.

+ ws_environ = comps.environments['workstation-product-environment']

+ ws_pkgs = {}

+ for gid in ws_environ.group_ids:

+     group = comps.groups_match(id=gid.name)[0]

+     for pkg in group.packages:

+         pkgname = pkg.name

+         if pkg.type not in (libcomps.PACKAGE_TYPE_DEFAULT,

+                             libcomps.PACKAGE_TYPE_MANDATORY):

+             continue

+         pkgdata = ws_pkgs.get(pkgname)

+         if pkgdata is None:

+             ws_pkgs[pkgname] = pkgdata = (pkg.type, set([gid.name]))

+         if (pkgdata[0] == libcomps.PACKAGE_TYPE_DEFAULT and

+             pkg.type == libcomps.PACKAGE_TYPE_MANDATORY):

+             ws_pkgs[pkgname] = pkgdata = (pkg.type, pkgdata[1])

+         pkgdata[1].add(gid.name)

+ 

+ # 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.")

+ else:

+     print("{} packages not in comps:".format(n_manifest_new))

+     for pkg in sorted(comps_unknown):

+         print('  ' + pkg)

+         manifest_packages.remove(pkg)

+ 

+ # Look for packages in workstation but not in the manifest

+ ws_added = {}

+ for (pkg,data) in ws_pkgs.items():

+     if pkg not in manifest_packages:

+         ws_added[pkg] = data

+ 

+ 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.")

+ else:

+     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)))

+ 

+ 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))

@@ -8,6 +8,7 @@ 

      "mutate-os-release": "28",

  

      "packages": [

+         "flatpak",

          "atomic",

          "buildah",

          "git-core",

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

+ {

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

+     "packages": [

+         "ModemManager",

+         "NetworkManager",

+         "NetworkManager-adsl",

+         "NetworkManager-bluetooth",

+         "NetworkManager-config-connectivity-fedora",

+         "NetworkManager-openconnect",

+         "NetworkManager-openvpn-gnome",

+         "NetworkManager-pptp-gnome",

+         "NetworkManager-team",

+         "NetworkManager-vpnc-gnome",

+         "NetworkManager-wifi",

+         "NetworkManager-wwan",

+         "PackageKit-gstreamer-plugin",

+         "aajohan-comfortaa-fonts",

+         "adobe-source-han-sans-cn-fonts",

+         "adobe-source-han-sans-tw-fonts",

+         "adwaita-qt4",

+         "adwaita-qt5",

+         "alsa-plugins-pulseaudio",

+         "alsa-utils",

+         "at-spi2-atk",

+         "at-spi2-core",

+         "atmel-firmware",

+         "attr",

+         "audit",

+         "authconfig",

+         "avahi",

+         "b43-fwcutter",

+         "b43-openfwwf",

+         "baobab",

+         "basesystem",

+         "bash",

+         "bash-completion",

+         "bc",

+         "bind-utils",

+         "bluez-cups",

+         "bridge-utils",

+         "btrfs-progs",

+         "bzip2",

+         "caribou",

+         "caribou-gtk2-module",

+         "caribou-gtk3-module",

+         "cheese",

+         "chrony",

+         "cifs-utils",

+         "control-center",

+         "coreutils",

+         "cryptsetup",

+         "cups",

+         "cups-filters",

+         "curl",

+         "dejavu-sans-fonts",

+         "dejavu-sans-mono-fonts",

+         "dejavu-serif-fonts",

+         "device-mapper-multipath",

+         "dmraid",

+         "dos2unix",

+         "dracut-config-generic",

+         "dracut-network",

+         "ebtables",

+         "efibootmgr",

+         "eog",

+         "ethtool",

+         "fcoe-utils",

+         "fedora-bookmarks",

+         "fedora-productimg-workstation",

+         "fedora-release-workstation",

+         "fedora-user-agent-chrome",

+         "file-roller",

+         "firefox",

+         "firewalld",

+         "foomatic",

+         "foomatic-db-ppds",

+         "fpaste",

+         "fprintd-pam",

+         "fros-gnome",

+         "gdm",

+         "gedit",

+         "glib-networking",

+         "glibc",

+         "glibc-all-langpacks",

+         "gnome-backgrounds",

+         "gnome-bluetooth",

+         "gnome-boxes",

+         "gnome-calculator",

+         "gnome-characters",

+         "gnome-classic-session",

+         "gnome-clocks",

+         "gnome-color-manager",

+         "gnome-contacts",

+         "gnome-disk-utility",

+         "gnome-font-viewer",

+         "gnome-getting-started-docs",

+         "gnome-initial-setup",

+         "gnome-logs",

+         "gnome-maps",

+         "gnome-screenshot",

+         "gnome-session-wayland-session",

+         "gnome-session-xsession",

+         "gnome-settings-daemon",

+         "gnome-shell",

+         "gnome-shell-extension-background-logo",

+         "gnome-software",

+         "gnome-system-monitor",

+         "gnome-terminal",

+         "gnome-themes-standard",

+         "gnome-user-docs",

+         "gnome-user-share",

+         "gnome-weather",

+         "gnu-free-mono-fonts",

+         "gnu-free-sans-fonts",

+         "gnu-free-serif-fonts",

+         "gnupg2",

+         "google-noto-emoji-fonts",

+         "google-noto-sans-lisu-fonts",

+         "google-noto-sans-mandaic-fonts",

+         "google-noto-sans-meetei-mayek-fonts",

+         "google-noto-sans-tagalog-fonts",

+         "google-noto-sans-tai-tham-fonts",

+         "google-noto-sans-tai-viet-fonts",

+         "gutenprint",

+         "gutenprint-cups",

+         "gvfs-afc",

+         "gvfs-afp",

+         "gvfs-archive",

+         "gvfs-fuse",

+         "gvfs-goa",

+         "gvfs-gphoto2",

+         "gvfs-mtp",

+         "gvfs-smb",

+         "gzip",

+         "hfsplus-tools",

+         "highlight",

+         "hostname",

+         "hplip",

+         "hyperv-daemons",

+         "ibus-gtk2",

+         "ibus-gtk3",

+         "ibus-hangul",

+         "ibus-kkc",

+         "ibus-libpinyin",

+         "ibus-libzhuyin",

+         "ibus-m17n",

+         "ibus-qt",

+         "ibus-rawcode",

+         "ibus-typing-booster",

+         "initscripts",

+         "iproute",

+         "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",

+         "jwhois",

+         "kbd",

+         "kernel",

+         "kernel-modules-extra",

+         "khmeros-base-fonts",

+         "less",

+         "libcanberra-gtk2",

+         "libcanberra-gtk3",

+         "libertas-usb8388-firmware",

+         "libproxy-mozjs",

+         "libvirt-client",

+         "libvirt-daemon-kvm",

+         "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",

+         "lvm2",

+         "lzop",

+         "m17n-db",

+         "mactel-boot",

+         "man-db",

+         "man-pages",

+         "mcelog",

+         "mesa-dri-drivers",

+         "microcode_ctl",

+         "mlocate",

+         "mousetweaks",

+         "mpage",

+         "mtr",

+         "nautilus",

+         "nautilus-sendto",

+         "naver-nanum-gothic-fonts",

+         "nfs-utils",

+         "nss-altfiles",

+         "nss-mdns",

+         "openssh-clients",

+         "openssh-server",

+         "orca",

+         "paktype-naskh-basic-fonts",

+         "pam_krb5",

+         "paps",

+         "paratype-pt-sans-fonts",

+         "passwd",

+         "passwdqc",

+         "pciutils",

+         "pinfo",

+         "plymouth",

+         "plymouth-system-theme",

+         "policycoreutils",

+         "polkit",

+         "poppler-utils",

+         "procps-ng",

+         "psacct",

+         "qemu-guest-agent",

+         "qemu-kvm",

+         "qgnomeplatform",

+         "radvd",

+         "rdist",

+         "rng-tools",

+         "rootfiles",

+         "rp-pppoe",

+         "rsync",

+         "rygel",

+         "samba-client",

+         "sane-backends-drivers-scanners",

+         "scl-utils",

+         "selinux-policy-targeted",

+         "setup",

+         "setuptool",

+         "shadow-utils",

+         "sheepdog",

+         "sil-abyssinica-fonts",

+         "sil-mingzat-fonts",

+         "sil-nuosu-fonts",

+         "sil-padauk-fonts",

+         "smc-meera-fonts",

+         "sos",

+         "spice-vdagent",

+         "sssd",

+         "sssd-common",

+         "stix-fonts",

+         "sudo",

+         "sushi",

+         "symlinks",

+         "system-config-printer-udev",

+         "systemd",

+         "tabish-eeyek-fonts",

+         "tar",

+         "tcpdump",

+         "teamd",

+         "telnet",

+         "thai-scalable-waree-fonts",

+         "time",

+         "totem",

+         "totem-nautilus",

+         "traceroute",

+         "tree",

+         "usb_modeswitch",

+         "usbutils",

+         "util-linux",

+         "vconfig",

+         "vim-minimal",

+         "vlgothic-fonts",

+         "wget",

+         "which",

+         "wireless-tools",

+         "words",

+         "wvdial",

+         "xdg-user-dirs-gtk",

+         "xfsprogs",

+         "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",

+         "xz",

+         "yelp",

+         "zd1211-firmware",

+         "zip"

+     ]

+ }

file modified
+1 -400
@@ -1,5 +1,6 @@ 

  {

      "ref": "fedora/rawhide/x86_64/workstation-base",

+     "include": "fedora-workstation-base-pkgs.json",

  

      "selinux": true,

      "documentation": true,
@@ -13,406 +14,6 @@ 

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

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

  

-     "packages": [

- 		"aajohan-comfortaa-fonts",

- 		"adobe-source-han-sans-cn-fonts",

- 		"adobe-source-han-sans-tw-fonts",

- 		"adwaita-qt4",

- 		"adwaita-qt5",

- 		"alsa-plugins-pulseaudio",

- 		"alsa-utils",

- 		"atmel-firmware",

- 		"at-spi2-atk",

- 		"at-spi2-core",

- 		"attr",

- 		"audit",

- 		"authconfig",

- 		"avahi",

- 		"b43-fwcutter",

- 		"b43-openfwwf",

- 		"baobab",

- 		"basesystem",

- 		"bash",

- 		"bash-completion",

- 		"bc",

- 		"bcache-tools",

- 		"bind-license",

- 		"bind-utils",

- 		"bluez-cups",

- 		"bridge-utils",

- 		"btrfs-progs",

- 		"bzip2",

- 		"caribou",

- 		"caribou-gtk2-module",

- 		"caribou-gtk3-module",

- 		"cheese",

- 		"chrony",

- 		"cifs-utils",

- 		"control-center",

- 		"coreutils",

- 		"crda",

- 		"cryptsetup",

- 		"cups",

- 		"cups-client",

- 		"cups-filesystem",

- 		"cups-filters",

- 		"curl",

- 		"dejavu-sans-fonts",

- 		"dejavu-sans-mono-fonts",

- 		"dejavu-serif-fonts",

- 		"device-mapper-multipath",

- 		"dmidecode",

- 		"dmraid",

- 		"dmraid-events",

- 		"dos2unix",

- 		"dracut-config-generic",

- 		"dracut-network",

- 		"ebtables",

- 		"efibootmgr",

- 		"eog",

- 		"ethtool",

- 		"fcoe-utils",

- 		"fedora-bookmarks",

- 		"fedora-productimg-workstation",

- 		"fedora-release-workstation",

- 		"fedora-user-agent-chrome",

- 		"file-roller",

- 		"firefox",

- 		"firewalld",

- 		"firewalld-filesystem",

- 		"flatpak",

- 		"foomatic",

- 		"foomatic-db",

- 		"foomatic-db-filesystem",

- 		"foomatic-db-ppds",

- 		"fpaste",

- 		"fprintd-pam",

- 		"fros",

- 		"fros-gnome",

- 		"gdm",

- 		"gedit",

- 		"glibc",

- 		"glibc-all-langpacks",

- 		"glib-networking",

- 		"gnome-backgrounds",

- 		"gnome-bluetooth",

- 		"gnome-boxes",

- 		"gnome-calculator",

- 		"gnome-characters",

- 		"gnome-classic-session",

- 		"gnome-clocks",

- 		"gnome-color-manager",

- 		"gnome-contacts",

- 		"gnome-disk-utility",

- 		"gnome-font-viewer",

- 		"gnome-getting-started-docs",

- 		"gnome-initial-setup",

- 		"gnome-logs",

- 		"gnome-maps",

- 		"gnome-screenshot",

- 		"gnome-session-wayland-session",

- 		"gnome-session-xsession",

- 		"gnome-settings-daemon",

- 		"gnome-shell",

- 		"gnome-shell-extension-background-logo",

- 		"gnome-software",

- 		"gnome-system-monitor",

- 		"gnome-terminal",

- 		"gnome-themes-standard",

- 		"gnome-user-docs",

- 		"gnome-user-share",

- 		"gnome-weather",

- 		"gnu-free-fonts-common",

- 		"gnu-free-mono-fonts",

- 		"gnu-free-sans-fonts",

- 		"gnu-free-serif-fonts",

- 		"gnupg",

- 		"gnupg2",

- 		"google-noto-emoji-fonts",

- 		"google-noto-sans-lisu-fonts",

- 		"google-noto-sans-mandaic-fonts",

- 		"google-noto-sans-meetei-mayek-fonts",

- 		"google-noto-sans-tagalog-fonts",

- 		"google-noto-sans-tai-tham-fonts",

- 		"google-noto-sans-tai-viet-fonts",

- 		"gutenprint",

- 		"gutenprint-cups",

- 		"gvfs-afc",

- 		"gvfs-afp",

- 		"gvfs-archive",

- 		"gvfs-fuse",

- 		"gvfs-goa",

- 		"gvfs-gphoto2",

- 		"gvfs-mtp",

- 		"gvfs-smb",

- 		"gzip",

- 		"hfsplus-tools",

- 		"highlight",

- 		"hostname",

- 		"hplip",

- 		"hyperv-daemons",

- 		"hyperv-daemons-license",

- 		"hypervfcopyd",

- 		"hypervkvpd",

- 		"hypervvssd",

- 		"ibus",

- 		"ibus-gtk2",

- 		"ibus-gtk3",

- 		"ibus-hangul",

- 		"ibus-kkc",

- 		"ibus-libpinyin",

- 		"ibus-libzhuyin",

- 		"ibus-m17n",

- 		"ibus-qt",

- 		"ibus-rawcode",

- 		"ibus-setup",

- 		"ibus-typing-booster",

- 		"initscripts",

- 		"iproute",

- 		"ipset",

- 		"iptstate",

- 		"iputils",

- 		"ipw2100-firmware",

- 		"ipw2200-firmware",

- 		"isomd5sum",

- 		"iw",

- 		"iwl1000-firmware",

- 		"iwl100-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",

- 		"jwhois",

- 		"kbd",

- 		"kbd-legacy",

- 		"kbd-misc",

- 		"kernel",

- 		"kernel-modules-extra",

- 		"kexec-tools",

- 		"keybinder3",

- 		"khmeros-base-fonts",

- 		"khmeros-fonts-common",

- 		"langtable",

- 		"langtable-data",

- 		"langtable-python3",

- 		"less",

- 		"libcanberra-gtk2",

- 		"libcanberra-gtk3",

- 		"libertas-usb8388-firmware",

- 		"libproxy-mozjs",

- 		"libsss_idmap",

- 		"libsss_nss_idmap",

- 		"libvirt-daemon",

- 		"libvirt-daemon-driver-interface",

- 		"libvirt-daemon-driver-network",

- 		"libvirt-daemon-driver-nodedev",

- 		"libvirt-daemon-driver-nwfilter",

- 		"libvirt-daemon-driver-qemu",

- 		"libvirt-daemon-driver-secret",

- 		"libvirt-daemon-driver-storage",

- 		"libvirt-daemon-kvm",

- 		"libvirt-client",

- 		"libvirt-gconfig",

- 		"libvirt-glib",

- 		"libvirt-gobject",

- 		"libXxf86dga",

- 		"lldpad",

- 		"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",

- 		"lpsolve",

- 		"lrzsz",

- 		"lsof",

- 		"lttng-ust",

- 		"lvm2",

- 		"lzop",

- 		"m17n-db",

- 		"m17n-lib",

- 		"mactel-boot",

- 		"man-db",

- 		"man-pages",

- 		"mcelog",

- 		"media-player-info",

- 		"mesa-dri-drivers",

- 		"mesa-libxatracker",

- 		"microcode_ctl",

- 		"mlocate",

- 		"ModemManager",

- 		"mousetweaks",

- 		"mpage",

- 		"mtools",

- 		"mtr",

- 		"nautilus",

- 		"nautilus-sendto",

- 		"naver-nanum-fonts-common",

- 		"naver-nanum-gothic-fonts",

- 		"NetworkManager",

- 		"NetworkManager-adsl",

- 		"NetworkManager-bluetooth",

- 		"NetworkManager-config-connectivity-fedora",

- 		"NetworkManager-openconnect",

- 		"NetworkManager-openvpn-gnome",

- 		"NetworkManager-pptp-gnome",

- 		"NetworkManager-team",

- 		"NetworkManager-vpnc-gnome",

- 		"NetworkManager-wifi",

- 		"NetworkManager-wwan",

- 		"nfs-utils",

- 		"nss-altfiles",

- 		"nss-mdns",

- 		"nss-softokn-freebl",

- 		"numad",

- 		"opencc",

- 		"openssh-clients",

- 		"openssh-server",

- 		"orca",

- 		"PackageKit-gstreamer-plugin",

- 		"paktype-naskh-basic-fonts",

- 		"pam_krb5",

- 		"paps",

- 		"paratype-pt-sans-fonts",

- 		"passwd",

- 		"passwdqc",

- 		"passwdqc-lib",

- 		"pciutils",

- 		"pinfo",

- 		"plymouth",

- 		"plymouth-plugin-label",

- 		"plymouth-plugin-two-step",

- 		"plymouth-system-theme",

- 		"plymouth-theme-charge",

- 		"policycoreutils",

- 		"polkit",

- 		"poppler-utils",

- 		"procps-ng",

- 		"psacct",

- 		"qemu-common",

- 		"qemu-guest-agent",

- 		"qemu-img",

- 		"qemu-kvm",

- 		"qemu-system-x86",

- 		"qgnomeplatform",

- 		"radvd",

- 		"rdist",

- 		"rng-tools",

- 		"rootfiles",

- 		"rp-pppoe",

- 		"rsync",

- 		"rygel",

- 		"samba-client",

- 		"sane-backends-drivers-scanners",

- 		"scl-utils",

- 		"seabios-bin",

- 		"seavgabios-bin",

- 		"selinux-policy-targeted",

- 		"setup",

- 		"setuptool",

- 		"sgabios-bin",

- 		"sgpio",

- 		"shadow-utils",

- 		"sheepdog",

- 		"shim",

- 		"sil-abyssinica-fonts",

- 		"sil-mingzat-fonts",

- 		"sil-nuosu-fonts",

- 		"sil-padauk-fonts",

- 		"skkdic",

- 		"smc-fonts-common",

- 		"smc-meera-fonts",

- 		"sos",

- 		"spice-server",

- 		"spice-vdagent",

- 		"sssd",

- 		"sssd-ad",

- 		"sssd-client",

- 		"sssd-common",

- 		"sssd-common-pac",

- 		"sssd-ipa",

- 		"sssd-krb5",

- 		"sssd-krb5-common",

- 		"sssd-ldap",

- 		"stix-fonts",

- 		"sudo",

- 		"sushi",

- 		"symlinks",

- 		"system-config-printer-udev",

- 		"systemd",

- 		"tabish-eeyek-fonts",

- 		"tar",

- 		"tcl",

- 		"tcpdump",

- 		"teamd",

- 		"telnet",

- 		"thai-scalable-fonts-common",

- 		"thai-scalable-waree-fonts",

- 		"time",

- 		"totem",

- 		"totem-nautilus",

- 		"traceroute",

- 		"tree",

- 		"usb_modeswitch",

- 		"usb_modeswitch-data",

- 		"usbutils",

- 		"usermode",

- 		"userspace-rcu",

- 		"util-linux",

- 		"vconfig",

- 		"vim-minimal",

- 		"virglrenderer",

- 		"vlgothic-fonts",

- 		"wget",

- 		"which",

- 		"wireless-tools",

- 		"words",

- 		"wpa_supplicant",

- 		"wvdial",

- 		"xcb-util-image",

- 		"xcb-util-keysyms",

- 		"xcb-util-renderutil",

- 		"xcb-util-wm",

- 		"xdg-user-dirs-gtk",

- 		"xdg-utils",

- 		"xen-licenses",

- 		"xfsprogs",

- 		"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",

- 		"xz",

- 		"yelp",

- 		"zd1211-firmware",

- 		"zip"

- 		],

- 

      "default_target": "graphical.target",

  

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

Two prep patches, then this:

Basically, we end up deleting a lot of indirect dependencies.
However, some leaf packages do drop out. All of these I believe
are right to stop shipping by default with the possible exception
of media-player-info...I'm not sure if that was intentional or
not. Anyways let's start this sync process.

-Installing 1344 packages:
+Installing 1335 packages:
-  bcache-tools-1.0.8-10.fc27.x86_64 (fedora-rawhide)
-  isomd5sum-1:1.2.2-1.fc28.x86_64 (fedora-rawhide)
-  kexec-tools-2.0.16-3.fc28.x86_64 (fedora-rawhide)
-  keybinder3-0.3.2-3.fc27.x86_64 (fedora-rawhide)
-  langtable-0.0.38-2.fc28.noarch (fedora-rawhide)
-  langtable-data-0.0.38-2.fc28.noarch (fedora-rawhide)
-  langtable-python3-0.0.38-2.fc28.noarch (fedora-rawhide)
-  lpsolve-5.5.2.0-16.fc27.x86_64 (fedora-rawhide)
-  media-player-info-23-1.fc28.noarch (fedora-rawhide)

3 new commits added

  • Add initial comps-sync script, use it to trim package set
  • manifest: Explicitly list flatpak at the toplevel
  • Further split workstation-base to have a -pkgs.json base
6 years ago

rebased onto de680ff

6 years ago

This looks nice. Some questions:

  • are some of the packages that were removed from the package list are just deps that get brought in anyway?
  • I'm not sure I entirely understand the need for the 3rd commit: Further split workstation-base to have a -pkgs.json base. Can you explain that one to me?
  • I can pretty easily write a job that will run in openshift that will watch comps and this repo and make sure the two files are in sync and open an issue when they aren't in sync. I imagine you had a similar (or better) idea for how you wanted to do this. Do you mind sharing?

are some of the packages that were removed from the package list are just deps that get brought in anyway?

That's what I meant by:

Basically, we end up deleting a lot of indirect dependencies.

AIUI, the initial list here was basically generated from rpm -qa on a workstation install a long time ago.

I'm not sure I entirely understand the need for the 3rd commit: Further split workstation-base to have a -pkgs.json base. Can you explain that one to me?

The script now has a --save option to rewrite that file automatically.

I can pretty easily write a job that will run in openshift that will watch comps and this repo and make sure the two files are in sync and open an issue when they aren't in sync. I imagine you had a similar (or better) idea for how you wanted to do this.

I'm not sure we need to do that right away...I had just envisioned running this periodically. I don't have any objections to such a script but...e.g. having static deltas set up would be a lot more impactful IMO...

3 new commits added

  • Add comps-sync script, use it to trim package set
  • manifest: Explicitly list flatpak at the toplevel
  • Further split workstation-base to have a -pkgs.json base
6 years ago

Updated; the script now also prints the inverse; packages in workstation but not in the manifest. However, we need to have some debate about adding anything from there; there's random apps like rhythmbox as well as a bunch of "stuff" likeppp and ghostscript etc.

3 new commits added

  • Add comps-sync script, use it to trim package set
  • manifest: Explicitly list flatpak at the toplevel
  • Further split workstation-base to have a -pkgs.json base
6 years ago

Pull-Request has been merged by ausil

6 years ago