Subject: pkg/29956: php-4.3.11 pkg fails to install
To: None <,,>
From: None <>
List: pkgsrc-bugs
Date: 04/12/2005 10:47:00
>Number:         29956
>Category:       pkg
>Synopsis:       php-4.3.11 pkg fails to install
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Apr 12 10:47:00 +0000 2005
>Originator:     Neil Hoggarth
>Release:        Solaris 9
Laboratory of Physiology, Oxford University
SunOS saros 5.9 Generic_112233-11 sun4u sparc SUNW,Ultra-30
CVS revision 1.42 of pkgsrc/www/php4/Makefile changed "UPGRADE_PKG" to
a null string. As a result, when the post-install rule is executed
make passes to the shell a for statement with a null list argument.
Some shells (including /bin/sh on Solaris) reject this as syntactically
invalid. As a result, "bmake install" returns an error.

"bmake install" output on Solaris 9:

===> Installing for php-4.3.11
Installing PHP SAPI module:       cgi
Installing PHP CGI into: /usr/pkg/bin/
Installing PEAR environment:      /usr/pkg/lib/php/
[PEAR] Archive_Tar    - installed: 1.1
[PEAR] Console_Getopt - installed: 1.2
[PEAR] PEAR           - installed: 1.3.5
Wrote PEAR system config file at: /usr/pkg/etc/pear.conf
You may want to add: /usr/pkg/lib/php to your php.ini include_path
[PEAR] HTML_Template_IT- installed: 1.1
[PEAR] Net_UserAgent_Detect- installed: 2.0.1
[PEAR] XML_RPC        - installed: 1.2.2
Installing build environment:     /usr/pkg/lib/php/build/
Installing header files:          /usr/pkg/include/php/
(CONFIG_FILES=scripts/phpize CONFIG_HEADERS= /export/scratch/pkgsrc/www/php4/work/php-4.3.11/config.status)
creating scripts/phpize
Installing helper programs:       /usr/pkg/bin/
  program: phpize
  program: php-config
  program: phpextdist
/usr/ucb/install -c -s -o root -g root -m 555 /export/scratch/pkgsrc/www/php4/work/php-4.3.11/sapi/cli/php /usr/pkg/bin/php
/usr/ucb/install -c -o root -g root -m 444 /export/scratch/pkgsrc/www/php4/work/php-4.3.11/sapi/cli/php.1 /usr/pkg/man/man1/php.1
/usr/ucb/install -d -o root -g root -m 755 /usr/pkg/libexec/cgi-bin
/usr/ucb/install -c -s -o root -g root -m 555 /export/scratch/pkgsrc/www/php4/work/php-4.3.11/sapi/cgi/php /usr/pkg/libexec/cgi-bin
/usr/ucb/install -d -o root -g root -m 755 /usr/pkg/share/examples/php
cd /export/scratch/pkgsrc/www/php4/work/php-4.3.11; /usr/ucb/install -c -o root -g root -m 444 php.ini-dist php.ini-recommended /usr/pkg/share/examples/php
/usr/ucb/install -d -o root -g root -m 755 /usr/pkg/share/php
/usr/ucb/install -c -o root -g root -m 444 /export/scratch/pkgsrc/www/php4/work/php-4.3.11/php.gif /usr/pkg/share/php
for p in ; do  /usr/pkg/bin/pear upgrade $p || exit 1;  done
/bin/sh: syntax error at line 1: `;' unexpected
*** Error code 2

bmake: stopped in /usr/pkgsrc/www/php4


To work around the problem I simple commented out the problematic
for ... done section, and was able to install the package:

--- Makefile.orig       Tue Apr 12 11:26:30 2005
+++ Makefile    Tue Apr 12 11:26:54 2005
@@ -50,8 +50,8 @@
        ${INSTALL_DATA_DIR} ${PREFIX}/share/php
        ${INSTALL_DATA} ${WRKSRC}/php.gif ${PREFIX}/share/php
-       for p in ${UPGRADE_PKG}; do \
-               ${PEAR_CMD} upgrade $$p || exit 1; \
-       done
+#      for p in ${UPGRADE_PKG}; do \
+#              ${PEAR_CMD} upgrade $$p || exit 1; \
+#      done
 .include "../../mk/"