On Tuesday 16 May 2006 02:22 am, Florian Kretzer wrote: > Hello! > > I tried to install php5 with OpenPKG, but I can't find the right option. > I want OpenPKG to install php with the option "--with-mysql > --with-apxs=/www/bin/apxs" from ./configure in the normal installation > without OpenPKG. > For installation I used "openpkg rpm -Uvh php5.x.y.z.rpm. How have I to > change my command? > > Thx for help! > Florian
OpenPKG doesn't support building the php 4 or 5 package as a shared module for apache. That said I have been using php 4 and 5 for quite some time as shared modules with the openpkg apache. I have just created a separate php5.spec file. I had also added a fix for pear because it conflicted with php4's pear. So it is customized and not supported by OpenPKG. I have attached my rpm specfile for php5 with my modifications, so use it at your own risk. You will also need to build from the source rpms. So minimally you would need to build apache and php like the following. openpkg rpm --rebuild --define "with_shared_core yes" apache-1.3.x.x.src.rpm # Install the php source RPM to your build area openpkg rpm -Uvh php5-5.x.x.src.rpm # change to your build area directory cd /your/path/RPM/SRC/php5 # Copy the attached specfile over the top of the distributed one, then build openpkg rpm -ba --define "with_apxs yes" --define "with_mysql yes" php5.spec These are only a reference and your installation may vary. If you aren't very experienced building openpkg software then it might be difficult. I created the specfile a few months ago, so I am not sure if it will work with the latest "current" revision of the openpkg php5 package. If you are using apache2 the use "with_apxs2 yes" instead. I have not tested it yet with apache2. Mark Keller
## ## php5.spec -- OpenPKG RPM Package Specification ## Copyright (c) 2000-2006 OpenPKG Foundation e.V. <http://openpkg.net/> ## Copyright (c) 2000-2006 Ralf S. Engelschall <http://engelschall.com/> ## ## Permission to use, copy, modify, and distribute this software for ## any purpose with or without fee is hereby granted, provided that ## the above copyright notice and this permission notice appear in all ## copies. ## ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ## SUCH DAMAGE. ## # package versions %define V_php 5.1.2 %define V_php_hardened 5.1.2-0.4.8 # package information Name: php5 Summary: Personal HomePage (PHP) URL: http://www.php.net/ Vendor: The PHP Project Packager: OpenPKG Distribution: OpenPKG Class: PLUS Group: Language License: PHP Version: %{V_php} Release: 20060303 # package options %option with_calendar no %option with_sqlite no %option with_mysql no %option with_pgsql no %option with_gd no %option with_bdb no %option with_zlib no %option with_bzip2 no %option with_ssl no %option with_openldap no %option with_openldapsasl no %option with_mm no %option with_pcre no %option with_ftp no %option with_oci8 no %option with_fastcgi no %option with_freetype no %option with_gettext no %option with_hardened no %option with_imap no %option with_xml no %option with_xslt no %option with_dom no %option with_bc no %option with_curl no %option with_mhash no %option with_mcrypt no %option with_wddx no %option with_gdbm no %option with_versioning no %option with_snmp no %option with_odbc no %option with_mbregex no %option with_mbstring no %option with_exif no %option with_iconv no %option with_sendmail no %option with_pear no %option with_apxs no %option with_apxs2 no # fixing implicit extension dependencies and correlations %if "%{with_pear}" == "yes" %undefine with_xml %define with_xml yes %undefine with_pcre %define with_pcre yes %endif %if "%{with_freetype}" == "yes" %undefine with_gd %define with_gd yes %endif %if "%{with_mysql}" == "yes" || "%{with_gd}" == "yes" || "%{with_dom}" == "yes" %undefine with_zlib %define with_zlib yes %endif %if "%{with_pgsql}" == "yes" %undefine with_ssl %define with_ssl yes %endif # list of sources Source0: http://static.php.net/www.php.net/distributions/php-%{V_php}.tar.gz Source1: php.ini Patch0: http://www.hardened-php.net/hardening-patch-%{V_php_hardened}.patch.gz # build information Prefix: %{l_prefix} BuildRoot: %{l_buildroot} BuildPreReq: OpenPKG, openpkg >= 2.3.0, gcc, flex, bison PreReq: OpenPKG, openpkg >= 2.3.0, MTA %if "%{with_sqlite}" == "yes" BuildPreReq: sqlite PreReq: sqlite %endif %if "%{with_mysql}" == "yes" BuildPreReq: mysql PreReq: mysql %endif %if "%{with_pgsql}" == "yes" BuildPreReq: postgresql PreReq: postgresql %endif %if "%{with_gd}" == "yes" BuildPreReq: gd >= 2.0.20, jpeg, png PreReq: gd >= 2.0.20, jpeg, png %endif %if "%{with_bdb}" == "yes" BuildPreReq: db PreReq: db %endif %if "%{with_zlib}" == "yes" BuildPreReq: zlib PreReq: zlib %endif %if "%{with_bzip2}" == "yes" BuildPreReq: bzip2 PreReq: bzip2 %endif %if "%{with_ssl}" == "yes" BuildPreReq: openssl PreReq: openssl %endif %if "%{with_openldap}" == "yes" BuildPreReq: openldap PreReq: openldap %if "%{with_openldapsasl}" == "yes" BuildPreReq: openldap::with_sasl = yes PreReq: openldap::with_sasl = yes %else BuildPreReq: openldap::with_sasl = no PreReq: openldap::with_sasl = no %endif %endif %if "%{with_mm}" == "yes" BuildPreReq: mm PreReq: mm %endif %if "%{with_pcre}" == "yes" BuildPreReq: pcre PreReq: pcre %endif %if "%{with_freetype}" == "yes" BuildPreReq: freetype PreReq: freetype %endif %if "%{with_gettext}" == "yes" BuildPreReq: gettext, libiconv PreReq: gettext, libiconv %endif %if "%{with_iconv}" == "yes" BuildPreReq: libiconv PreReq: libiconv %endif %if "%{with_imap}" == "yes" BuildPreReq: imap, openssl PreReq: imap, openssl %endif %if "%{with_xml}" == "yes" BuildPreReq: libxml PreReq: libxml %endif %if "%{with_xslt}" == "yes" BuildPreReq: libxslt PreReq: libxslt %endif %if "%{with_dom}" == "yes" BuildPreReq: libxml, libxslt PreReq: libxml, libxslt %endif %if "%{with_curl}" == "yes" BuildPreReq: curl PreReq: curl %endif %if "%{with_mhash}" == "yes" BuildPreReq: mhash PreReq: mhash %endif %if "%{with_mcrypt}" == "yes" BuildPreReq: libmcrypt PreReq: libmcrypt %endif %if "%{with_gdbm}" == "yes" BuildPreReq: gdbm, gdbm::with_ndbm = yes PreReq: gdbm, gdbm::with_ndbm = yes %endif %if "%{with_oci8}" == "yes" BuildPreReq: ORACLE PreReq: ORACLE %endif %if "%{with_snmp}" == "yes" BuildPreReq: snmp PreReq: snmp %endif %if "%{with_odbc}" == "yes" BuildPreReq: unixodbc PreReq: unixodbc %endif %if "%{with_sendmail}" == "yes" BuildPreReq: MTA PreReq: MTA %endif AutoReq: no AutoReqProv: no %if "%{with_apxs}" == "yes" BuildPreReq: apache,apache::with_shared_core PreReq: apache,apache::with_shared_core %endif %if "%{with_apxs2}" == "yes" BuildPreReq: apache2,apache2::with_shared_core PreReq: apache2,apache2::with_shared_core %endif %description PHP is an HTML-embedded scripting language. Much of its syntax is borrowed from C, Java and Perl with a couple of unique PHP-specific features thrown in. The goal of the language is to allow web developers to write dynamically generated pages quickly. This is the Command Line Interface (CLI) and Common Gateway Interface (CGI) version of PHP, intended for use in the "shebang" line ("#!%{l_prefix}/bin/php") of stand-alone PHP based programs and for use in the "shebang" line ("#!%{l_prefix}/cgi/php") of stand-alone webserver-independent CGI scripts. %track prog php5 = { version = %{V_php} url = http://www.php.net/downloads.php regex = php-(5.\d+\.\d+)\.tar\.gz } prog php5:hardened = { version = %{V_php_hardened} url = http://www.hardened-php.net/downloads.13.html regex = hardening-patch-(5\.\d+\.\d+-\d+(\.\d+)+)\.patch\.gz } %prep %setup -q -n php-%{version} %if "%{with_hardened}" == "yes" %patch -p1 %endif %{l_shtool} subst \ -e 's;\(/include\)/freetype2;\1;' \ configure \ ext/gd/config.m4 %build # configure package cflags="%{l_cflags -O}" cppflags="%{l_cppflags}" ldflags="%{l_ldflags}" libs="" %if "%{with_gdbm}" == "yes" libs="$libs -lndbm -lgdbm" %endif %if "%{with_gd}" == "yes" libs="$libs -lpng -lz" %endif %if "%{with_gettext}" == "yes" libs="$libs -liconv" %endif %if "%{with_openldap}" == "yes" && "%{with_openldapsasl}" == "yes" libs="$libs -lsasl2" %endif %if "%{with_imap}" == "yes" libs="$libs -lssl -lcrypto" %endif %if "%{with_bdb}" == "yes" libs="$libs -ldb" case "%{l_platform -t}" in sun4*-sunos5.9* ) libs="$libs -lrt" ;; esac %endif %if "%{with_oci8}" == "yes" ORACLE_HOME="`%{l_rc} --query oracle_home`" export ORACLE_HOME %endif CC="%{l_cc}" \ CFLAGS="$cflags" \ CPPFLAGS="$cppflags" \ LDFLAGS="$ldflags" \ LIBS="$libs" \ %if "%{with_sendmail}" == "yes" PROG_SENDMAIL="%{l_prefix}/sbin/sendmail" \ %else PROG_SENDMAIL="`%{l_shtool} path false`" \ %endif ./configure \ --prefix=%{l_prefix} \ --sysconfdir=%{l_prefix}/etc/php5 \ --with-config-file-path=%{l_prefix}/etc/php5 \ --libdir=%{l_prefix}/lib/php5 \ --disable-all \ --enable-pdo \ %if "%{with_calendar}" == "yes" --enable-calendar \ %endif %if "%{with_sqlite}" == "yes" --with-sqlite=%{l_prefix} \ --with-pdo-sqlite=%{l_prefix} \ %else --without-sqlite \ %endif %if "%{with_mysql}" == "yes" --with-mysql=%{l_prefix} \ --with-pdo-mysql=%{l_prefix} \ %else --without-mysql \ %endif %if "%{with_pgsql}" == "yes" --with-pgsql=%{l_prefix} \ --with-pdo-pgsql=%{l_prefix} \ %else --without-pgsql \ %endif %if "%{with_gd}" == "yes" --with-gd=%{l_prefix} \ --with-jpeg-dir=%{l_prefix} \ --with-png-dir=%{l_prefix} \ %endif %if "%{with_fastcgi}" == "yes" --enable-fastcgi \ %else --disable-fastcgi \ %endif %if "%{with_freetype}" == "yes" --enable-gd-native-ttf \ --with-freetype-dir=%{l_prefix} \ %endif %if "%{with_bdb}" == "yes" --with-db4=%{l_prefix} \ %endif %if "%{with_zlib}" == "yes" --with-zlib=%{l_prefix} \ --with-zlib-dir=%{l_prefix} \ %endif %if "%{with_bzip2}" == "yes" --with-bz2=%{l_prefix} \ %endif %if "%{with_ssl}" == "yes" || "%{with_openldap}" == "yes" --with-openssl=%{l_prefix} \ %endif %if "%{with_openldap}" == "yes" --with-ldap=%{l_prefix} \ %endif %if "%{with_mm}" == "yes" --with-mm=%{l_prefix} \ --enable-session \ %endif %if "%{with_pcre}" == "yes" --with-pcre-regex=%{l_prefix} \ %endif %if "%{with_ftp}" == "yes" --enable-ftp \ %endif %if "%{with_oci8}" == "yes" --with-oci8 \ %endif %if "%{with_gettext}" == "yes" --with-gettext=%{l_prefix} \ %endif %if "%{with_imap}" == "yes" --with-imap=%{l_prefix} \ --with-imap-ssl=%{l_prefix} \ %endif %if "%{with_xml}" == "yes" --enable-xml \ --enable-libxml \ --with-libxml-dir=%{l_prefix} \ %else --disable-xml \ %endif %if "%{with_xslt}" == "yes" --with-xsl=%{l_prefix} \ %else --without-xsl \ %endif %if "%{with_dom}" == "yes" --enable-dom \ --with-libxml-dir=%{l_prefix} \ %else --disable-dom \ %endif %if "%{with_wddx}" == "yes" --enable-wddx \ %endif %if "%{with_bc}" == "yes" --enable-bcmath \ %endif %if "%{with_mhash}" == "yes" --with-mhash=%{l_prefix} \ %endif %if "%{with_mcrypt}" == "yes" --with-mcrypt=%{l_prefix} \ %endif %if "%{with_curl}" == "yes" --with-curl=%{l_prefix} \ %endif %if "%{with_gdbm}" == "yes" --with-gdbm=%{l_prefix} \ %endif %if "%{with_versioning}" == "yes" --enable-versioning \ %endif %if "%{with_pear}" == "yes" --with-pear=%{l_prefix}/lib/php5 \ %else --without-pear \ %endif %if "%{with_snmp}" == "yes" --with-snmp=%{l_prefix} \ --with-openssl-dir=%{l_prefix} \ %endif %if "%{with_odbc}" == "yes" --with-unixODBC=%{l_prefix} \ --with-pdo-odbc=unixODBC,%{l_prefix} \ %endif %if "%{with_mbregex}" == "yes" --enable-mbregex \ %endif %if "%{with_mbstring}" == "yes" --enable-mbstring \ %endif %if "%{with_exif}" == "yes" --with-exif \ %endif %if "%{with_iconv}" == "yes" --with-iconv=%{l_prefix} \ %endif %if "%{with_apxs}" == "yes" --with-apxs \ %endif %if "%{with_apxs2}" == "yes" --with-apxs2 \ %endif %if "%{with_apxs}" == "no" && "%{with_apxs2}" == "no" --enable-cgi \ --enable-force-cgi-redirect \ %endif --enable-cli \ --enable-discard-path \ --enable-memory-limit # build package %{l_make} %{l_mflags} %install # install package rm -rf $RPM_BUILD_ROOT %if "%{with_apxs}" == "yes" || "%{with_apxs2}" == "yes" # Make sure apxs doesn't try to edit the httpd.conf durin %{l_shtool} subst \ -e 's;\(^INSTALL_IT.*apxs.*\)-a\(.*-n.*\);\1 \2;' \ Makefile %endif %{l_make} %{l_mflags} install INSTALL_ROOT=$RPM_BUILD_ROOT # install CLI version # ("make install" incorrectly installs the CGI version into bin/php!) %{l_shtool} mkdir -f -p -m 755 \ $RPM_BUILD_ROOT%{l_prefix}/bin \ $RPM_BUILD_ROOT%{l_prefix}/man/man1 %{l_shtool} install -c -s -m 755 \ sapi/cli/php $RPM_BUILD_ROOT%{l_prefix}/bin/php5 mv $RPM_BUILD_ROOT%{l_prefix}/man/man1/php.1 \ $RPM_BUILD_ROOT%{l_prefix}/man/man1/php5.1 %if "%{with_apxs}" == "no" && "%{with_apxs2}" == "no" # (re)install CGI version %{l_shtool} mkdir -f -p -m 755 \ $RPM_BUILD_ROOT%{l_prefix}/cgi %{l_shtool} install -c -s -m 755 \ sapi/cgi/php $RPM_BUILD_ROOT%{l_prefix}/cgi/php5 %endif # adjust paths mv $RPM_BUILD_ROOT%{l_prefix}/include/php \ $RPM_BUILD_ROOT%{l_prefix}/include/php5 %{l_shtool} subst \ -e 's;/include/php;/include/php5;g' \ $RPM_BUILD_ROOT%{l_prefix}/bin/phpize \ $RPM_BUILD_ROOT%{l_prefix}/bin/php-config for bin in php php-config phpize; do mv $RPM_BUILD_ROOT%{l_prefix}/bin/$bin \ $RPM_BUILD_ROOT%{l_prefix}/bin/`echo $bin | sed -e 's;^php;php5;'` done %if "%{with_pear}" == "yes" for bin in pear peardev; do mv $RPM_BUILD_ROOT%{l_prefix}/bin/$bin \ $RPM_BUILD_ROOT%{l_prefix}/bin/`echo $bin | sed -e 's;^pear;pear5;'` done %endif # install default configuration file %{l_shtool} mkdir -f -p -m 755 \ $RPM_BUILD_ROOT%{l_prefix}/etc/php5 %{l_shtool} install -c -m 644 %{l_value -s -a} \ %{SOURCE php.ini} $RPM_BUILD_ROOT%{l_prefix}/etc/php5/ # strip down installation rmdir $RPM_BUILD_ROOT%{l_prefix}/lib/php >/dev/null 2>&1 || true strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true # determine installation files %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} \ '%config %{l_prefix}/etc/php5/*' %files -f files %clean rm -rf $RPM_BUILD_ROOT