Requested changes to lang/php5 port

Maxim Khitrov max at mxcrypt.com
Sat Feb 11 02:39:24 UTC 2012


On Fri, Feb 10, 2012 at 8:43 PM,  <rflynn at acsalaska.net> wrote:
>> On Fri, Feb 10, 2012 at 12:41 PM, Maxim Khitrov <max at mxcrypt.com> wrote:
>>> Hello,
>>>
>>> I'd like to request two minor changes to the lang/php5 port:
>>>
>>> 1. Change 'CONFIGURE_ARGS=' line to 'CONFIGURE_ARGS+=' to allow
>>> customizations to the arguments. One reason for this is that some
>>> extensions, like security/php5-hash, have to be compiled into the
>>> core. Otherwise, 'session.hash_function' option cannot use hash
>>> algorithms offered by that extension. See the following bug report for
>>> more info:
>>>
>>> https://bugs.php.net/bug.php?id=53789
>>>
>>> 2. Unless there is a very good reason for keeping them, I think
>>> '--enable-libxml' and especially '--enable-mysqlnd' should be removed
>>> from the default set of arguments. Make these two part of the options
>>> dialog, if you want, but there are plenty of installations that have
>>> no need for any MySQL or XML functionality. Why compile these into the
>>> core by default?
>>
>> Actually, I now realize that changing 'CONFIGURE_ARGS=' to
>> 'CONFIGURE_ARGS+=' wouldn't help me, because --disable-all would
>> negate --enable-hash, which I was planning to specify.
>
> No, it won't negate it. --disable-all means "start with an empty set and
> for each --enable-foo add foo to the set".
>
> You can add to CONFIGURE_ARGS using a Makefile.local which is included
> at bsd.port.pre.mk time.

Didn't know about Makefile.local, thanks! I tested the
'CONFIGURE_ARGS+=' solution and it does work. I was under the
impression that order mattered.

That method is slightly better than Makefile.local, because I try to
manage all port customizations with portconf. Otherwise, it's easy to
forget all the changes you made to get things working exactly right. I
also exclude /usr/ports from backups, so all settings would revert to
their defaults if I ever had to re-extract the entire tree.

>> As for removing --enable-libxml, it seems to be required when building
>> the port (maybe for fpm?), but --enable-mysqlnd should definitely be
>> removed by default.
>
> As far as I can tell, --enable-mysqlnd does not add to dependencies, as:
> make -C /usr/ports/lang/php5 all-depends-list
> shows me as does:
> % ls /var/db/pkg|egrep 'php|mysql'
> php5-5.3.9

True, but it's still unnecessary. It increases the size of all
binaries (php, php-cgi, php-fpm) and adds a ton of useless information
to phpinfo() output.

I think that making it an option that is enabled by default is
perfectly reasonable. I've attached a patch that does this. Tested it
on FreeBSD 9.0-RELEASE amd64.

- Max
-------------- next part --------------
A non-text attachment was scrubbed...
Name: php5-mysqlnd.patch
Type: application/octet-stream
Size: 3429 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20120211/83ffde64/php5-mysqlnd.obj


More information about the freebsd-ports mailing list