if these are not added, importing a module will produce an error.
This was calculated with the following method:
generate a list of each module's dependencies like:
rg 'set\(Qt.*_deps' masterdir-x86_64/builddir/python3-pyside6-6.10.2 \
-g CMakeLists.txt --no-filename --no-line-number | sort -u | \
sed 's/set(\(Qt.*\)_deps *\(.*\))/\1:\2/' > pyside6-deps
and a list of which module is in which package like:
find masterdir-x86_64/destdir -name site-packages -print0 | \
find -files0-from - -name '*.so' | \
sed 's,\(python3-pyside.*\)-6.*PySide6/\(.*\).so$,\1:\2,' | \
grep -v shiboken | cut -d/ -f3- | sort -u > pyside6-pkgs
then combine the two to get a list of dependencies each subpackage needs (python):
moddeps = {}
modpkgs = {}
needed = {}
with open("pyside6-deps") as f:
for line in f.readlines():
mod, _, dmods = line.partition(":")
moddeps[mod] = dmods.split()
with open("pyside6-pkgs") as f:
for line in f.readlines():
pkg, _, mod = line.partition(":")
mod = mod.strip()
modpkgs[mod] = pkg
for mod, pkg in modpkgs.items():
mods = moddeps.get(mod, [])
if pkg in needed:
needed[pkg] += mods
else:
needed[pkg] = mods
for p, d in needed.items():
print("==>", p)
dd = sorted(list(set(modpkgs[m] for m in d)))
if "python3-pyside6" in dd:
dd.remove("python3-pyside6")
if p in dd:
dd.remove(p)
for pp in dd:
print((f" {pp.replace("python3-pyside6", "${sourcepkg}")}"
">=${version}_${revision}"), end="")
print()