up till now, comps-sync.py effectively ignored this, treating
such a line exactly the same as this:
<packagereqtype="default">kio-gdrive</packagereq>
and attempting to include the package even when building on e.g.
ppc64le.
Solving this is unfortunately tricky due to exactly how libcomps
handles these arch restrictions. It does not expose the list of
arches as a property of each returned 'package' object when you
do a group search. Instead you're supposed to filter the group
search down to the arch(es) you are interested in, and it only
includes the appropriate packages for that arch. So all we can
do is run our queries multiple times, once for each arch we may
wish to build on, keep track of the results per arch as we go,
and do some fancy footwork to keep track of the mapping between
"archful" comps entries and the lists in the YAML files.
This PR also includes a sync run with the new script, which corrects a few existing incorrect entries, including one that prevents Kinoite from building at present and a couple that would prevent the LXQt- and Deepin-based builds from building.
comps allows for a package to be included in a group only on
specified arches, with a line like this:
up till now,
comps-sync.pyeffectively ignored this, treatingsuch a line exactly the same as this:
and attempting to include the package even when building on e.g.
ppc64le.
Solving this is unfortunately tricky due to exactly how libcomps
handles these arch restrictions. It does not expose the list of
arches as a property of each returned 'package' object when you
do a group search. Instead you're supposed to filter the group
search down to the arch(es) you are interested in, and it only
includes the appropriate packages for that arch. So all we can
do is run our queries multiple times, once for each arch we may
wish to build on, keep track of the results per arch as we go,
and do some fancy footwork to keep track of the mapping between
"archful" comps entries and the lists in the YAML files.
This PR also includes a sync run with the new script, which corrects a few existing incorrect entries, including one that prevents Kinoite from building at present and a couple that would prevent the LXQt- and Deepin-based builds from building.