Thursday, November 28, 2024

Re: PHP 8.4 backport to 7.6-stable?

Thanks for that very thorough explanation Stuart!

And waiting for 7.7 to get PHP 8.4 is fine in this context. I had thought that there was less work involved with backporting. PECL is not a requirement for what we are using I think. But some of the PHP extensions are.


I have never built an OpenBSD port before so all of this is new to me, and a bit daunting. I should probably start with something on -current, just to get the feel for how to set up the environment for building ports.

The FAQ describes a lot of it but there are things, such as space requirements in the relevant partitions, that I'm not so sure about. My -current test VMs tend to have fairly small virtual disks (≈40GB) with default partitioning. The production machines have bigger disks but use manually tuned partition sizes that did not take into account build requirements. For example on one machine:

# size offset fstype [fsize bsize cpg]
a: 1024.0M 64 4.2BSD 2048 16384 12960 # /
b: 4096.0M 2097216 swap # none
c: 78128.0M 0 unused
d: 2048.0M 10485824 4.2BSD 2048 16384 12960 # /tmp
e: 20480.0M 14680128 4.2BSD 2048 16384 12960 # /var
f: 2560.0M 56623168 4.2BSD 2048 16384 12960 # /usr
g: 615.4M 61866048 4.2BSD 2048 16384 9768 # /usr/X11R6
h: 2560.0M 63126368 4.2BSD 2048 16384 12960 # /usr/local
i: 1613.7M 68369248 4.2BSD 2048 16384 12960 # /usr/src
j: 1024.0M 71674016 4.2BSD 2048 16384 12960 # /usr/obj
k: 42106.9M 73771168 4.2BSD 2048 16384 12960 # /home

Any hints on reasonable (minimal) sizes for the relevant partitions (/usr, /usr/src, /usr/obj I think) to enable building ports?


But if building my own ports is the way to get PHP 8.4 on -stable then for this purpose it might be easier to bite the bullet and install a -current VM and set it up to enable the web services. At least for that stuff I know what I'm doing ;-)


Thanks for your help!
Mike


> Am 29.11.2024 um 00:28 schrieb Stuart Henderson <stu@spacehopper.org>:
>
> On 2024/11/28 22:05, Mike Fischer wrote:
>> Hi!
>>
>> I noticed that a new port for php-8.4.1 was made available for -current. Thanks for the very prompt implementation the same day it was released!
>>
>> Now I was wondering whether a backport of php-8.4.1 to 7.6-stable was planned?
>>
>> It would certainly help with getting code adjusted to the 8.4 branch of PHP. We have a few test-VMs running -current but they are not really set up for web services like the production machines running 7.6-stable. So using the latter would be much easier for this.
>
> Hi Mike,
>
> I'm not planning to backport the 8.4 dir (it's not something we've done
> before with PHP, and hooking up the various things around a new PHP
> version - pecl ports, etc - is a bit too much for -stable).
>
> However if you just need PHP itself and not various things from pecl,
> all the infrastructure for building lang/php/8.4 *is* in place in
> -stable, so you should be able to build yourself fairly easily if you
> fetch the relevant bits of the ports tree.
>
> If you don't already have a ports tree checkout on a 7.6-stable machine,
> see the faq for info on fetching it, and make sure you "cvs up -r
> OPENBSD_7_6" across the whole tree to make sure that you have everything
> - you will need to use cvs rather than the git conversion (it's proven
> impossible to get a working continuously updated git conversion of the
> OpenBSD CVS trees unless tags/branches are ignored).
>
> That could be one of the existing web machines, or e.g. a fresh VM to
> build on, and just copy packages across.
>
> With the 7.6-stable tree in place, you should be able to easily copy the
> lang/php/8.4 directory from a -current machine (or indeed as CVS does
> not require a checkout to be consistent across the tree, you can fetch
> most of the ports tree with the OPENBSD_7_6 tag, and get just that dir
> from -current: cd /usr/ports/lang/php; cvs up -PdA 8.4).
>
> Then build the port as normal (there will be quite a few dependencies
> for the optional subpackages; "make prepare FETCH_PACKAGES=" will save
> a lot of time and pain by downloading the relevant packages rather
> thann building them locally).
>
> It's not impossible to build pecl things there too but I think if you
> need to go further than the above you're probably better off building
> out a testbed on -current as the work needed on the ports tree is a lot
> more spread out.
>

No comments:

Post a Comment