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

PHP 8.1 - initial packaging #1439

Closed
GrahamCampbell opened this issue Jul 16, 2020 · 69 comments
Closed

PHP 8.1 - initial packaging #1439

GrahamCampbell opened this issue Jul 16, 2020 · 69 comments

Comments

@GrahamCampbell
Copy link

GrahamCampbell commented Jul 16, 2020

I'm just wondering what your plan for PHP 8.0 is. Do you plan to start making php8.0 available from 8.0.0beta1, or just the RC releases, or even just the stable releases? I'm asking just so I can plan ahead for the next few weeks. That is, do I need to build PHP 8.0 myself, or will there be a pre-build extensions coming in August? :)

@sinbadxiii
Copy link

I join @GrahamCampbell, I am also interested in this question :)

@oerdnj
Copy link
Owner

oerdnj commented Jul 17, 2020

[Edited for PHP 8.1]

I will start packaging the PHP 8.1 somewhere between beta1 and rc1 - depends on my free time (the time I could spend with my family doesn't count as "free").

Packaging extra PHP version is usually not that complicated once I did it so many times, but it's the extra extensions that require extra work - some of the extensions are compatible right away, but some require pulling patches from upstream or external repositories. It's hard to estimate how much time this will consume.

Last time, I was asked about estimate as incentive for packaging it rather sooner than later. For PHP 8.1 (including doing all the extra work for extensions), let's go for 3000,- EUR in total.

@oerdnj oerdnj closed this as completed Jul 17, 2020
@krusic22
Copy link

krusic22 commented Aug 6, 2020

There it is.

@brainexe
Copy link

brainexe commented Sep 1, 2020

FYI: Beta #2 is out, and #3 should follow this week. Is there a rouuughh timeline for this php8 package? I'm just planning to switch some development context already

@mvorisek
Copy link

mvorisek commented Sep 1, 2020

@oerdnj can we have this issue reopened and can you write any estimate?

@oerdnj
Copy link
Owner

oerdnj commented Sep 1, 2020

can we have this issue reopened

No, there’s no reason to it.

and can you write any estimate?

It will be done when it will be done. If you want a fixed estimate I can certainly give you a quote.

@GrahamCampbell
Copy link
Author

Is the packaging code open source? That would allow community contributions.

@oerdnj
Copy link
Owner

oerdnj commented Sep 1, 2020

Of course it is and it always was. The location is in the source package headers (https://salsa.debian.org/php-team/php).

@taylorotwell
Copy link

@oerdnj what is the quote for the fixed estimate? 💸 thanks

@oerdnj
Copy link
Owner

oerdnj commented Oct 6, 2020

@taylorotwell $2000 for the PHP and $1000 for doing maintenance on the PECL extensions.

@ottok
Copy link

ottok commented Oct 6, 2020

@taylorotwell Seravo can pay 1500€ if you pay the other half.

@taylorotwell
Copy link

@ottok OK. Email me (taylor at laravel dot com) and @oerdnj and we can coordinate?

@ottok
Copy link

ottok commented Oct 6, 2020

Great! Send me invoicing details otto at seravo.com and we will pay. No paperwork for my part required, I trust Ondrej to keep his word due to our shared history.

I will be following https://salsa.debian.org/php-team/php/-/branches for upstream/8.0 branch to appear and will help testing once there are builds at https://launchpad.net/~ondrej/+archive/ubuntu/php?field.series_filter=bionic.

@oerdnj
Copy link
Owner

oerdnj commented Oct 6, 2020

Thanks, gentlemen, I’ll email you privately and start working on it tomorrow.

@oerdnj
Copy link
Owner

oerdnj commented Oct 7, 2020

JFTR I've managed to update the extra patches today, got the PHP building and now it's only the Debian bits, several paths have changed and there are changes to extensions - JSON is now always included, so no php8.0-json, it's always there and xmlrpc extension has been moved to PECL, it needs to be re-packaged again.

@TomasVotruba
Copy link

TomasVotruba commented Oct 8, 2020

This is just great 👍

@oerdnj I'd like to join these gentleman by adding 1000 $ from my @rectorphp company. For any unexpected issues that appear and as "thank you" for your long-term support on this project since PHP 5.4+.

Send me an invoice to tomas at getrector.org and we'll process it.

@stancl
Copy link

stancl commented Oct 8, 2020

And for the rest of us who can't send large sums but have benefited from Ondřej's work in the past...

Screen Shot 2020-10-08 at 15 07 27

@oerdnj
Copy link
Owner

oerdnj commented Oct 8, 2020

@TomasVotruba @stancl Thanks!

@oerdnj oerdnj reopened this Oct 8, 2020
@oerdnj
Copy link
Owner

oerdnj commented Oct 8, 2020

Anyway, the PHP 8.0.0~rc1 is available from https://launchpad.net/~ondrej/+archive/ubuntu/php-qa

It's pretty much barebones and untested - the only guarantee is "it builds" for the moment. I will start updating the tooling around the new major version tonight or tomorrow and we'll see how it goes.

@alecpl
Copy link

alecpl commented Oct 10, 2020

Thank you. First issue I found. A lot of PEAR core libs in Ubuntu 18.04 needs update. "PHP Fatal error: Array and string offset access syntax with curly braces is no longer supported" is quite common there.

@oerdnj
Copy link
Owner

oerdnj commented Oct 10, 2020

A lot of PEAR core libs in Ubuntu 18.04 needs update.

That's one package that's most painful to update :-(.

Thanks for preliminary testing.

@oerdnj
Copy link
Owner

oerdnj commented Oct 10, 2020

@alecpl There's updated php-pear package, could you try whether it works out of the box now, please?

@alecpl
Copy link

alecpl commented Oct 10, 2020

Thanks, it's working now. I don't see any issues.

@oerdnj
Copy link
Owner

oerdnj commented Oct 10, 2020

Couple of extensions have been also uploaded to php-qa; some packages are not building (yet) and it's a general mayhem, but I am making progress.

@alecpl
Copy link

alecpl commented Oct 11, 2020

Something's wrong with the apache module.

Syntax error on line 146 of /etc/apache2/apache2.conf: Syntax error on line 3 of /etc/apache2/mods-enabled/php8.0.load: Can't locate API module structure `php8_module' in file /usr/lib/apache2/modules/libphp8.0.so: /usr/lib/apache2/modules/libphp8.0.so: undefined symbol: php8_module

@krusic22
Copy link

Just replace 'php8_module' with 'php_module'.
Explained here.

@alecpl
Copy link

alecpl commented Oct 11, 2020

Worked. Thanks.

@owenparker
Copy link

I am wondering if anyone knows any timing on release of ssh2 for php8.0.

@todeveni
Copy link
Contributor

I am wondering if anyone knows any timing on release of ssh2 for php8.0.

Not the best place for this question, but 10 days ago the timing for 1.3 release was "Working on it".
php/pecl-networking-ssh2#44

@oerdnj
Copy link
Owner

oerdnj commented Jul 30, 2021

Reopening the issue as same conditions apply to PHP 8.1 packaging.

@oerdnj oerdnj pinned this issue Jul 30, 2021
@oerdnj oerdnj reopened this Jul 30, 2021
@oerdnj oerdnj changed the title PHP 8.1 PHP 8.1 - initial packaging Aug 2, 2021
@oerdnj
Copy link
Owner

oerdnj commented Aug 25, 2021

The beta3 has been uploaded to ppa:ondrej/php-qa repository, let's see what happens during the build...

@alecpl
Copy link

alecpl commented Aug 28, 2021

Everything works great. Thank you! I miss 'imagick' extension.

@thbley
Copy link

thbley commented Aug 28, 2021

Looks good, thank you! Would be great to get apcu and pcov.

@rfay
Copy link

rfay commented Aug 28, 2021

Working for ddev too in ddev/ddev#3198, thanks! Top of my wishlist is xdabug and xhprof :)

@joglomedia
Copy link

Some packages not available in 8.1 (joglomedia/LEMPer#106)

E: Unable to locate package php8.1-gnupg
E: Couldn't find any package by glob 'php8.1-gnupg'
E: Couldn't find any package by regex 'php8.1-gnupg'
E: Unable to locate package php8.1-xmlrpc
E: Couldn't find any package by glob 'php8.1-xmlrpc'
E: Couldn't find any package by regex 'php8.1-xmlrpc'
E: Unable to locate package php8.1-swoole
E: Couldn't find any package by glob 'php8.1-swoole'
E: Couldn't find any package by regex 'php8.1-swoole'

The packages are available on older versions

Do you plan to add them? or there any alternative?

Thanks

@gvollant
Copy link

PHP 8.1 release candidate is here.

the PHP_API_VERSION constant (in php.h) changed from 20201009 (in beta) to 20210902 (in release candidate).
Based on previous PHP version, I suppose the PHP_API_VERSION value from RC is the final value.

php extension binary build againt current PHP 8.1 package (beta) will be incompatible with PHP 8.1 RC and final.

So, if this is possible for you, @oerdnj , I think it'll be useful if you can update your package to RC. So we will start produce binary without compatibility problem.

regards, and thank you for the work!

@oerdnj
Copy link
Owner

oerdnj commented Sep 13, 2021

php extension binary build against current PHP 8.1 package (beta) will be incompatible with PHP 8.1 RC and final.

Yup, that's why I am waiting with building the PECL extensions until the PHPAPI stabilizes...

So, if this is possible for you, @oerdnj , I think it'll be useful if you can update your package to RC. So we will start produce binary without compatibility problem.

On it...

@gvollant
Copy link

It is done. Thank you a lot !

@rfay
Copy link

rfay commented Sep 16, 2021

Thanks so much for all of this. Could we get xdebug in soon?

I'm doing a major release of ddev in the next few days and it would be oh-so-lovely if we could have xdebug for php8.1.0RC1 in there. I took a quick look at pecl install xdebug-3.1.0beta2 and it seemed to be fine, so it would be lovely to see it.

And @derickr is quite confident of it with PHP8.1, https://twitter.com/derickr/status/1438554237177372684

@TomasVotruba
Copy link

Hi @oerdnj,

I would like to thank you for your endless work you do for our PHP community 👏 👍 ❤️

Not just in words, but also chip in sponsoring from last year. Could you send me an invoice for 1000 $?

@oerdnj
Copy link
Owner

oerdnj commented Sep 17, 2021

Thanks @TomasVotruba, this is much appreciated!

@rfay
Copy link

rfay commented Oct 14, 2021

Looking forward to seeing PHP8.1-RC3 here :) Thanks!

@oerdnj oerdnj unpinned this issue Oct 24, 2021
@rfay
Copy link

rfay commented Oct 27, 2021

Thanks for getting php RC4 in there.

Really, really hoping for php8.1-xdebug (especially now that xdebug 3.1.1 is in there, and should work fine with php 8.1).

Also, please bump uploadprogress to current 2.0.2 so it will work with both php 8.0 and 8.1 (really bad right now). https://pecl.php.net/package/uploadprogress

@gvollant
Copy link

gvollant commented Sep 2, 2022

PHP 8.1 release candidate is here.

the PHP_API_VERSION constant (in php.h) changed from 20201009 (in beta) to 20210902 (in release candidate). Based on previous PHP version, I suppose the PHP_API_VERSION value from RC is the final value.

php extension binary build againt current PHP 8.1 package (beta) will be incompatible with PHP 8.1 RC and final.

So, if this is possible for you, @oerdnj , I think it'll be useful if you can update your package to RC. So we will start produce binary without compatibility problem.

regards, and thank you for the work!

@oerdnj we are in the same point with PHP 8.2 RC. Is it possible upgrade the package ?

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

No branches or pull requests