diff --git a/comps-sync-blacklist.yml b/comps-sync-blacklist.yml index 18746eb..fe5af8f 100644 --- a/comps-sync-blacklist.yml +++ b/comps-sync-blacklist.yml @@ -1,4 +1,11 @@ -# This file has a list of packages to skip from comps that we don't want. +# This file has a list of packages to skip from comps that we don't want, plus +# a few whitelisted things. + +# For some reason today these are just in livecd-tools... +whitelist: + - kernel + - kernel-modules + - kernel-modules-extra # Entirely skip all packages in libreoffice blacklist_groups: @@ -53,12 +60,19 @@ blacklist: # We removed cronie a while ago, should nuke these too - crontabs - at + # This drags in a huge dependency set of dnf bits + - abrt-cli + - abrt-desktop + - abrt-java-connector # Requires libreoffice - unoconv # Will change to git-core - git # Apps - rhythmbox + - evolution + - evolution-ews + - evolution-help # Random tools: container - net-tools - nmap-ncat diff --git a/comps-sync.py b/comps-sync.py index 0b9fd9e..24532aa 100755 --- a/comps-sync.py +++ b/comps-sync.py @@ -25,6 +25,7 @@ with open(base_pkgs_path) as f: with open('comps-sync-blacklist.yml') as f: doc = yaml.load(f) comps_blacklist = doc['blacklist'] + comps_whitelist = doc['whitelist'] comps_blacklist_groups = doc['blacklist_groups'] manifest_packages = set(manifest['packages']) @@ -38,16 +39,12 @@ workstation_product_packages = set() # 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_env_name = 'workstation-product-environment' +ws_ostree_name = 'workstation-ostree-support' +ws_environ = comps.environments[ws_env_name] ws_pkgs = {} for gid in ws_environ.group_ids: group = comps.groups_match(id=gid.name)[0] @@ -69,12 +66,22 @@ for gid in ws_environ.group_ids: ws_pkgs[pkgname] = pkgdata = (pkg.type, pkgdata[1]) pkgdata[1].add(gid.name) +ws_ostree_pkgs = set() +for pkg in comps.groups_match(id=ws_ostree_name)[0].packages: + ws_ostree_pkgs.add(pkg.name) + +for pkg in manifest_packages: + if (pkg not in comps_whitelist and + pkg not in ws_pkgs and + pkg not in ws_ostree_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.") else: - print("{} packages not in comps:".format(n_manifest_new)) + print("{} packages not in {}:".format(n_manifest_new, ws_env_name)) for pkg in sorted(comps_unknown): print(' ' + pkg) manifest_packages.remove(pkg) diff --git a/fedora-workstation-base-pkgs.json b/fedora-workstation-base-pkgs.json index 05877ba..6160a90 100644 --- a/fedora-workstation-base-pkgs.json +++ b/fedora-workstation-base-pkgs.json @@ -5,22 +5,21 @@ "NetworkManager", "NetworkManager-adsl", "NetworkManager-bluetooth", - "NetworkManager-config-connectivity-fedora", - "NetworkManager-openconnect", + "NetworkManager-openconnect-gnome", "NetworkManager-openvpn-gnome", "NetworkManager-pptp-gnome", - "NetworkManager-team", + "NetworkManager-ssh-gnome", "NetworkManager-vpnc-gnome", "NetworkManager-wifi", "NetworkManager-wwan", "PackageKit-gstreamer-plugin", "aajohan-comfortaa-fonts", "abattis-cantarell-fonts", - "adobe-source-han-sans-cn-fonts", - "adobe-source-han-sans-tw-fonts", + "acl", "adwaita-qt4", "adwaita-qt5", "alsa-plugins-pulseaudio", + "alsa-ucm", "alsa-utils", "at-spi2-atk", "at-spi2-core", @@ -50,30 +49,27 @@ "colord", "control-center", "coreutils", + "cpio", "cryptsetup", "cups", "cups-filters", "curl", + "cyrus-sasl-plain", + "dconf", "dejavu-sans-fonts", "dejavu-sans-mono-fonts", "dejavu-serif-fonts", - "device-mapper-multipath", + "desktop-backgrounds-gnome", "dhcp-client", - "dmraid", "dnsmasq", "dos2unix", - "dracut-config-generic", - "dracut-network", "e2fsprogs", - "ebtables", - "efibootmgr", "eog", "ethtool", - "fcoe-utils", "fedora-bookmarks", - "fedora-productimg-workstation", "fedora-release-workstation", "fedora-user-agent-chrome", + "file", "file-roller", "filesystem", "firefox", @@ -141,6 +137,9 @@ "google-noto-serif-kr-fonts", "google-noto-serif-sc-fonts", "google-noto-serif-tc-fonts", + "gstreamer1-plugin-mpg123", + "gstreamer1-plugins-bad-free", + "gstreamer1-plugins-good", "gutenprint", "gutenprint-cups", "gvfs-afc", @@ -151,11 +150,9 @@ "gvfs-gphoto2", "gvfs-mtp", "gvfs-smb", - "gzip", - "hfsplus-tools", - "highlight", "hostname", "hplip", + "hunspell", "hyperv-daemons", "ibus-gtk2", "ibus-gtk3", @@ -205,8 +202,8 @@ "liberation-serif-fonts", "libertas-usb8388-firmware", "libproxy-mozjs", - "libvirt-client", - "libvirt-daemon-kvm", + "librsvg2", + "libsane-hpaio", "lklug-fonts", "logrotate", "lohit-assamese-fonts", @@ -220,13 +217,10 @@ "lohit-telugu-fonts", "lrzsz", "lsof", - "lvm2", - "lzop", - "m17n-db", - "mactel-boot", "man-db", "man-pages", "mcelog", + "mdadm", "mesa-dri-drivers", "microcode_ctl", "mlocate", @@ -235,10 +229,11 @@ "mtr", "nautilus", "nautilus-sendto", - "naver-nanum-gothic-fonts", "nfs-utils", "nss-altfiles", "nss-mdns", + "ntfsprogs", + "open-vm-tools-desktop", "openssh-clients", "openssh-server", "orca", @@ -249,19 +244,29 @@ "passwd", "passwdqc", "pciutils", + "pinentry-gnome3", "pinfo", "plymouth", "plymouth-system-theme", "policycoreutils", "polkit", - "poppler-utils", "procps-ng", "psacct", + "pulseaudio", + "pulseaudio-module-x11", + "pulseaudio-utils", "qemu-guest-agent", - "qemu-kvm", "qgnomeplatform", - "radvd", + "qt", + "qt-settings", + "qt-x11", + "qt5-qtbase", + "qt5-qtbase-gui", + "qt5-qtdeclarative", + "qt5-qtxmlpatterns", + "quota", "rdist", + "realmd", "rng-tools", "rootfiles", "rp-pppoe", @@ -275,7 +280,6 @@ "setup", "setuptool", "shadow-utils", - "sheepdog", "sil-abyssinica-fonts", "sil-mingzat-fonts", "sil-nuosu-fonts", @@ -291,30 +295,34 @@ "symlinks", "system-config-printer-udev", "systemd", + "systemd-udev", "tabish-eeyek-fonts", "tar", "tcpdump", - "teamd", "telnet", "thai-scalable-waree-fonts", "time", "totem", "totem-nautilus", "traceroute", + "tracker", + "tracker-miners", "tree", + "unzip", "usb_modeswitch", "usbutils", "util-linux", "vconfig", "vim-minimal", - "vlgothic-fonts", + "virtualbox-guest-additions", "wget", "which", "wireless-tools", "words", "wvdial", + "xdg-desktop-portal", + "xdg-desktop-portal-gtk", "xdg-user-dirs-gtk", - "xfsprogs", "xorg-x11-drv-ati", "xorg-x11-drv-evdev", "xorg-x11-drv-fbdev", @@ -330,7 +338,6 @@ "xorg-x11-utils", "xorg-x11-xauth", "xorg-x11-xinit", - "xz", "yelp", "zd1211-firmware", "zip"