-
Notifications
You must be signed in to change notification settings - Fork 10
php74 #251
Comments
Hey @rossnick, thanks for the request. I did see that PHP 7.4 was released, just haven't had the time yet to tackle it. I was chatting with @kelnei about this in IRC, and he pointed out that this will require a newer version of libzip than is in base RHEL 7. Additionally the PHP source no longer includes a bundled version of libzip. To address that, I've created a libzip1 package (currently in ius-testing) that we should be able to build against. Additionally, we need a newer version of oniguruma than is in EPEL 7, and there isn't a bundled one to use. For various reasons, I think it would be a better solution to get the EPEL package update rather than creating an alternative version package. I've requested that with the EPEL maintainer. https://bugzilla.redhat.com/show_bug.cgi?id=1777660 Once the dependencies are sorted out, if anyone wants to get more involved with IUS and try to start this package, I've documented the basic process for creating an IUS package. https://github.com/iusrepo/packaging/wiki/walkthrough I've also documented the package guidelines for IUS (that supplement the general Fedora packaging guidelines). https://github.com/iusrepo/packaging/wiki/guidelines Finally, there are some notes specific to how IUS does PHP over on the php73 wiki. https://github.com/iusrepo/php73/wiki/implementation I'm happy to chat with anyone about this in the |
IMHO better to use the soname in the package name (so libzip5) |
I've started working on this here: https://github.com/kelnei/php74 This assumes updated libzip and oniguruma are available. I used your libzip1 from ius-testing and an oniguruma6 (6.9.4) I packaged for myself. This also uses the bundled gd and pcre. I think I ported all your php7.3 changes. Two things to note; 1) I had to update the curltls patch, as it was getting rejected during patching, and 2) I'm not sure the pdo-firebird package is correct, it was previously interbase so I did a provides for interbase. Hopefully this is a good starting point for you. |
That's right, I remember now that we did that for libsodium13. Do you know if there has been any previous discussion around clarifying version vs soname in the naming package guidelines? If not I'd like to bring it up on a mailing list.
Excellent work, thanks! Are you able to transfer that repo to the iusrepo organization? If not I can just clone the repo and push the commits to a new remote.
Yeah that happens from time to time. Minor nitpick, can you rename that patch to php-7.4.0-curltls.patch? It's customary when a patch is rebased like that to rename the file to reflect the version of the upstream software the patch was targeting. It's not necessary on every version update, just when the upstream changes are substantial enough that the patch no longer applies and needs to be rebased. As you can see, the previous patch was originally written for PHP 7.1.0 and continued to apply cleanly for a long time.
I saw Remi helped you get this squared away already. |
The patch has been renamed, and the repo has been transferred to IUS. |
Excellent. The only thing we're missing is the Cirrus CI config file, but there is no point in adding that until we sort out the dependencies. I poked the oniguruma bugzilla, which I believe is our main blocker now. At some point I'll rename libzip1 to libzip5 as Remi suggested to match the library soname. php74.spec also should be tweaked to build require the pkgconfig virtual provides rather than an exact name. -BuildRequires: libzip-devel >= 0.11
+BuildRequires: pkgconfig(libzip) >= 0.11 Edit: I took care of the libzip build requirement here and also sent it upstream to the Fedora spec file. |
I have rebuilt the PHP to 7.4.1 + built the following RPMs from IUS repos (with small changes):
If you want, I can publish repos and transfer them to |
@jsosic Thanks for looking in to those. How are you handling the oniguruma dependency for the main php74 package? Once we have our main php74 package created we can look at those add on packages. |
I have built the onigurama6 rpm from spec file from @kelnei (available at https://github.com/kelnei/oniguruma6), and have built php74 against that RPM. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
I've initiated the process to do an incompatible upgrade of oniguruma in EPEL 7. Once complete that should unblock us to start doing IUS builds of php74. |
php74-7.4.6-3 has been published to the ius-testing repository. Please test it out and provide feedback here. Be aware that you will also need to enable epel-testing to get the new oniguruma if you are installing php74-mbstring. |
Great news ! On my test machine, I have php73-mbstring installed. When trying to upgrade it to php74-mbstring it seems that I miss a dependency : Error: Package: php74-mbstring-7.4.6-3.el7.ius.x86_64 (ius7-testing-x86_64) I do have epel enabled. With google, I found a pakacge in epel-testing that seems to provide this : https://rpmfind.net/linux/RPM/epel/testing/7/x86_64/Packages/o/oniguruma-6.8.2-1.el7.x86_64.html Should I enable epel-testing also for testing ? |
Yes. From the comment above:
|
As always, I read too fast. Sorry. I'll get back. I hate myself when I do that ;-) |
php-zip seems to have been removed from the provided features and not enabled. I beleive commit iusrepo/php73@1b626f0 form php73 should be applied here also. |
@rossnick PHP 7.4 no longer bundles libzip and PHP upstream dependencies on it for php packages were removed, so zip support will be moving to a php74-pecl-zip package, which I've ported and pushed into the IUS org (along with quite a number of others) and is now waiting to be published. |
Ok, I see. I also use amazon linux 2 with php 7.4, and "they" bundled it in php-common... For the moment, it won't matter, I'll still be able to make some basic tests. I just had to uninstall composer, it depends on php-zip. |
There is NO relation between bundled libzip and zip extension availability in php-src. pecl extension make sense if you want the latest feature from the latest zip extension using the latest libzip version.
We choose to use the pecl extension in Fedora to match libzip version available
|
The relation is that in the past IUS choose to utilize the bundled libzip to build a zip subpackage from the main spec file, rather than maintaining a pecl extension package. With the bundled libzip removed, we no longer have that option. |
@rossnick (and anyone else interested) php74-pecl-zip is now available for testing along with php74. If you're able to test it out please provide your feedback for that one in #273. More extensions will be coming soon thanks to @davidalger. |
Please explain.
As soon as you have a "lilbzip5" package, you can build both.
|
So far, I've been able to install what we need to make one of our basic project work. So so far, so good. But most of the more big projects needs pecl-redis #258, I'll wait for that to complete my tests |
I've not run extensive testing of all php functions, but I haven't run in any issue with php 7.4. I'm confident enough to install this on our dev and test servers. |
@rossnick After your testing in your dev and test environments, are you ready for this to be promoted to the main repository, i.e. production use? |
@carlwgeorge yes, I would be good. |
We've had no problems installing or running this and did some light user testing of our application with no issues. |
Thanks for testing. php74 has been promoted to the main repository. Not all pecl extensions are complete yet, but they will addressed individually in their respective wishlist issues. |
@jsosic Is there a reason why I'm using
Also see issue #298.
|
What new package do you want?
php 7.4
Why?
Latest stable php release. (28 Nov 2019 release)
Testing
I agree to test the new package to ensure that it works as expected. Once I am satisfied with the results of my testing I will comment on this issue with the word "STABLE" to get it promoted to the stable repos.
The text was updated successfully, but these errors were encountered: