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
|
||||
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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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"
|
||||
|
|
Loading…
Reference in a new issue