141 lines
3 KiB
Python
141 lines
3 KiB
Python
|
#!/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()
|