PHP 8.0 transition plan

Michael Hudson-Doyle michael.hudson at canonical.com
Mon May 17 03:52:17 UTC 2021


On Sat, 15 May 2021 at 15:54, Bryce Harrington <
bryce.harrington at canonical.com> wrote:

> Hi mwhudson,
>
> The other day you mentioned you'd be on +1 duty next week and expressed
> interest in how the php transition is going.
>
> Here's a wiki page with the current state of things:
>
>     https://wiki.ubuntu.com/ServerTeam/Transition/Php8.0
>
> I've put in rebuilds for most of the stack by now, and a healthy chunk
> has at least built and entered -proposed, and some has fully migrated.
> A bunch of stuff is blocked by php-apcu and if that can migrate, a lot
> more of the stack should migrate too.  The task here is getting symfony
> and php-doctrine-cache to migrate, but they have some non-obvious test
> failures that need investigation.
>

So what seems to be going on here is that php-apcu-bc is not going to be
updated for PHP 8.0 (https://github.com/krakjoe/apcu-bc/issues/34) and so
should be removed from the archive (the package currently in
impish-proposed has a patch to only build for php 7 and so is almost empty).

Its only reverse-build-depends are ... symfony and php-doctrine-cache (and
it has no reverse-depends at all, only a reverse recommends from php-apcu
which presumably should also be removed).

Dropping the build-dependency from symfony leaves this failure:

Running src/Symfony/Component/HttpFoundation tests
PHPUnit 9.5.2 by Sebastian Bergmann and contributors.

Runtime:       PHP 8.0.5
Configuration: /<<PKGBUILDDIR>>/phpunit.xml.dist
Warning:       Your XML configuration validates against a deprecated schema.
Suggestion:    Migrate your XML configuration using
"--migrate-configuration"!

Testing /<<PKGBUILDDIR>>/src/Symfony/Component/HttpFoundation
.............................................................   61 / 1233 (
 4%)
.............................................................  122 / 1233 (
 9%)
.............................................................  183 / 1233 (
14%)
.............................................................  244 / 1233 (
19%)
..........................................S..................  305 / 1233 (
24%)
.............................................................  366 / 1233 (
29%)
.............................................................  427 / 1233 (
34%)
.............................................................  488 / 1233 (
39%)
.............................................................  549 / 1233 (
44%)
.............................................................  610 / 1233 (
49%)
.............................................................  671 / 1233 (
54%)
.............................................................  732 / 1233 (
59%)
.............................................................  793 / 1233 (
64%)
.............................................................  854 / 1233 (
69%)
.............................................................  915 / 1233 (
74%)
......................................
Legacy deprecation notices (4)
KO src/Symfony/Component/HttpFoundation
PHP Fatal error:  Cannot use int as default value for parameter $with_cas
of type bool in
/usr/share/php/PHPUnit/Framework/MockObject/MockClass.php(51) : eval()'d
code on line 141

php-doctrine-cache still ftbfs without the build-dep, like this:

There were 2 failures:

1)
Doctrine\Tests\Common\Cache\MemcacheCacheTest::testSetContainsFetchDelete
with data set "null" (null)
Scalar and array data retrieved from the cache must be the same as the
original, e.g. same type
Failed asserting that false is identical to null.

/<<PKGBUILDDIR>>/tests/Doctrine/Tests/Common/Cache/CacheTest.php:35

2) Doctrine\Tests\Common\Cache\MemcacheCacheTest::testUpdateExistingEntry
with data set "null" (null)
Scalar and array data retrieved from the cache must be the same as the
original, e.g. same type
Failed asserting that false is identical to null.

/<<PKGBUILDDIR>>/tests/Doctrine/Tests/Common/Cache/CacheTest.php:59

but it also seems the package is deprecated now?

Cheers,
mwh

For items in that list that are FTBFS I've done some preliminary
> investigation and noted possible solutions.  Some of these will be
> pretty easy to fix.
>
> The stuff under To Review probably just need nochange rebuilds but I
> haven't had a chance yet to look through them.
>
> I'll be out first half of Monday but will continue on this transition
> through the rest of the week.
>
> Bryce
>
> On Wed, May 12, 2021 at 09:12:03AM -0700, Bryce Harrington wrote:
> > Hi devs,
> >
> > For impish the server team will be transitioning PHP to 8.0 over the
> > coming weeks. (LP: #1927264) [0]
> >
> > Since version 7.0, upstream PHP has adopted a regular release cadence[1],
> > with one release per year. Each release is supported for 2 years, plus a
> > third year of security critical fixes. PHP 8.0 was available last cycle
> > but since changes from 7.4 to 8.0 were significant[2], we opted to
> postpone
> > it to the 21.10 cycle and focused instead on resolving some phpunit
> > 8.5->9.5 transition troubles. Landing PHP 8.0 this cycle will enable it
> > to receive testing in a release prior to 22.04 LTS.
> >
> > php8.0 has now been sync'd into impish from Debian experimental and set
> > as the default PHP.  This breaks the PHP stack[3] and starts the actual
> > transition.
> >
> > Most or all of the PHP stack will need rebuilt at this point. This is
> > phased due to package dependencies - for the php7.4 transition we
> > started with php-propro, php-apcu, and php-msgpack; followed by
> > php-apcu-bc, php-imagick, and php-igbinary; and then the rest of the
> > stack. I anticipate php8.0's transition will proceed similarly.
> >
> > Typically during PHP transitions, packages will fail to build or fail
> > autopkgtests. Deprecated functionality[4] has been a common case and
> > likely will be so for php8.0 as well[5]. There may also be
> > phpunit-related issues in packages that didn't get re-built or re-tested
> > since phpunit 9.5 transitioned.
> >
> > Thanks,
> > Bryce
> >
> > 0: https://wiki.ubuntu.com/ServerTeam/Transition/Php8.0
> > 1: https://www.php.net/supported-versions.php
> > 2: https://stitcher.io/blog/new-in-php-8
> > 3:
> https://people.canonical.com/~ubuntu-archive/proposed-migration/update_excuses.html#php-defaults
> > 4: https://wiki.php.net/rfc/deprecations_php_7_4
> > 5: https://stitcher.io/blog/new-in-php-8
> >
> > --
> > ubuntu-devel mailing list
> > ubuntu-devel at lists.ubuntu.com
> > Modify settings or unsubscribe at:
> https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/ubuntu-devel/attachments/20210517/57d58170/attachment.html>


More information about the ubuntu-devel mailing list