On 2017/11/23 21:46, Martijn van Duren wrote: > Hello ports@, > > Here's the first real tricky patch for PHP. > Right now we have the -fastcgi package, which is nothing more than PHP's > cgi SAPI under a different name and is actually confusing considering > there's the fpm SAPI in -main. It originally took me quite some time to > figure out to what SAPI this package actually maps to, especially > considering it doesn't include the manpage. > > So I've addressed the following topics in this diff: > 1) Rename the package from -fastcgi to -cgi > 2) Rename the binary from php-fastcgi to php-cgi (or more precisely > preserve the name from build-time) > 3) Add the php-cgi manpage. This is nothing more than a source of the > php-cli manpage. Maybe we should copy the php-cli manpage to php-cgi > instead of sourcing it? > 4) enable -cgi explicitly (we're packaging it, so be explicit about > building it) > 5) Adjust COMMENT and DESCR. These probably need some love, but suffice > for me. > 6) Add RUN_DEPENDS on -main. This is required for this patch's version > of the manpage and adds the php.ini. > > This also leaves me with the question: what do we want to do with the > other SAPI modules? apxs2, cli, fpm, phpdbg (not build yet). Do we want > them all in separate packages, or maybe a subset? It would be my > personal preference to split them all and leave -main with just the > essentials (php.ini, phpize, SAPI-shared headers, etc). > > Thoughts, opinions, OKs? > > martijn@ > > Index: Makefile.inc > =================================================================== > RCS file: /cvs/ports/lang/php/Makefile.inc,v > retrieving revision 1.100 > diff -u -p -a -u -r1.100 Makefile.inc > --- Makefile.inc 23 Nov 2017 18:57:13 -0000 1.100 > +++ Makefile.inc 23 Nov 2017 20:38:55 -0000 > @@ -3,10 +3,10 @@ > BROKEN-hppa= no __sync_bool_compare_and_swap support nor asm fallback > > COMMENT-main= server-side HTML-embedded scripting language > -COMMENT-fastcgi= stand-alone FastCGI version of PHP > +COMMENT-cgi= cgi sapi for php > > PKGNAME-main?= php-${V} > -PKGNAME-fastcgi?= php-fastcgi-${V} > +PKGNAME-cgi?= php-cgi-${V} > > DISTFILES+= php-${V}.tar.bz2 > > @@ -97,6 +97,7 @@ CONFIGURE_ARGS+= --with-openssl \ > --enable-sysvshm \ > --enable-mbstring \ > --enable-exif \ > + --enable-cgi \ > --enable-fpm \ > --with-fpm-user=www \ > --with-fpm-group=www > @@ -104,7 +105,7 @@ CONFIGURE_ARGS+= --with-openssl \ > TEST_TARGET= test > TEST_FLAGS= NO_INTERACTION=1 > > -MULTI_PACKAGES+= -main -fastcgi > +MULTI_PACKAGES+= -main -cgi > > # > # Loadable php extensions by name that are included in all versions > @@ -304,12 +305,12 @@ PHPXS_SUBST+= -e 's,${i},${${i}},' > WANTLIB-main+= c crypto iconv intl lzma m pthread ssl xml2>=8 z > WANTLIB-main+= ncurses readline ${COMPILER_LIBCXX} > > -WANTLIB-fastcgi= ${WANTLIB-main} > +WANTLIB-cgi= ${WANTLIB-main} > LIB_DEPENDS-main= devel/gettext \ > textproc/libxml > RUN_DEPENDS-main= mail/femail,-chroot > -LIB_DEPENDS-fastcgi= ${LIB_DEPENDS-main} > -RUN_DEPENDS-fastcgi= > +LIB_DEPENDS-cgi= ${LIB_DEPENDS-main} > +RUN_DEPENDS-cgi= php-${V}:lang/php/${PV} > > pre-fake: > ${INSTALL_DATA_DIR} ${PREFIX}/${APACHE_MODULE_SUBDIR}/modules > @@ -324,7 +325,7 @@ pre-configure: > ${WRKSRC}/scripts/phpize.in \ > ${WRKSRC}/scripts/php-config.in > > -.for i in ${MULTI_PACKAGES:N-main:N-fastcgi:S/-//g} > +.for i in ${MULTI_PACKAGES:N-main:N-cgi:S/-//g} > MODULE_NAME-${i}= ${i} > DESCR-${i}= ${.CURDIR}/../files/DESCR-${i} > PKGNAME-${i}= php-${i}-${V} > @@ -337,7 +338,7 @@ RUN_DEPENDS-${i}+= php-${V}:lang/php/${P > .endfor > > DESCR-main= ${.CURDIR}/../files/DESCR-main > -DESCR-fastcgi= ${.CURDIR}/../files/DESCR-fastcgi > +DESCR-cgi= ${.CURDIR}/../files/DESCR-cgi > > post-install: > ${SUBST_DATA} ${.CURDIR}/../files/README-main \ > @@ -347,7 +348,8 @@ post-install: > ${INSTALL_DATA_DIR} ${WRKINST}/${CHROOT_DIR}/conf/php-${PV}.sample > ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/php-${PV} > ${INSTALL_PROGRAM} ${WRKBUILD}/sapi/cli/php ${PREFIX}/bin/php-${PV} > - ${INSTALL_PROGRAM} ${WRKBUILD}/sapi/cgi/php-cgi > ${PREFIX}/bin/php-fastcgi-${PV} > + ${INSTALL_PROGRAM} ${WRKBUILD}/sapi/cgi/php-cgi > ${PREFIX}/bin/php-cgi-${PV} > + ${INSTALL_MAN} ${WRKSRC}/sapi/cgi/php-cgi.1 > ${PREFIX}/man/man1/php-cgi-${PV}.1 > ${INSTALL_PROGRAM} ${WRKBUILD}/sapi/fpm/php-fpm > ${PREFIX}/sbin/php-fpm-${PV} > ${INSTALL_MAN} ${WRKBUILD}/sapi/fpm/php-fpm.8 > ${PREFIX}/man/man8/php-fpm-${PV}.8 > ${INSTALL_DATA} ${WRKBUILD}/sapi/fpm/php-fpm.conf \ > @@ -362,7 +364,7 @@ post-install: > @perl -pi -e > "s,!!PREFIX!!,${TRUEPREFIX},g;s,!!PV!!,${PV},g;s,!!MV!!,${PV:R},g" \ > ${PREFIX}/share/examples/php-${PV}/php.conf > > -.for m in ${MULTI_PACKAGES:N-main:N-fastcgi:S/-//g} > +.for m in ${MULTI_PACKAGES:N-main:N-cgi:S/-//g} > ${INSTALL_DATA} ${WRKBUILD}/modules/${m}.so \ > ${PREFIX}/${MODULES_SUBDIR}/${m}.so > echo "extension=${m}.so" > \ > Index: 5.6/Makefile > =================================================================== > RCS file: /cvs/ports/lang/php/5.6/Makefile,v > retrieving revision 1.55 > diff -u -p -a -u -r1.55 Makefile > --- 5.6/Makefile 17 Nov 2017 06:47:17 -0000 1.55 > +++ 5.6/Makefile 23 Nov 2017 20:38:55 -0000 > @@ -4,7 +4,7 @@ BROKEN-alpha= pcre_jit_compile.c:65:2: e > > PV= 5.6 > V= ${PV}.31 > -REVISION= 0 > +REVISION= 1 > > MASTER_SITES0= https://download.suhosin.org/ > > Index: 5.6/patches/patch-sapi_cgi_php-cgi_1_in > =================================================================== > RCS file: 5.6/patches/patch-sapi_cgi_php-cgi_1_in > diff -N 5.6/patches/patch-sapi_cgi_php-cgi_1_in > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ 5.6/patches/patch-sapi_cgi_php-cgi_1_in 23 Nov 2017 20:38:55 -0000 > @@ -0,0 +1,8 @@ > +$OpenBSD$ > + > +Index: sapi/cgi/php-cgi.1.in > +--- sapi/cgi/php-cgi.1.in.orig > ++++ sapi/cgi/php-cgi.1.in > +@@ -1 +1 @@ > +-.so man1/php.1 > ++.so man1/php-5.6.1 > Index: 5.6/pkg/PLIST-cgi > =================================================================== > RCS file: 5.6/pkg/PLIST-cgi > diff -N 5.6/pkg/PLIST-cgi > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ 5.6/pkg/PLIST-cgi 23 Nov 2017 20:38:55 -0000 > @@ -0,0 +1,6 @@ > +@comment $OpenBSD: PLIST-fastcgi,v 1.2 2016/06/29 16:14:42 espie Exp $ > +@option no-default-conflict > +@option is-branch > +@conflict php-cgi->=5.6,<5.7 > +@bin bin/php-cgi-${PV} > +@man man/man1/php-cgi-${PV}.1
If this is meant to replace php-fastcgi then it needs this adding: @pkgpath lang/php/5.6,-fastcgi @conflict php-fastcgi->=5.6,<5.7 Also needs a quirks entry. To test: - install old packages - build new php-* and quirks and copy them to /somepath - run "env TRUSTED_PKG_PATH=/somepath/ pkg_add -u" and make sure If it's not meant to replace php-fastcgi then it needs some quirks removal entry. > Index: 5.6/pkg/PLIST-fastcgi > =================================================================== > RCS file: 5.6/pkg/PLIST-fastcgi > diff -N 5.6/pkg/PLIST-fastcgi > --- 5.6/pkg/PLIST-fastcgi 29 Jun 2016 16:14:42 -0000 1.2 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,5 +0,0 @@ > -@comment $OpenBSD: PLIST-fastcgi,v 1.2 2016/06/29 16:14:42 espie Exp $ > -@option no-default-conflict > -@option is-branch > -@conflict php-fastcgi->=5.6,<5.7 > -@bin bin/php-fastcgi-${PV} > Index: 7.0/Makefile > =================================================================== > RCS file: /cvs/ports/lang/php/7.0/Makefile,v > retrieving revision 1.38 > diff -u -p -a -u -r1.38 Makefile > --- 7.0/Makefile 17 Nov 2017 06:47:17 -0000 1.38 > +++ 7.0/Makefile 23 Nov 2017 20:38:55 -0000 > @@ -4,7 +4,7 @@ BROKEN-sparc64= SIGBUS during phar gener > > PV= 7.0 > V= ${PV}.23 > -REVISION= 0 > +REVISION= 1 > > BUILD_DEPENDS+= devel/bison > > Index: 7.0/patches/patch-sapi_cgi_php-cgi_1_in > =================================================================== > RCS file: 7.0/patches/patch-sapi_cgi_php-cgi_1_in > diff -N 7.0/patches/patch-sapi_cgi_php-cgi_1_in > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ 7.0/patches/patch-sapi_cgi_php-cgi_1_in 23 Nov 2017 20:38:55 -0000 > @@ -0,0 +1,8 @@ > +$OpenBSD$ > + > +Index: sapi/cgi/php-cgi.1.in > +--- sapi/cgi/php-cgi.1.in.orig > ++++ sapi/cgi/php-cgi.1.in > +@@ -1 +1 @@ > +-.so man1/php.1 > ++.so man1/php-5.6.1 Wrong version. Did you figure out why it was copied rather than using .so before? There might be a reason for that. > Index: 7.0/pkg/PLIST-cgi > =================================================================== > RCS file: 7.0/pkg/PLIST-cgi > diff -N 7.0/pkg/PLIST-cgi > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ 7.0/pkg/PLIST-cgi 23 Nov 2017 20:38:55 -0000 > @@ -0,0 +1,6 @@ > +@comment $OpenBSD: PLIST-fastcgi,v 1.2 2016/06/29 16:14:42 espie Exp $ > +@option no-default-conflict > +@option is-branch > +@conflict php-cgi->=7.0,<7.1 > +@bin bin/php-cgi-${PV} > +@man man/man1/php-cgi-${PV}.1 > Index: 7.0/pkg/PLIST-fastcgi > =================================================================== > RCS file: 7.0/pkg/PLIST-fastcgi > diff -N 7.0/pkg/PLIST-fastcgi > --- 7.0/pkg/PLIST-fastcgi 29 Jun 2016 16:14:42 -0000 1.2 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,5 +0,0 @@ > -@comment $OpenBSD: PLIST-fastcgi,v 1.2 2016/06/29 16:14:42 espie Exp $ > -@option no-default-conflict > -@option is-branch > -@conflict php-fastcgi->=7.0,<7.1 > -@bin bin/php-fastcgi-${PV} > Index: files/DESCR-cgi > =================================================================== > RCS file: files/DESCR-cgi > diff -N files/DESCR-cgi > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ files/DESCR-cgi 23 Nov 2017 20:38:55 -0000 > @@ -0,0 +1 @@ > +PHP's CGI and FastCGI SAPI > Index: files/DESCR-fastcgi > =================================================================== > RCS file: files/DESCR-fastcgi > diff -N files/DESCR-fastcgi > --- files/DESCR-fastcgi 27 Jun 2010 20:28:45 -0000 1.1.1.1 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,4 +0,0 @@ > -This is the core PHP binary compiled with FastCGI support > -(www.fastcgi.com). FastCGI deployments are generally faster than > -using PHP as a CGI, since the processes stay resident in memory > -between requests. >