Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Alpine 3.17 variant #1348

Merged
merged 3 commits into from
Nov 30, 2022
Merged

Conversation

jnoordsij
Copy link
Contributor

@jnoordsij jnoordsij commented Nov 23, 2022

This PR provides the latest Alpine version (3.17, see https://alpinelinux.org/posts/Alpine-3.17.0-released.html) and removes the oldest one (3.15).

Alpine 3.17 variant is only added for PHP versions with OpenSSL support (i.e. PHP >= 8.1), see also comment below.

Based on #1298.

@jnoordsij jnoordsij marked this pull request as draft November 23, 2022 11:22
@jnoordsij
Copy link
Contributor Author

jnoordsij commented Nov 23, 2022

Seems like this breaks with older PHP versions due to the update to OpenSSL 3.0 as default version. I will try to look into this later.

@jnoordsij
Copy link
Contributor Author

jnoordsij commented Nov 23, 2022

Hmmm this seems to be more tricky than I anticipated. The curl-dev package requires openssl-dev>3.0 in Alpine 3.17, so the build still breaks with the openssl1.1-compat package.

I figured there are at least two ways to solve this problem:

  • Do no update the Alpine versions for PHP versions < 8.1. For 7.4 this makes a lot of sense, since it will reach EOL in 4 days and will be removed here after that. For 8.0, which reaches EOL in approx. 1 year, this would mean that only Alpine 3.16 (or maybe leave 3.15 then?) will be supported.
  • Manually install an old curl-dev version by adding echo 'http://dl-cdn.alpinelinux.org/alpine/v3.16/main' >> /etc/apk/repositories; and then pinning the version on install. This feels a bit hacky and is probably unwanted.

I'll wait for a maintainer to come around and discuss these and possible other solutions.

Update 25/11: I rebased this branch onto #1349 here, to make things slightly easier. It would still require some fix for the 8.0 variant.

@jnoordsij jnoordsij mentioned this pull request Nov 25, 2022
@tianon
Copy link
Member

tianon commented Nov 28, 2022

Thank you for starting the work here and finding the bodies! 😄

IMO we should "solve" this by only supporting Alpine 3.17+ for versions which support OpenSSL 3+ (no strong opinion either way from me on whether we drop 3.15 from all or just from those that get 3.17, but definitely no more than two Alpine versions for any given PHP version). 🚀

I'm happy to work on the necessary conditionals for doing so if that isn't something you want to tackle. 👍

@jnoordsij jnoordsij marked this pull request as ready for review November 29, 2022 09:57
@jnoordsij
Copy link
Contributor Author

jnoordsij commented Nov 29, 2022

I've gone with dropping Alpine 3.15 altogether, leaving 8.0 with a single supported Alpine variant. The git diff is a bit weird with file moves (e.g. 8.0/alpine3.15/fpm/docker-php-ext-install → 8.2-rc/alpine3.17/fpm/docker-php-ext-install), but looks like everything is working perfectly fine now.

versions.sh Outdated Show resolved Hide resolved
Co-authored-by: Tianon Gravi <admwiggin@gmail.com>
@tianon tianon merged commit d461611 into docker-library:master Nov 30, 2022
@tianon
Copy link
Member

tianon commented Nov 30, 2022

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants