ci: build rpm, dev and apk packages
Fix #1739
Oh this is great. I have full support for building for alpine at spc-packages by using bin/spp all --target="native-native-musl -dynamic". But I don't have any logic to create debian or apk packages due to the three different layouts.
FYI, fpm also supports .apk images, so you wouldn't have to go the manual way. It's a bit simpler to use fpm for all three, rather than fpm for two but native abuild for the last.
Oh that's good to know, I'll have a look at it. Thanks for the hint!
Should be ready for review now. Here is what the artifact from the CI contains:
I believe the musl version we release in a package should be dynamically linked against libc, so users can install extensions.
The zig branch @ static-php-cli implements this with zig cc. It should be merged within the week.
For the record: https://github.com/crazywhalecc/static-php-cli/pull/806
Yeah, it's ready, but I unfortunately discovered a performance degradation of clang (and in turn zig) over gcc, because of missing global register support.
This makes for ~25% performance and is quite noticeable. I unfortunately do not have any plans to add -dynamic support to the musl toolchain, so I think the only way this could be achieved is compiling on alpine with CC="gcc -dynamic" (or a wrapper script for that, because many libraries don't like when CC has a space).
@alexandre-daubois could you change this PR to only add the files under package/alpine, but leave the rest as is? I'm using the package definitions and uninstall scripts from the frankenphp code.