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
php/composer: turn into meta package as 7.4 is EOL; php8.[01] and composer8.[01]: add alternatives groups. #38536
Conversation
I think this is a bit too fragile and we should wait with this for php 7.4 EOL which should be in November. Which /usr/bin/php gets chosen when the user has php (7) and php8.0 installed? Are we sure it always works as expected and won't break the setup for some users who rely on /usr/bin/php being php7, etc? |
It does not work correctly: before:
after:
|
471ceed
to
efda04b
Compare
Should be fixed, I dropped the |
efda04b
to
fcbf961
Compare
So, the one thing that I'm unsure of is for composer. Currently, there is a package for each PHP version with a shim script to invoke composer with the right interpreter:
This could also be handled by having a single composer package with the shim script, but call |
07ee36f
to
fb6fe09
Compare
After thinking about this, I think that it's best to keep the separate composer packages, since collapsing into one and relying on xbps-alternatives to choose a php version restricts the utility of having alternatives in the first place. If I want to have both a PHP 8.0 and 8.1 installation on a single machine, I would still like to be able to use composer with both 8.0 and 8.1. |
fb6fe09
to
533ce6a
Compare
533ce6a
to
de357bc
Compare
I think it would be nice to make every package depend on a specific version that's the last supported one. |
de357bc
to
552a09c
Compare
Anything else needed for this? 7.4 is officially EOL now |
srcpkgs/php8.1/template
Outdated
php-fpm_package() { | ||
depends="${sourcepkg}-fpm" | ||
build_style=meta | ||
short_desc="PHP FastCGI Process Manager meta package" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can imagine that people will be confused by these meta packages a bit - they will install php-fpm, enable the php8.1-fpm service and then on an update php will be updated to 8.2 and php-fpm will be orphaned and removed. Do you think we could somehow clarify that php-* packages will move in short_desc or even as a page in void-docs?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think something like that could be helpful. Probably want a page since it's fairly easy to miss a short_desc if you just do xi php-fpm
. Reminds me of #38306
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, I opened void-linux/void-docs#731
552a09c
to
72af78c
Compare
72af78c
to
445fd49
Compare
445fd49
to
c9944b4
Compare
c9944b4
to
662df16
Compare
662df16
to
3d99e75
Compare
7.4 is EOL, so pull all packages into a single location to enable easier version transitions fix symlinks
3d99e75
to
515ba17
Compare
@TinfoilSubmarine thank you very much my man. Very appreciative of this much-needed change! Also very educational to read the PR as well. |
Should not be merged until PHP 7.4 EOL (28 Nov 2022): https://www.php.net/supported-versions.php
Testing the changes
Packages depending on
php
:php8.1
interpreter after symlinking/usr/bin/php8.1
to/usr/bin/php
. Since it works with both, I don't think there is any change needed to thephoronix-test-suite
package.)Packages depending on
php-gd
:Packages depending on
php-mysql
:Packages with
php-devel
in *makedepends:Other things to take care of: