comps-sync pass 3: Subset of workstation
The mental model here is simpler if our base package set is truly a subset of Workstation. Extend `comps-sync` to also support deleting packages not in the Workstation set. The only exception here is that we still want `kernel-modules-extra` which for some reason is only in `livecd-tools`...I don't understand that. For now I added a `whitelist`. The set of resulting changes here generally makes sense. We lose some random unnecessary stuff like `teamd` and `dracut-network`, and `mactel-boot`. We gain things like the desktop background packages, `sshpass`, and some `qt` bits. ``` + NetworkManager-openconnect-gnome-1.2.4-9.fc28.x86_64 (fedora-rawhide) - NetworkManager-team-1:1.10.2-1.fc28.x86_64 (fedora-rawhide) + NetworkManager-ssh-1.2.7-1.fc28.x86_64 (fedora-rawhide) + NetworkManager-ssh-gnome-1.2.7-1.fc28.x86_64 (fedora-rawhide) - adobe-source-han-sans-cn-fonts-1.004-6.fc28.noarch (fedora-rawhide) - adobe-source-han-sans-tw-fonts-1.004-7.fc28.noarch (fedora-rawhide) + alsa-ucm-1.1.5-2.fc28.x86_64 (fedora-rawhide) - autogen-libopts-5.18.12-6.fc28.x86_64 (fedora-rawhide) + cyrus-sasl-plain-2.1.26-37.fc28.x86_64 (fedora-rawhide) + desktop-backgrounds-gnome-27.0.0-2.fc28.noarch (fedora-rawhide) - dmraid-1.0.0.rc16-37.fc28.x86_64 (fedora-rawhide) - dmraid-events-1.0.0.rc16-37.fc28.x86_64 (fedora-rawhide) - dracut-config-generic-046-92.git20180118.fc28.1.x86_64 (fedora-rawhide) - dracut-network-046-92.git20180118.fc28.1.x86_64 (fedora-rawhide) - fcoe-utils-1.0.32-3.fc27.x86_64 (fedora-rawhide) + f27-backgrounds-base-27.0.1-3.fc28.noarch (fedora-rawhide) + f27-backgrounds-gnome-27.0.1-3.fc28.noarch (fedora-rawhide) - fedora-productimg-workstation-27-2.fc28.x86_64 (fedora-rawhide) - gnutls-dane-3.6.2-1.fc28.x86_64 (fedora-rawhide) - gnutls-utils-3.6.2-1.fc28.x86_64 (fedora-rawhide) - hfsplus-tools-540.1.linux3-15.fc28.x86_64 (fedora-rawhide) - highlight-3.39-3.fc27.x86_64 (fedora-rawhide) - libconfig-1.5-9.fc28.x86_64 (fedora-rawhide) + libdnet-1.12-25.fc28.x86_64 (fedora-rawhide) + libmspack-0.6-0.2.alpha.fc28.x86_64 (fedora-rawhide) - libnl3-cli-3.4.0-3.fc28.x86_64 (fedora-rawhide) + libsane-hpaio-3.17.11-8.fc28.x86_64 (fedora-rawhide) - libteam-1.27-6.fc28.x86_64 (fedora-rawhide) - libvirt-client-4.0.0-1.fc28.x86_64 (fedora-rawhide) - lldpad-1.0.1-9.git036e314.fc28.x86_64 (fedora-rawhide) - mactel-boot-0.9-16.fc27.x86_64 (fedora-rawhide) - naver-nanum-fonts-common-3.020-20.20140930.fc28.noarch (fedora-rawhide) - naver-nanum-gothic-fonts-3.020-20.20140930.fc28.noarch (fedora-rawhide) + open-vm-tools-10.2.0-3.fc28.x86_64 (fedora-rawhide) + open-vm-tools-desktop-10.2.0-3.fc28.x86_64 (fedora-rawhide) + pinentry-gnome3-1.1.0-2.fc28.x86_64 (fedora-rawhide) + pulseaudio-module-x11-11.1-11.fc28.x86_64 (fedora-rawhide) + pulseaudio-utils-11.1-11.fc28.x86_64 (fedora-rawhide) + qt5-qtdeclarative-5.10.1-1.fc28.x86_64 (fedora-rawhide) + qt5-qtxmlpatterns-5.10.1-1.fc28.x86_64 (fedora-rawhide) + realmd-0.16.3-9.fc28.x86_64 (fedora-rawhide) - sgpio-1.2.0.10-20.fc28.x86_64 (fedora-rawhide) + sshpass-1.06-5.fc28.x86_64 (fedora-rawhide) - teamd-1.27-6.fc28.x86_64 (fedora-rawhide) - unbound-libs-1.6.8-3.fc28.x86_64 (fedora-rawhide) - vlgothic-fonts-20141206-10.fc28.noarch (fedora-rawhide) + virtualbox-guest-additions-5.2.6-4.fc28.x86_64 (fedora-rawhide) + xmlsec1-openssl-1.2.25-3.fc28.x86_64 (fedora-rawhide) ```
This commit is contained in:
parent
d0b52b1f19
commit
369c6d4e81
3 changed files with 68 additions and 40 deletions
|
@ -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
|
# Entirely skip all packages in libreoffice
|
||||||
blacklist_groups:
|
blacklist_groups:
|
||||||
|
@ -53,12 +60,19 @@ blacklist:
|
||||||
# We removed cronie a while ago, should nuke these too
|
# We removed cronie a while ago, should nuke these too
|
||||||
- crontabs
|
- crontabs
|
||||||
- at
|
- at
|
||||||
|
# This drags in a huge dependency set of dnf bits
|
||||||
|
- abrt-cli
|
||||||
|
- abrt-desktop
|
||||||
|
- abrt-java-connector
|
||||||
# Requires libreoffice
|
# Requires libreoffice
|
||||||
- unoconv
|
- unoconv
|
||||||
# Will change to git-core
|
# Will change to git-core
|
||||||
- git
|
- git
|
||||||
# Apps
|
# Apps
|
||||||
- rhythmbox
|
- rhythmbox
|
||||||
|
- evolution
|
||||||
|
- evolution-ews
|
||||||
|
- evolution-help
|
||||||
# Random tools: container
|
# Random tools: container
|
||||||
- net-tools
|
- net-tools
|
||||||
- nmap-ncat
|
- nmap-ncat
|
||||||
|
|
|
@ -25,6 +25,7 @@ with open(base_pkgs_path) as f:
|
||||||
with open('comps-sync-blacklist.yml') as f:
|
with open('comps-sync-blacklist.yml') as f:
|
||||||
doc = yaml.load(f)
|
doc = yaml.load(f)
|
||||||
comps_blacklist = doc['blacklist']
|
comps_blacklist = doc['blacklist']
|
||||||
|
comps_whitelist = doc['whitelist']
|
||||||
comps_blacklist_groups = doc['blacklist_groups']
|
comps_blacklist_groups = doc['blacklist_groups']
|
||||||
|
|
||||||
manifest_packages = set(manifest['packages'])
|
manifest_packages = set(manifest['packages'])
|
||||||
|
@ -38,16 +39,12 @@ workstation_product_packages = set()
|
||||||
# just the workstation environment.
|
# just the workstation environment.
|
||||||
comps = libcomps.Comps()
|
comps = libcomps.Comps()
|
||||||
comps.fromxml_f(args.src)
|
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
|
# Parse the workstation-product environment, gathering
|
||||||
# default or mandatory packages.
|
# 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 = {}
|
ws_pkgs = {}
|
||||||
for gid in ws_environ.group_ids:
|
for gid in ws_environ.group_ids:
|
||||||
group = comps.groups_match(id=gid.name)[0]
|
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])
|
ws_pkgs[pkgname] = pkgdata = (pkg.type, pkgdata[1])
|
||||||
pkgdata[1].add(gid.name)
|
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
|
# Look for packages in the manifest but not in comps at all
|
||||||
n_manifest_new = len(comps_unknown)
|
n_manifest_new = len(comps_unknown)
|
||||||
if n_manifest_new == 0:
|
if n_manifest_new == 0:
|
||||||
print("All manifest packages are already listed in comps.")
|
print("All manifest packages are already listed in comps.")
|
||||||
else:
|
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):
|
for pkg in sorted(comps_unknown):
|
||||||
print(' ' + pkg)
|
print(' ' + pkg)
|
||||||
manifest_packages.remove(pkg)
|
manifest_packages.remove(pkg)
|
||||||
|
|
|
@ -5,22 +5,21 @@
|
||||||
"NetworkManager",
|
"NetworkManager",
|
||||||
"NetworkManager-adsl",
|
"NetworkManager-adsl",
|
||||||
"NetworkManager-bluetooth",
|
"NetworkManager-bluetooth",
|
||||||
"NetworkManager-config-connectivity-fedora",
|
"NetworkManager-openconnect-gnome",
|
||||||
"NetworkManager-openconnect",
|
|
||||||
"NetworkManager-openvpn-gnome",
|
"NetworkManager-openvpn-gnome",
|
||||||
"NetworkManager-pptp-gnome",
|
"NetworkManager-pptp-gnome",
|
||||||
"NetworkManager-team",
|
"NetworkManager-ssh-gnome",
|
||||||
"NetworkManager-vpnc-gnome",
|
"NetworkManager-vpnc-gnome",
|
||||||
"NetworkManager-wifi",
|
"NetworkManager-wifi",
|
||||||
"NetworkManager-wwan",
|
"NetworkManager-wwan",
|
||||||
"PackageKit-gstreamer-plugin",
|
"PackageKit-gstreamer-plugin",
|
||||||
"aajohan-comfortaa-fonts",
|
"aajohan-comfortaa-fonts",
|
||||||
"abattis-cantarell-fonts",
|
"abattis-cantarell-fonts",
|
||||||
"adobe-source-han-sans-cn-fonts",
|
"acl",
|
||||||
"adobe-source-han-sans-tw-fonts",
|
|
||||||
"adwaita-qt4",
|
"adwaita-qt4",
|
||||||
"adwaita-qt5",
|
"adwaita-qt5",
|
||||||
"alsa-plugins-pulseaudio",
|
"alsa-plugins-pulseaudio",
|
||||||
|
"alsa-ucm",
|
||||||
"alsa-utils",
|
"alsa-utils",
|
||||||
"at-spi2-atk",
|
"at-spi2-atk",
|
||||||
"at-spi2-core",
|
"at-spi2-core",
|
||||||
|
@ -50,30 +49,27 @@
|
||||||
"colord",
|
"colord",
|
||||||
"control-center",
|
"control-center",
|
||||||
"coreutils",
|
"coreutils",
|
||||||
|
"cpio",
|
||||||
"cryptsetup",
|
"cryptsetup",
|
||||||
"cups",
|
"cups",
|
||||||
"cups-filters",
|
"cups-filters",
|
||||||
"curl",
|
"curl",
|
||||||
|
"cyrus-sasl-plain",
|
||||||
|
"dconf",
|
||||||
"dejavu-sans-fonts",
|
"dejavu-sans-fonts",
|
||||||
"dejavu-sans-mono-fonts",
|
"dejavu-sans-mono-fonts",
|
||||||
"dejavu-serif-fonts",
|
"dejavu-serif-fonts",
|
||||||
"device-mapper-multipath",
|
"desktop-backgrounds-gnome",
|
||||||
"dhcp-client",
|
"dhcp-client",
|
||||||
"dmraid",
|
|
||||||
"dnsmasq",
|
"dnsmasq",
|
||||||
"dos2unix",
|
"dos2unix",
|
||||||
"dracut-config-generic",
|
|
||||||
"dracut-network",
|
|
||||||
"e2fsprogs",
|
"e2fsprogs",
|
||||||
"ebtables",
|
|
||||||
"efibootmgr",
|
|
||||||
"eog",
|
"eog",
|
||||||
"ethtool",
|
"ethtool",
|
||||||
"fcoe-utils",
|
|
||||||
"fedora-bookmarks",
|
"fedora-bookmarks",
|
||||||
"fedora-productimg-workstation",
|
|
||||||
"fedora-release-workstation",
|
"fedora-release-workstation",
|
||||||
"fedora-user-agent-chrome",
|
"fedora-user-agent-chrome",
|
||||||
|
"file",
|
||||||
"file-roller",
|
"file-roller",
|
||||||
"filesystem",
|
"filesystem",
|
||||||
"firefox",
|
"firefox",
|
||||||
|
@ -141,6 +137,9 @@
|
||||||
"google-noto-serif-kr-fonts",
|
"google-noto-serif-kr-fonts",
|
||||||
"google-noto-serif-sc-fonts",
|
"google-noto-serif-sc-fonts",
|
||||||
"google-noto-serif-tc-fonts",
|
"google-noto-serif-tc-fonts",
|
||||||
|
"gstreamer1-plugin-mpg123",
|
||||||
|
"gstreamer1-plugins-bad-free",
|
||||||
|
"gstreamer1-plugins-good",
|
||||||
"gutenprint",
|
"gutenprint",
|
||||||
"gutenprint-cups",
|
"gutenprint-cups",
|
||||||
"gvfs-afc",
|
"gvfs-afc",
|
||||||
|
@ -151,11 +150,9 @@
|
||||||
"gvfs-gphoto2",
|
"gvfs-gphoto2",
|
||||||
"gvfs-mtp",
|
"gvfs-mtp",
|
||||||
"gvfs-smb",
|
"gvfs-smb",
|
||||||
"gzip",
|
|
||||||
"hfsplus-tools",
|
|
||||||
"highlight",
|
|
||||||
"hostname",
|
"hostname",
|
||||||
"hplip",
|
"hplip",
|
||||||
|
"hunspell",
|
||||||
"hyperv-daemons",
|
"hyperv-daemons",
|
||||||
"ibus-gtk2",
|
"ibus-gtk2",
|
||||||
"ibus-gtk3",
|
"ibus-gtk3",
|
||||||
|
@ -205,8 +202,8 @@
|
||||||
"liberation-serif-fonts",
|
"liberation-serif-fonts",
|
||||||
"libertas-usb8388-firmware",
|
"libertas-usb8388-firmware",
|
||||||
"libproxy-mozjs",
|
"libproxy-mozjs",
|
||||||
"libvirt-client",
|
"librsvg2",
|
||||||
"libvirt-daemon-kvm",
|
"libsane-hpaio",
|
||||||
"lklug-fonts",
|
"lklug-fonts",
|
||||||
"logrotate",
|
"logrotate",
|
||||||
"lohit-assamese-fonts",
|
"lohit-assamese-fonts",
|
||||||
|
@ -220,13 +217,10 @@
|
||||||
"lohit-telugu-fonts",
|
"lohit-telugu-fonts",
|
||||||
"lrzsz",
|
"lrzsz",
|
||||||
"lsof",
|
"lsof",
|
||||||
"lvm2",
|
|
||||||
"lzop",
|
|
||||||
"m17n-db",
|
|
||||||
"mactel-boot",
|
|
||||||
"man-db",
|
"man-db",
|
||||||
"man-pages",
|
"man-pages",
|
||||||
"mcelog",
|
"mcelog",
|
||||||
|
"mdadm",
|
||||||
"mesa-dri-drivers",
|
"mesa-dri-drivers",
|
||||||
"microcode_ctl",
|
"microcode_ctl",
|
||||||
"mlocate",
|
"mlocate",
|
||||||
|
@ -235,10 +229,11 @@
|
||||||
"mtr",
|
"mtr",
|
||||||
"nautilus",
|
"nautilus",
|
||||||
"nautilus-sendto",
|
"nautilus-sendto",
|
||||||
"naver-nanum-gothic-fonts",
|
|
||||||
"nfs-utils",
|
"nfs-utils",
|
||||||
"nss-altfiles",
|
"nss-altfiles",
|
||||||
"nss-mdns",
|
"nss-mdns",
|
||||||
|
"ntfsprogs",
|
||||||
|
"open-vm-tools-desktop",
|
||||||
"openssh-clients",
|
"openssh-clients",
|
||||||
"openssh-server",
|
"openssh-server",
|
||||||
"orca",
|
"orca",
|
||||||
|
@ -249,19 +244,29 @@
|
||||||
"passwd",
|
"passwd",
|
||||||
"passwdqc",
|
"passwdqc",
|
||||||
"pciutils",
|
"pciutils",
|
||||||
|
"pinentry-gnome3",
|
||||||
"pinfo",
|
"pinfo",
|
||||||
"plymouth",
|
"plymouth",
|
||||||
"plymouth-system-theme",
|
"plymouth-system-theme",
|
||||||
"policycoreutils",
|
"policycoreutils",
|
||||||
"polkit",
|
"polkit",
|
||||||
"poppler-utils",
|
|
||||||
"procps-ng",
|
"procps-ng",
|
||||||
"psacct",
|
"psacct",
|
||||||
|
"pulseaudio",
|
||||||
|
"pulseaudio-module-x11",
|
||||||
|
"pulseaudio-utils",
|
||||||
"qemu-guest-agent",
|
"qemu-guest-agent",
|
||||||
"qemu-kvm",
|
|
||||||
"qgnomeplatform",
|
"qgnomeplatform",
|
||||||
"radvd",
|
"qt",
|
||||||
|
"qt-settings",
|
||||||
|
"qt-x11",
|
||||||
|
"qt5-qtbase",
|
||||||
|
"qt5-qtbase-gui",
|
||||||
|
"qt5-qtdeclarative",
|
||||||
|
"qt5-qtxmlpatterns",
|
||||||
|
"quota",
|
||||||
"rdist",
|
"rdist",
|
||||||
|
"realmd",
|
||||||
"rng-tools",
|
"rng-tools",
|
||||||
"rootfiles",
|
"rootfiles",
|
||||||
"rp-pppoe",
|
"rp-pppoe",
|
||||||
|
@ -275,7 +280,6 @@
|
||||||
"setup",
|
"setup",
|
||||||
"setuptool",
|
"setuptool",
|
||||||
"shadow-utils",
|
"shadow-utils",
|
||||||
"sheepdog",
|
|
||||||
"sil-abyssinica-fonts",
|
"sil-abyssinica-fonts",
|
||||||
"sil-mingzat-fonts",
|
"sil-mingzat-fonts",
|
||||||
"sil-nuosu-fonts",
|
"sil-nuosu-fonts",
|
||||||
|
@ -291,30 +295,34 @@
|
||||||
"symlinks",
|
"symlinks",
|
||||||
"system-config-printer-udev",
|
"system-config-printer-udev",
|
||||||
"systemd",
|
"systemd",
|
||||||
|
"systemd-udev",
|
||||||
"tabish-eeyek-fonts",
|
"tabish-eeyek-fonts",
|
||||||
"tar",
|
"tar",
|
||||||
"tcpdump",
|
"tcpdump",
|
||||||
"teamd",
|
|
||||||
"telnet",
|
"telnet",
|
||||||
"thai-scalable-waree-fonts",
|
"thai-scalable-waree-fonts",
|
||||||
"time",
|
"time",
|
||||||
"totem",
|
"totem",
|
||||||
"totem-nautilus",
|
"totem-nautilus",
|
||||||
"traceroute",
|
"traceroute",
|
||||||
|
"tracker",
|
||||||
|
"tracker-miners",
|
||||||
"tree",
|
"tree",
|
||||||
|
"unzip",
|
||||||
"usb_modeswitch",
|
"usb_modeswitch",
|
||||||
"usbutils",
|
"usbutils",
|
||||||
"util-linux",
|
"util-linux",
|
||||||
"vconfig",
|
"vconfig",
|
||||||
"vim-minimal",
|
"vim-minimal",
|
||||||
"vlgothic-fonts",
|
"virtualbox-guest-additions",
|
||||||
"wget",
|
"wget",
|
||||||
"which",
|
"which",
|
||||||
"wireless-tools",
|
"wireless-tools",
|
||||||
"words",
|
"words",
|
||||||
"wvdial",
|
"wvdial",
|
||||||
|
"xdg-desktop-portal",
|
||||||
|
"xdg-desktop-portal-gtk",
|
||||||
"xdg-user-dirs-gtk",
|
"xdg-user-dirs-gtk",
|
||||||
"xfsprogs",
|
|
||||||
"xorg-x11-drv-ati",
|
"xorg-x11-drv-ati",
|
||||||
"xorg-x11-drv-evdev",
|
"xorg-x11-drv-evdev",
|
||||||
"xorg-x11-drv-fbdev",
|
"xorg-x11-drv-fbdev",
|
||||||
|
@ -330,7 +338,6 @@
|
||||||
"xorg-x11-utils",
|
"xorg-x11-utils",
|
||||||
"xorg-x11-xauth",
|
"xorg-x11-xauth",
|
||||||
"xorg-x11-xinit",
|
"xorg-x11-xinit",
|
||||||
"xz",
|
|
||||||
"yelp",
|
"yelp",
|
||||||
"zd1211-firmware",
|
"zd1211-firmware",
|
||||||
"zip"
|
"zip"
|
||||||
|
|
Loading…
Reference in a new issue