lang/php4, www/mod_php4{Makefile,scripts/configure.php}

Roman Neuhauser neuhauser at bellavista.cz
Fri Apr 11 18:49:05 PDT 2003


dirk@ seems to have disappeared, so I thought I'd think aloud here.

It's quite obvious that the decision to retire lang/php4 was
shortsighted. But that's not the only problem with PHP(-related) ports
IMO. Another sore is that PEAR depends on mod_php4, leading to
absurdities like this one:

Port:   pear-Console_Getopt-1.0
Path:   /usr/ports/devel/pear-Console_Getopt
Info:   PEAR command-line option parser
Maint:  ports at FreeBSD.org
Index:  devel www
B-deps: apache-1.3.27_4 expat-1.95.6_1 mod_php4-4.3.1 mysql-client-3.23.55 pear-install-4.3.0
R-deps: apache-1.3.27_4 expat-1.95.6_1 mod_php4-4.3.1 mysql-client-3.23.55 pear-install-4.3.0

But I'll save that for later.

I thought I'd start with another issue: www/mod_php4/Makefile uses a
script to display a dialog to the user, and set ${CONFIGURE_ARGS} and
${LIB_DEPENDS} accordingly. If you want a noninteractive build, you have
to do e. g. `make install -DBATCH PHP4_OPTIONS="MySQL mcrypt dBase"`.
This is quite different from the usual -DWITH_MYSQL -DWITH_MCRYPT ...
way, and so has a non-zero WTF factor. I have an unfinished patch
(http://www.innuendo.cz/smradoch/mod_php4-port.diff) that shifts the
*_DEPENDS and CONFIGURE_ARGS foot work back to the Makefile, so that the
configure.php script puts just WITH_* variables in Makefile.inc.

Has such a patch any chance of getting committed? (Note that at least
this version has issues: the "Define WITH_APACHE2..." message is printed
twice, and I have no idea why... I'm no bsd.port.mk wizard.)

If such a change was accepted, I would continue with reviving lang/php4.
It would howver make more sense IMO if lang/php4 was the master, and
mod_php4 turned into a slave port, similar to www/mod_{perl,python}
(which are technically not slaves, they have USE_{PERL,PYTHON}).
lang/php4 should install the CLI "SAPI"; there should be a www/php-cgi
port.

AFAICT, compiling and installing the proper SAPI is just a matter of
--enable-cgi / --enable-cli / --with-apxs plus the right
${INSTALL_TARGET}.

Do you think this is reasonable?

-- 
If you cc me or remove the list(s) completely I'll most likely ignore
your message.    see http://www.eyrie.org./~eagle/faqs/questions.html


More information about the freebsd-ports mailing list