-
Notifications
You must be signed in to change notification settings - Fork 2.5k
php/composer: turn into meta package as 7.4 is EOL; php8.[01] and composer8.[01]: add alternatives groups. #38536
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
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.1interpreter after symlinking/usr/bin/php8.1to/usr/bin/php. Since it works with both, I don't think there is any change needed to thephoronix-test-suitepackage.)Packages depending on
php-gd:Packages depending on
php-mysql:Packages with
php-develin *makedepends:Other things to take care of: