ci-test/comps-sync-devel.py

141 lines
3 KiB
Python
Raw Normal View History

2024-05-09 16:01:42 +00:00
#!/usr/bin/python3
'''
Usage: ./comps-sync-devel.py
Filter KDE package to create the devel manifest.
'''
import argparse
import re
import sys
import yaml
ARCHES = ("x86_64", "aarch64", "ppc64le")
excludelist = [
'akonadi-server',
'akonadi-server-mysql',
'ark',
'audiocd-kio',
'bluedevil',
'breeze-icon-theme',
'colord-kde',
'dolphin',
'filelight',
'flatpak-kcm',
'kaccounts-integration-qt6',
'kaccounts-providers',
'kcharselect',
'kde-connect',
'kde-gtk-config',
'kde-inotify-survey',
'kde-partitionmanager',
'kde-settings-pulseaudio',
'kdegraphics-thumbnailers',
'kdeplasma-addons',
'kdialog',
'kdnssd',
'kf6-baloo-file',
'kfind',
'khelpcenter',
'kinfocenter',
'kio-admin',
'kio-gdrive',
'kmenuedit',
'kmousetool',
'konsole',
'krfb',
'kscreen',
'kscreenlocker',
'kwalletmanager5',
'kwin',
'kwrite',
'pam-kwallet',
'phonon-qt6-backend-vlc',
'plasma-breeze',
'plasma-desktop',
'plasma-desktop-doc',
'plasma-discover',
'plasma-discover-notifier',
'plasma-disks',
'plasma-drkonqi',
'plasma-nm',
'plasma-nm-openconnect',
'plasma-nm-openvpn',
'plasma-nm-vpnc',
'plasma-pa',
'plasma-print-manager',
'plasma-systemmonitor',
'plasma-thunderbolt',
'plasma-vault',
'plasma-welcome',
'plasma-workspace',
'plasma-workspace-geolocation',
'plasma-workspace-wallpapers',
'plasma-workspace-wayland',
'polkit-kde',
'sddm-kcm',
'signon-kwallet-extension',
'spectacle',
'xwaylandvideobridge',
]
def main():
with open("kinoite-devel-packages.yaml", encoding='UTF-8') as f:
manifest = yaml.safe_load(f)
packages = []
packages_x86_64 = []
packages_aarch64 = []
packages_ppc64le = []
for p in set(manifest['packages']):
if p in excludelist:
print(f"Excluding: {p}")
else:
packages.append(p)
for p in set(manifest['packages-x86_64']):
if p in excludelist:
print(f"Excluding: {p}")
else:
packages_x86_64.append(p)
for p in set(manifest['packages-aarch64']):
if p in excludelist:
print(f"Excluding: {p}")
else:
packages_aarch64.append(p)
# for p in set(manifest['packages-ppc64le']):
# if p in excludelist:
# print(f"Excluding: {p}")
# else:
# packages_ppc64le.append(p)
# print(packages)
# print(packages_x86_64)
# print(packages_aarch64)
# print(packages_ppc64le)
with open("kde-desktop-pkgs-devel.yaml", 'w', encoding='UTF-8') as f:
f.write("# DO NOT EDIT! This content is generated from comps-sync-devel.py\n")
f.write("packages:\n")
for pkg in sorted(packages):
f.write(f' - {pkg}\n')
if packages_x86_64:
for pkg in sorted(packages_x86_64):
f.write(f' - {pkg}\n')
if packages_aarch64:
for pkg in sorted(packages_aarch64):
f.write(f' - {pkg}\n')
print('Wrote kinoite-devel-packages.yaml')
if __name__ == "__main__":
main()