Add Alpine 3.21 variant#1552
Conversation
|
PHP 8.1 builds are failing on what looks to me an issue reported at php/php-src#15701. Not sure why it's only happening on 8.1 though... |
|
From php/php-src#15701 (comment):
So given that it is unlikely PHP 8.1 will support gcc 14.2/work with Alpine 3.21, I've opted to exclude the combo, similar to the approach taken in #1348. Given that Alpine 3.20 EOL (2026-04-01) should be past PHP 8.1 EOL (2025-12-31), it should be fine keeping around this combination until then. When Alpine 3.22 lands, 3.20 can be kept around just for 8.1, similar to how it was done in #1405. |
|
Thank you for your work/digging! ❤️ I have to say I'm not a huge fan of reintroducing the matrix complexity of #1348+#1405 😬 It created a lot of downstream pain also, and I'm not sure how/whether we can reasonably resolve that, so I'll probably just have to suck it up, but I'd like to let it simmer for a little bit first in case another possibility comes to mind / surfaces. 🙇 ❤️ |
|
I found php/php-src#11678 that looks related. Maybe there is a patch we could apply that is similar to the patch Alpine was using for 8.1: https://gitlab.alpinelinux.org/alpine/aports/-/blob/3.19-stable/community/php81/fix-lfs64.patch. |
|
After adding the patch for php/php-src#11678, I found that php/php-src#14834 was needed or # add `patch` and `patchutils` packages to the apk install
# https://github.com/php/php-src/issues/11678
curl -fL 'https://github.com/php/php-src/commit/577b8ae4226368e66fee7a9b5c58f9e2428372fc.patch' -o 11678.patch; \
patch -p1 < 11678.patch; \
rm 11678.patch; \
# https://github.com/php/php-src/issues/14834
curl -fL 'https://github.com/php/php-src/commit/67259e451d5d58b4842776c5696a66d74e157609.patch' -o 14834.patch; \
filterdiff -x '*/NEWS' 14834.patch | patch -p1; \
rm 14834.patch; \
+ pecl update-channels
Updating channel "doc.php.net"
Error: Unable to create XML parser
Invalid channel.xml file
Updating channel "pear.php.net"
Update of Channel "pear.php.net" succeeded
Updating channel "pecl.php.net"
Update of Channel "pecl.php.net" succeeded |
I like that a lot more; especially given that Alpine also took that approach themselves (see https://gitlab.alpinelinux.org/alpine/aports/-/blob/3.19-stable/community/php81/fix-lfs64.patch?ref_type=heads). I've gone ahead and applied your suggestion. Currently I've opted to apply it also to PHP 8.1 + Alpine 3.20 where it is not strictly necessary, but I can't see it hurting in any way and this also ensures that a next Alpine update will not require further meddling with templates for this (and is more consistent). A follow-up might be removing the |
Co-authored-by: yosifkit <joseph.ferguson@docker.com>
50ba834 to
45cfafc
Compare
|
Let's ship it ❤️ |
Changes: - docker-library/php@a0644559: Merge pull request docker-library/php#1552 from jnoordsij/alpine3.21 - docker-library/php@45cfafc3: Add patches for Alpine/8.1 builds - docker-library/php@aa678aea: Add Alpine 3.21 and drop 3.19
Modelled after #1514.
Requires docker-library/official-images#18024.
This PR adds a variant for Alpine 3.21 and drops the 3.19 variant at the same time.
See also https://wiki.alpinelinux.org/wiki/Release_Notes_for_Alpine_3.21.0.