Fix #61345: fix install of CGI binary
authorMichael Heimpold <mhei@heimpold.de>
Fri, 9 Aug 2013 19:06:17 +0000 (21:06 +0200)
committerStanislav Malyshev <stas@php.net>
Sun, 11 Aug 2013 00:35:09 +0000 (17:35 -0700)
When CLI was not built but only CGI binary, then a sequence of

$ ./buildconf
$ ./configure  --prefix=/usr/local/phpcgi --disable-cli
$ make -j8
$ sudo rm -rf /usr/local/phpcgi
$ sudo make install

results in the following error:

/bin/bash /srv/smb/php-src.test/libtool --silent --preserve-dup-deps --mode=install cp ext/opcache/opcache.la /srv/smb/php-src.test/modules
Installing shared extensions:     /usr/local/phpcgi/lib/php/extensions/no-debug-non-zts-20121212/
Installing PHP CGI binary:        /usr/local/phpcgi/bin/
cp: cannot create regular file `/usr/local/phpcgi/bin/#INST@28245#': No such file or directory
make: *** [install-cgi] Fehler 1

The solution is to create the binary directory before copying the
CGI binary as e.g. CLI does.

Signed-off-by: Oliver Metz <oliver.metz@gmx.de>
[extensive commit message]

Signed-off-by: Michael Heimpold <mhei@heimpold.de>
NEWS
sapi/cgi/Makefile.frag

diff --git a/NEWS b/NEWS
index e5b9600800729b8c0b57281117c88db0ce9b6ce9..cd9dc91976ce939a50c0c0aab4b2a07f82b8c1c3 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -2,13 +2,14 @@ PHP                                                                        NEWS
 |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
 ?? ??? 2013, PHP 5.4.19
 
-- Core.
+- Core:
   . Fixed bug #65372 (Segfault in gc_zval_possible_root when return reference
     fails). (Laruence)
   . Fixed bug #65304 (Use of max int in array_sum). (Laruence)
   . Fixed bug #65291 (get_defined_constants() causes PHP to crash in a very
     limited case). (Arpad)
-  . Improve fix for bug #63186 (compile failure on netbsd). (Matteo)
+  . Improved fix for bug #63186 (compile failure on netbsd). (Matteo)
+  . Fixed bug #61345 (CGI mode - make install don't work). (Michael Heimpold)
   . Fixed bug #61268 (--enable-dtrace leads make to clobber
     Zend/zend_dtrace.d) (Chris Jones)
   . Cherry picked some DTrace build commits (allowing builds on Linux,
index d54dd40808e09e3109f293d1bbd4c33ff241c3f9..d3d7cb3553ab613b7641dd205c6c33ceb0a76a2d 100644 (file)
@@ -5,6 +5,7 @@ $(SAPI_CGI_PATH): $(PHP_GLOBAL_OBJS) $(PHP_BINARY_OBJS) $(PHP_CGI_OBJS)
 
 install-cgi: $(SAPI_CGI_PATH)
        @echo "Installing PHP CGI binary:        $(INSTALL_ROOT)$(bindir)/"
+       @$(mkinstalldirs) $(INSTALL_ROOT)$(bindir)
        @$(INSTALL) -m 0755 $(SAPI_CGI_PATH) $(INSTALL_ROOT)$(bindir)/$(program_prefix)php-cgi$(program_suffix)$(EXEEXT)
        @echo "Installing PHP CGI man page:      $(INSTALL_ROOT)$(mandir)/man1/"
        @$(mkinstalldirs) $(INSTALL_ROOT)$(mandir)/man1