Mail archive

Re: [alpine-devel] Extend APKBUILD format with a variable to check framework versions

From: A. Wilcox <>
Date: Tue, 8 Jan 2019 07:21:38 -0600

On 01/08/19 02:44, Oliver Smith wrote:
> Hey folks,
> various frameworks, such as Qt (available in Alpine), KDE Plasma, KDE
> Framework have a lot of components that get released together and
> therefore must have the same pkgver. In postmarketOS we have a CI check
> in place, that makes sure, that the version matches for all these
> components. Right now we are categorizing the frameworks by their URL,
> but that is of course not the purpose of the URL variable.
> It was suggested to add a new variable instead, and since Alpine and
> Adélie would probably benefit from such a check and variable as well, I
> wonder if it makes sense to make this variable official and add it to
> the APKBUILD reference in Alpine's wiki. I could add a simple shell
> script that checks the package versions based on that variable in
> Alpine's aports.git to be used by Travis.
> I would like to keep "framework" out of the name, as this may also be
> the case for non-frameworks, such as the KDE Applications, which are
> also released together.
> One idea for the name would be "relgroup", as in "release group":
> relgroup="qt5"
> relgroup="kde-applications"
> What do you think?
> Regards,
> Oliver

This would also allow removal of those God-awful checks in the poppler
packages that make me sick to my stomach just reading them.

And the gcj/gcc thingies.

Do note, though, that a significant number of KDE Applications have
their own versioning (and Okteta just *changed* from YY.MM.X to 0.25).

Further still, Qt5 WebKit isn't on the same release cycle that the rest
is. Version 5.9.1 for the 5.9 series, 5.202.1 for post-5.9 (though I
believe 5.202.1 can build against 5.9).

I guess these just wouldn't be in the relgroup.

My main concern with this is that abuild would then have to do the
equivalent of `grep relgroup ../*/APKBUILD` and check if any don't
match. "Analysing dependencies" already takes multiple seconds on arm64
(where I/O is slow) and ppc32 (where fork(2) is slow). The last thing
we need is for another extremely slow process. Perhaps it could only
even bother checking if the target APKBUILD has relgroup set.

Additionally, this check should be late, and overrideable (maybe with -f
for force). Our Plasma bump scripts look like:

for i in $(grep -l 'pkgver=5.12.6' */APKBUILD | cut -f1 -d'/'); do cd
$i; sed -i 's/5.12.6/5.12.7/g' APKBUILD; abuild checksum; cd ..; done

so if it checked early, we wouldn't be able to bump at all.
Additionally, sometimes we are forced to go down for a package - I
believe during the 18.08.0 cycle, one of the KDE games failed to build
and we shipped 18.04.3 until 18.08 was fixed.

Anyway, these are just our thoughts over at Adélie. You do you.


A. Wilcox (awilfox)
Project Lead, Adélie Linux

Received on Tue Jan 08 2019 - 07:21:38 UTC