The framework check is supposed to make sure, that we always have the
same versions of multiple packages that belong to the same framework.
We must exclude git versions for this check to have it working properly.
The interesting question is of course: why was this working before?
The check is using the url field to figure out which packages belong to
a certain framework, and by chance, all packages that had a git version,
did also use single quotes around the URL:
url='http://qt-project.org/'
With the old APKINDEX parsing code, this was parsed as:
url: "'http://qt-project.org/'"
And therefore, this was considered a different URL than the URL with
double quotes (again, by chance!) used by the stable qt versions:
url: "http://qt-project.org/"
I have improved the APKBUILD parsing code in pmbootstrap today, and now
it is properly parsing both URLs.
Related: https://gitlab.com/postmarketOS/pmbootstrap/merge_requests/1837
Without this, the device will simply run the broken ACPI DSDT table, so
we might as well update it. If we had put it into a subpackage, it
would not be possible to use the fixed DSDT without any other firmware
packages.
Cut off the hotfix-version (fourth number) from the version strings
before comparing them, to fix invalid errors like:
[14:57:00] Reference pkgver: 5.16.90 (from 'khotkeys')
[14:57:00] ERROR: plasma-workspace has version 5.16.90.1
We need to freeze binutils at 2.31 (Alpine has 2.32 already), until
issue #295 is resolved. Let's disable the test, so the testsuite passes
again if everything else is good, and we don't start to ignore whether
it fails or not.
Rename test_aports_kde.py to test_aports_framework_versions.py and
generalize all referenes in the code from "KDE frameworks" to
"frameworks". Check that all Qt packages have the same version, support
having the real version in _pkgver and pkgver=9999.
Scan all pmaports, not only the ones in the kde dir. Do not output all
packages of the "other" category anymore, the package count is enough.
Check if all device packages have the same arch in their device
APKBUILD as they have in their deviceinfo. And that they have
!archcheck set in the options.
This test case only makes sense in the pmbootstrap repository, and
we have it there already. In pmaports, we don't need to check if the
"aportgen" code is working - and to check the versions of the aports
we already have the test_upstream_compatibility case.
Copy all test cases from the pmbootstrap repository, that are actually
testing the aports. They were all adjusted to work nicely in this
repository, together with a brand new set of gitlab-ci configs.
This also includes the changes from this merge request, that had a
better detection of changed packages:
<https://gitlab.com/postmarketOS/pmbootstrap/merge_requests/1621>