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 <s...@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. >