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


Reply via email to