## ## apache-php4.spec -- OpenPKG RPM Package Specification ## Copyright (c) 2000-2007 OpenPKG Foundation e.V. ## Copyright (c) 2000-2007 Ralf S. Engelschall ## ## 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. ## ## ATTENTION: This package specification is a cruel one. It allows ## one to build an Apache package in hundreds of variants with just ## a single specification through the use of lots of condition ## variables. The reason for this attempt is that it was born out of ## the needs from the daily practice at an ISP. So do not treat this ## specification as a reference example of any kind, except perhaps as ## a example of what is maximum possible with RPM and how far one can ## go with the macro mechanism. But do not try to repeat this! # package component versions %define V_apache 1.3.37 %define V_mod_access_referer 1.0.2 %define V_mod_auth_kerb 5.3 %define V_mod_auth_ldap 2.4.2 %define V_mod_auth_mysql 3.0.0 %define V_mod_auth_pam 1.1.1 %define V_mod_auth_radius 1.5.7 %define V_mod_dav 1.0.3-1.3.6 %define V_mod_evasive 1.10.1 %define V_mod_fastcgi 2.4.2 %define V_mod_gzip 1.3.26.1a %define V_mod_layout 3.3 %define V_mod_macro 1.1.2 %define V_mod_perl 1.29 %define V_mod_php 4.4.6 %define V_mod_php_hardened 4.4.4-0.4.15 %define V_mod_php_suhosin_e 0.9.18 %define V_mod_php_suhosin_p 4.4.6-0.9.6 %define V_mod_relocate 1.0 %define V_mod_roaming 1.0.2 %define V_mod_security 1.9.4 %define V_mod_ssl 2.8.28-1.3.37 %define V_mod_throttle 312 %define V_suphp 0.6.2 # package information Name: apache-php4 Summary: Apache HTTP Server providing optional PHP4 support (legacy) URL: http://httpd.apache.org/ Vendor: Apache Software Foundation Packager: OpenPKG Foundation e.V. Distribution: OpenPKG Community Class: PLUS Group: Web License: ASF Version: %{V_apache} Release: 20070329 # package options (suexec related) %option with_suexec yes %option with_suexec_caller %{l_nusr} %option with_suexec_userdir public_html # package options (suphp related) %option with_suphp no %option with_suphp_caller %{l_nusr} %option with_suphp_phpcgi %{l_prefix}/cgi/php %option with_suphp_ugid_mode paranoid %option with_suphp_ugid_check yes # package options (additionally used Apache modules; can be enabled without thinking) %option with_mod_dav no %option with_mod_define no %option with_mod_layout no %option with_mod_macro no %option with_mod_perl no %option with_mod_php no %option with_mod_ssl no # package options (additionally used Apache modules; you have to know what you do) %option with_mod_access_referer no %option with_mod_auth_kerb no %option with_mod_auth_ldap no %option with_mod_auth_mysql no %option with_mod_auth_pam no %option with_mod_auth_radius no %option with_mod_evasive no %option with_mod_fastcgi no %option with_mod_gzip no %option with_mod_owa no %option with_mod_relocate no %option with_mod_roaming no %option with_mod_security no %option with_mod_throttle no # package options (optional PHP4 specific settings; requires "with_mod_php") # please note the lack of an PEAR option since PEAR is provided by the 'php' package %option with_mod_php_bc no %option with_mod_php_bdb no %option with_mod_php_bzip2 no %option with_mod_php_calendar no %option with_mod_php_crack no %option with_mod_php_curl no %option with_mod_php_debug no %option with_mod_php_dom no %option with_mod_php_exif no %option with_mod_php_freetype no %option with_mod_php_ftp no %option with_mod_php_gd no %option with_mod_php_gdbm no %option with_mod_php_gettext no %option with_mod_php_hardened no %option with_mod_php_iconv no %option with_mod_php_imap no %option with_mod_php_java no %option with_mod_php_mbregex no %option with_mod_php_mbstring no %option with_mod_php_mcrypt no %option with_mod_php_mhash no %option with_mod_php_mm no %option with_mod_php_mssql no %option with_mod_php_mysql no %option with_mod_php_oci7 no %option with_mod_php_oci8 no %option with_mod_php_odbc no %option with_mod_php_openldap no %option with_mod_php_openldapsasl no %option with_mod_php_pcre no %option with_mod_php_pdflib no %option with_mod_php_pgsql no %option with_mod_php_sendmail no %option with_mod_php_snmp no %option with_mod_php_ssl no %option with_mod_php_suhosin no %option with_mod_php_t1lib no %option with_mod_php_transsid no %option with_mod_php_versioning no %option with_mod_php_wddx no %option with_mod_php_xml no %option with_mod_php_xslt no %option with_mod_php_zlib no # package options (braindead ones only) %option with_gdbm_ndbm yes %option with_shared_core no %option with_shared_chain no # package options (debugging) %option with_debug no # fixing implicit inter-module dependencies and correlations %if "%{with_mod_php}" == "yes" %if "%{with_mod_php_freetype}" == "yes" %undefine with_mod_php_gd %define with_mod_php_gd yes %endif %if "%{with_mod_php_gdbm}" == "yes" %undefine with_gdbm_ndbm %define with_gdbm_ndbm yes %endif %if "%{with_mod_php_mysql}" == "yes" || "%{with_mod_php_pdflib}" == "yes" || "%{with_mod_php_gd}" == "yes" || "%{with_mod_php_dom}" == "yes" %undefine with_mod_php_zlib %define with_mod_php_zlib yes %endif %if "%{with_mod_php_pgsql}" == "yes" %undefine with_mod_php_ssl %define with_mod_php_ssl yes %endif %if "%{with_mod_ssl}" == "yes" %undefine with_mod_php_ssl %undefine with_mod_php_mm %define with_mod_php_ssl yes %define with_mod_php_mm yes %endif %if "%{with_mod_php_suhosin}" == "yes" && "%{with_mod_php_hardened}" == "yes" %undefine with_mod_php_hardened %define with_mod_php_hardened no %endif %endif %if "%{with_mod_ssl}" == "yes" %undefine with_mod_define %define with_mod_define yes %endif # list of sources Source0: http://www.apache.org/dist/httpd/apache_%{V_apache}.tar.gz Source1: http://www.modssl.org/source/mod_ssl-%{V_mod_ssl}.tar.gz Source2: http://perl.apache.org/dist/mod_perl-%{V_mod_perl}.tar.gz Source3: http://static.php.net/www.php.net/distributions/php-%{V_mod_php}.tar.gz Source4: http://www.webdav.org/mod_dav/mod_dav-%{V_mod_dav}.tar.gz Source5: http://download.tangent.org/mod_layout-%{V_mod_layout}.tar.gz Source6: http://www.cri.ensmp.fr/~coelho/mod_macro/mod_macro-%{V_mod_macro}.tar.gz Source7: http://pam.sourceforge.net/mod_auth_pam/dist/mod_auth_pam.tar.gz Source8: http://switch.dl.sourceforge.net/sourceforge/mod-gzip/mod_gzip-%{V_mod_gzip}.tgz Source9: http://www.fastcgi.com/dist/mod_fastcgi-%{V_mod_fastcgi}.tar.gz Source10: http://www.snert.com/Software/mod_throttle/mod_throttle%{V_mod_throttle}.tgz Source11: http://switch.dl.sourceforge.net/accessreferer/mod_access_referer-%{V_mod_access_referer}.tar.gz Source12: http://www.klomp.org/mod_roaming/mod_roaming-%{V_mod_roaming}.tar.gz Source13: http://software.tangent.org/download/mod_relocate-%{V_mod_relocate}.tar.gz Source14: http://www.muquit.com/muquit/software/mod_auth_ldap/mod_auth_ldap.tar.gz Source15: ftp://ftp.freeradius.org/pub/radius/mod_auth_radius-%{V_mod_auth_radius}.tar Source16: http://switch.dl.sourceforge.net/modauthmysql/mod_auth_mysql-%{V_mod_auth_mysql}.tar.gz Source17: http://www.suphp.org/download/suphp-%{V_suphp}.tar.gz Source18: http://www.modsecurity.org/download/modsecurity-apache_%{V_mod_security}.tar.gz Source19: http://www.zdziarski.com/projects/mod_evasive/mod_evasive_%{V_mod_evasive}.tar.gz Source20: http://www.sharemation.com/~dmcmahon/unix_all.tgz Source21: http://www.hardened-php.net/suhosin/_media/suhosin-%{V_mod_php_suhosin_e}.tgz Source22: http://switch.dl.sourceforge.net/modauthkerb/mod_auth_kerb-%{V_mod_auth_kerb}.tar.gz Source23: apache.conf Source24: apache.base Source25: apache.pl Source26: rc.apache Source27: apache.sh Source28: php.ini Patch0: apache-php4.patch Patch1: apache-php4.patch.modowa Patch2: http://www.hardened-php.net/hardening-patch-%{V_mod_php_hardened}.patch.gz Patch3: http://www.hardened-php.net/suhosin/_media/suhosin-patch-%{V_mod_php_suhosin_p}.patch.gz Patch4: apache-php4.patch.suphp Patch5: apache-php4.patch.php Patch6: apache-php4.patch.modauthkerb Patch7: apache-php4.patch.modauthradius Patch8: apache-php4.patch.modssl Patch9: apache-php4.patch.modperl # build information Prefix: %{l_prefix} BuildRoot: %{l_buildroot} BuildPreReq: OpenPKG, openpkg >= 20060823 PreReq: OpenPKG, openpkg >= 20060823 %if "%{with_gdbm_ndbm}" == "yes" BuildPreReq: gdbm, gdbm::with_ndbm = yes PreReq: gdbm, gdbm::with_ndbm = yes %endif %if "%{with_mod_auth_kerb}" == "yes" BuildPreReq: kerberos PreReq: kerberos %endif %if "%{with_mod_auth_ldap}" == "yes" BuildPreReq: openldap, openssl PreReq: openldap, openssl %endif %if "%{with_mod_auth_mysql}" == "yes" BuildPreReq: mysql PreReq: mysql %endif %if "%{with_mod_auth_pam}" == "yes" BuildPreReq: PAM PreReq: PAM %endif %if "%{with_mod_dav}" == "yes" BuildPreReq: expat PreReq: expat %endif %if "%{with_mod_owa}" == "yes" BuildPreReq: oracle PreReq: oracle %endif %if "%{with_mod_perl}" == "yes" BuildPreReq: perl PreReq: perl %endif %if "%{with_mod_php}" == "yes" BuildPreReq: gcc, sed, flex, bison %if "%{with_mod_php_bdb}" == "yes" BuildPreReq: db PreReq: db %endif %if "%{with_mod_php_bzip2}" == "yes" BuildPreReq: bzip2 PreReq: bzip2 %endif %if "%{with_mod_php_crack}" == "yes" BuildPreReq: cracklib PreReq: cracklib %endif %if "%{with_mod_php_curl}" == "yes" BuildPreReq: curl PreReq: curl %endif %if "%{with_mod_php_xml}" == "yes" BuildPreReq: expat PreReq: expat %endif %if "%{with_mod_php_dom}" == "yes" BuildPreReq: libxml, libxslt PreReq: libxml, libxslt %endif %if "%{with_mod_php_freetype}" == "yes" BuildPreReq: freetype PreReq: freetype %endif %if "%{with_mod_php_gd}" == "yes" BuildPreReq: gd >= 2.0.20, jpeg, png PreReq: gd >= 2.0.20, jpeg, png %endif %if "%{with_mod_php_gdbm}" == "yes" BuildPreReq: gdbm PreReq: gdbm %endif %if "%{with_mod_php_gettext}" == "yes" BuildPreReq: gettext, libiconv PreReq: gettext, libiconv %endif %if "%{with_mod_php_iconv}" == "yes" BuildPreReq: libiconv PreReq: libiconv %endif %if "%{with_mod_php_imap}" == "yes" BuildPreReq: imap, openssl PreReq: imap, openssl %endif %if "%{with_mod_php_java}" == "yes" BuildPreReq: j2se PreReq: j2se %endif %if "%{with_mod_php_mcrypt}" == "yes" BuildPreReq: libmcrypt PreReq: libmcrypt %endif %if "%{with_mod_php_mhash}" == "yes" BuildPreReq: mhash PreReq: mhash %endif %if "%{with_mod_php_mm}" == "yes" BuildPreReq: mm PreReq: mm %endif %if "%{with_mod_php_mssql}" == "yes" BuildPreReq: freetds, libiconv PreReq: freetds, libiconv %endif %if "%{with_mod_php_mysql}" == "yes" BuildPreReq: mysql PreReq: mysql %endif %if "%{with_mod_php_oci7}" == "yes" || "%{with_mod_php_oci8}" == "yes" BuildPreReq: oracle PreReq: oracle %endif %if "%{with_mod_php_odbc}" == "yes" BuildPreReq: unixodbc PreReq: unixodbc %endif %if "%{with_mod_php_openldap}" == "yes" BuildPreReq: openldap, openssl PreReq: openldap, openssl %if "%{with_mod_php_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_mod_php_pcre}" == "yes" BuildPreReq: pcre PreReq: pcre %endif %if "%{with_mod_php_pdflib}" == "yes" BuildPreReq: pdflib, jpeg, png PreReq: pdflib, jpeg, png %endif %if "%{with_mod_php_pgsql}" == "yes" BuildPreReq: postgresql, openssl PreReq: postgresql, openssl %endif %if "%{with_mod_php_sendmail}" == "yes" BuildPreReq: MTA PreReq: MTA %endif %if "%{with_mod_php_snmp}" == "yes" BuildPreReq: snmp PreReq: snmp %endif %if "%{with_mod_php_ssl}" == "yes" BuildPreReq: openssl PreReq: openssl %endif %if "%{with_mod_php_suhosin}" == "yes" BuildPreReq: autoconf %endif %if "%{with_mod_php_t1lib}" == "yes" BuildPreReq: t1lib PreReq: t1lib %endif %if "%{with_mod_php_xslt}" == "yes" BuildPreReq: sablotron, expat, libiconv, gcc::with_cxx = yes PreReq: sablotron, expat, libiconv %endif %if "%{with_mod_php_zlib}" == "yes" BuildPreReq: zlib PreReq: zlib %endif %endif %if "%{with_mod_ssl}" == "yes" BuildPreReq: openssl, mm PreReq: openssl, mm %endif %if "%{with_suphp}" == "yes" BuildPreReq: php, gcc, gcc::with_cxx = yes PreReq: php %endif AutoReq: no AutoReqProv: no Provides: apache = %{version}-%{release} %description The Apache Project is a collaborative software development effort aimed at creating a robust, commercial-grade, featureful, and freely-available source code implementation of an HTTP (Web) server. The project is jointly managed by a group of volunteers located around the world, using the Internet and the Web to communicate, plan, and develop the server and its related documentation. These volunteers are known as the Apache Group. In addition, hundreds of users have contributed ideas, code, and documentation to the project. %track prog apache-php4 = { version = %{version} url = http://www.apache.org/dist/httpd/ regex = apache_(__VER__)\.tar\.gz } prog apache-php4:mod_access_referer = { version = %{V_mod_roaming} url = http://prdownloads.sourceforge.net/accessreferer/ regex = mod_access_referer-(__VER__)\.tar\.gz } prog apache-php4:mod_auth_mysql = { version = %{V_mod_auth_mysql} url = http://prdownloads.sourceforge.net/modauthmysql/ regex = mod_auth_mysql-(__VER__)\.tar\.gz } prog apache-php4:mod_auth_radius = { version = %{V_mod_auth_radius} url = ftp://ftp.freeradius.org/pub/radius/ regex = mod_auth_radius-(__VER__)\.tar } prog apache-php4:mod_auth_kerb = { version = %{V_mod_auth_kerb} url = http://prdownloads.sourceforge.net/modauthkerb/ regex = mod_auth_kerb-(__VER__)\.tar } prog apache-php4:mod_dav = { version = %{V_mod_dav} url = http://www.webdav.org/mod_dav/ regex = mod_dav-(__VER__)\.tar\.gz } prog apache-php4:mod_gzip = { version = %{V_mod_gzip} url = http://prdownloads.sourceforge.net/mod-gzip/ regex = mod_gzip-(__VER__)\.tgz } prog apache-php4:mod_fastcgi = { version = %{V_mod_fastcgi} url = http://www.fastcgi.com/dist/ regex = mod_fastcgi-(__VER__)\.tar\.gz } prog apache-php4:mod_layout = { version = %{V_mod_layout} url = http://download.tangent.org/ regex = mod_layout-(3\.[\d.]+)\.tar\.gz } prog apache-php4:mod_macro = { disabled comment = "rse: Apache 1.3 support stopped with version 1.1.2" version = %{V_mod_macro} url = http://www.cri.ensmp.fr/~coelho/mod_macro/ regex = mod_macro-(__VER__)\.tar\.gz } prog apache-php4:mod_perl = { version = %{V_mod_perl} url = http://perl.apache.org/dist/ regex = mod_perl-(1\.\d+)\.tar\.gz } prog apache-php4:mod_php = { version = %{V_mod_php} url = http://www.php.net/downloads.php regex = php-(4\.\d+\.\d+)\.tar\.gz } prog apache-php4:mod_php_hardened = { comment = "cs: year 2006 -> 2007 substitution probably obselete with next release" version = %{V_mod_php_hardened} url = http://www.hardened-php.net/downloads.13.html regex = hardening-patch-(4\.\d+\.\d+-\d+(\.\d+)+)\.patch\.gz } prog apache-php4:mod_php_suhosin-patch = { version = %{V_mod_php_suhosin_p} url = http://www.hardened-php.net/suhosin/download.html regex = suhosin-patch-(4\.\d+\.\d+-\d+(\.\d+)+)\.patch\.gz } prog apache-php4:mod_php_suhosin-ext = { version = %{V_mod_php_suhosin_e} url = http://www.hardened-php.net/suhosin/download.html regex = suhosin-(\d+(\.\d+)+)\.tgz } prog apache-php4:mod_relocate = { version = %{V_mod_relocate} url = http://software.tangent.org/download/ regex = mod_relocate-(__VER__)\.tar\.gz } prog apache-php4:mod_roaming = { version = %{V_mod_roaming} url = http://www.klomp.org/mod_roaming/ regex = mod_roaming-(1\.\d+\.\d+)\.tar\.gz } prog apache-php4:mod_ssl = { version = %{V_mod_ssl} url = http://www.modssl.org/source/ regex = mod_ssl-(__VER__)\.tar\.gz } prog apache-php4:mod_throttle = { disabled comment = "rse: currently no longer publically available" version = %{V_mod_throttle} url = http://www.snert.com/Software/mod_throttle/ regex = mod_throttle(__VER__)\.tgz } prog apache-php4:suphp = { version = %{V_suphp} url = http://www.suphp.org/Download.html regex = suphp-(__VER__)\.tar\.gz } prog apache-php4:mod_security = { version = %{V_mod_security} url = http://www.modsecurity.org/download/ regex = modsecurity-apache_(1\.\d+(\.\d+)*)\.tar\.gz } prog apache-php4:mod_evasive = { version = %{V_mod_evasive} url = http://www.zdziarski.com/projects/mod_evasive/ regex = mod_evasive[._-](__VER__)\.tar\.gz } %prep # unpack Apache distribution %setup -q -c %patch -p0 %{l_shtool} subst \ -e 's;"Unix";"%{l_openpkg_release -F "OpenPKG/%%t"}";g' \ apache_%{V_apache}/src/os/unix/os.h # unpack optional extension modules %if "%{with_mod_ssl}" == "yes" || "%{with_mod_define}" == "yes" %setup -q -T -D -a 1 %patch -p0 -d mod_ssl-%{V_mod_ssl} -P 8 %endif %if "%{with_mod_perl}" == "yes" %setup -q -T -D -a 2 %patch -p0 -d mod_perl-%{V_mod_perl} -P 9 %endif %if "%{with_mod_php}" == "yes" %setup -q -T -D -a 3 ( cd php-%{V_mod_php} %if "%{with_mod_php_hardened}" == "yes" # substitude year 2006 -> 2007 to make Hardening patch apply on # recent versions of PHP %{l_gzip} -dc %{PATCH2} |\ %{l_sed} -e 's;\(1997-200\)6\( The PHP Group\);\17\2;'g |\ %{l_patch} -p1 -b %endif %if "%{with_mod_php_suhosin}" == "yes" %{l_gzip} -d -c %{SOURCE21} | %{l_tar} xf - %patch -p1 -P 3 mv suhosin-%{V_mod_php_suhosin_e} ext/suhosin rm -f package.xml export PHP_AUTOCONF=autoconf-213 ./buildconf --copy --force $PHP_AUTOCONF %endif %patch -p0 -P 5 %{l_shtool} subst \ -e 's;\(/include\)/freetype2;\1;' \ configure \ ext/gd/config.m4 %if "%{with_mod_php_mssql}" == "yes" %{l_shtool} subst \ -e 's;\($PHP_MSSQL/include/\)\(tds.h\);\1freetds/\2;g' \ -e 's;\($FREETDS_INSTALLATION_DIR/lib/\)\(libtds.a\);\1freetds/\2;g' \ -e 's;\(MSSQL_INCDIR=$FREETDS_INSTALLATION_DIR/include\);\1/freetds;' \ -e 's;\(MSSQL_LIBDIR=$FREETDS_INSTALLATION_DIR/lib\);\1/freetds;' \ configure %{l_shtool} subst \ -e 's;^typedef short SHORT\;;;' \ ext/mssql/php_mssql.h %endif ) || exit $? %endif %if "%{with_mod_dav}" == "yes" %setup -q -T -D -a 4 %endif %if "%{with_mod_layout}" == "yes" %setup -q -T -D -a 5 %endif %if "%{with_mod_macro}" == "yes" %setup -q -T -D -a 6 %endif %if "%{with_mod_auth_pam}" == "yes" %setup -q -T -D -a 7 %endif %if "%{with_mod_gzip}" == "yes" %setup -q -T -D -a 8 %endif %if "%{with_mod_fastcgi}" == "yes" %setup -q -T -D -a 9 %endif %if "%{with_mod_throttle}" == "yes" %setup -q -T -D -a 10 %endif %if "%{with_mod_access_referer}" == "yes" %setup -q -T -D -a 11 %endif %if "%{with_mod_roaming}" == "yes" %setup -q -T -D -a 12 %endif %if "%{with_mod_relocate}" == "yes" %setup -q -T -D -a 13 %endif %if "%{with_mod_auth_ldap}" == "yes" %setup -q -T -D -a 14 %endif %if "%{with_mod_auth_radius}" == "yes" %setup -q -T -D -a 15 %patch -p0 -d mod_auth_radius-%{V_mod_auth_radius} -P 7 %endif %if "%{with_mod_auth_mysql}" == "yes" %setup -q -T -D -a 16 %endif %if "%{with_suphp}" == "yes" %setup -q -T -D -a 17 %patch -p0 -d suphp-%{V_suphp} -P 4 %endif %if "%{with_mod_security}" == "yes" %setup -q -T -D -a 18 %endif %if "%{with_mod_evasive}" == "yes" %setup -q -T -D -a 19 %endif %if "%{with_mod_owa}" == "yes" %setup -q -T -D -a 20 sed <%{PATCH apache-php4.patch.modowa} \ -e "s;@l_oracle_cflags@;`%{l_rc} --query oracle_cflags`;g" |\ %{l_patch} -p0 %endif %if "%{with_mod_auth_kerb}" == "yes" %setup -q -T -D -a 22 %patch -p0 -d mod_auth_kerb-%{V_mod_auth_kerb} -P 6 %endif %build # prepare environment rm -rf $RPM_BUILD_ROOT %{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix} # optionally prepare mod_ssl or mod_define %if "%{with_mod_ssl}" == "yes" || "%{with_mod_define}" == "yes" ( cd mod_ssl-%{V_mod_ssl} ./configure \ --with-apache=../apache_%{V_apache} \ %if "%{with_mod_ssl}" != "yes" --with-eapi-only \ %endif --expert --force ) || exit $? %endif # optionally pre-configure Apache for mod_php and mod_dav %if "%{with_mod_php}" == "yes" || "%{with_mod_dav}" == "yes" ( cd apache_%{V_apache} CC="%{l_cc}" \ %if "%{with_debug}" == "yes" CFLAGS="%{l_cflags} -g" \ %else CFLAGS="%{l_cflags -O}" \ %endif ./configure \ %if "%{with_mod_ssl}" == "yes" || "%{with_mod_define}" == "yes" --enable-rule=EAPI \ %endif %if "%{with_shared_core}" == "yes" --enable-rule=SHARED_CORE \ %endif %if "%{with_shared_chain}" == "yes" --enable-rule=SHARED_CHAIN \ %endif --target=apache \ --with-layout=GNU \ --prefix=%{l_prefix} \ --sbindir=%{l_prefix}/sbin \ --sysconfdir=%{l_prefix}/etc/apache \ --libexecdir=%{l_prefix}/lib/apache \ --datadir=%{l_prefix}/share/apache \ --localstatedir=%{l_prefix}/var/apache ) || exit $? %endif # optionally prepare mod_perl %if "%{with_mod_perl}" == "yes" ( cd mod_perl-%{V_mod_perl} eval `%{l_prefix}/bin/perl -V:archname` eval `%{l_prefix}/bin/perl -V:version` eval `%{l_prefix}/bin/perl -V:installarchlib -V:installprivlib -V:installsitearch -V:installsitelib` %{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/bin perl=$RPM_BUILD_ROOT%{l_prefix}/bin/perl echo "#!/bin/sh" >$perl echo "exec %{l_prefix}/bin/perl \\" >>$perl echo " -I${RPM_BUILD_ROOT}${installarchlib} \\" >>$perl echo " -I${RPM_BUILD_ROOT}${installprivlib} \\" >>$perl echo " -I${RPM_BUILD_ROOT}${installsitearch} \\" >>$perl echo " -I${RPM_BUILD_ROOT}${installsitelib} \\" >>$perl echo " \"\$@\"" >>$perl chmod a+x $perl $perl Makefile.PL \ PREFIX=$RPM_BUILD_ROOT%{l_prefix} \ APACHE_SRC=../apache_%{V_apache}/src \ DO_HTTPD=1 \ USE_APACI=1 \ PREP_HTTPD=1 \ EVERYTHING=1 \ PERL_TIE_TABLES=1 \ PERL_DIRECTIVE_HANDLERS=1 %{l_make} %{l_mflags} %{l_make} %{l_mflags} install rm -rf $RPM_BUILD_ROOT%{l_prefix}/man/man3 %{l_shtool} subst -e "s;^\\(PERL = \\).*;\\1 $perl;" \ ../apache_%{V_apache}/src/modules/perl/mod_perl.config ) || exit $? %endif # optionally prepare mod_php %if "%{with_mod_php}" == "yes" ( cd php-%{V_mod_php} CC="%{l_cc}"; export CC %if "%{with_debug}" == "yes" CFLAGS="%{l_cflags} -g %{l_cppflags}"; export CFLAGS CPPFLAGS="%{l_cflags} -g %{l_cppflags}"; export CPPFLAGS LDFLAGS="%{l_cflags} -g %{l_ldflags}"; export LDFLAGS %else CFLAGS="%{l_cflags -O} %{l_cppflags}"; export CFLAGS CPPFLAGS="%{l_cflags -O} %{l_cppflags}"; export CPPFLAGS LDFLAGS="%{l_cflags -O} %{l_ldflags}"; export LDFLAGS %endif LIBS=""; export LIBS %if "%{with_mod_ssl}" == "yes" || "%{with_mod_define}" == "yes" CFLAGS="$CFLAGS -DEAPI" %endif %if "%{with_mod_php_gd}" == "yes" || "%{with_mod_php_pdflib}" == "yes" LIBS="$LIBS -lpng -lz" %endif %if "%{with_mod_php_gettext}" == "yes" || "%{with_mod_php_mssql}" == "yes" LIBS="$LIBS -liconv" %endif %if "%{with_mod_php_openldap}" == "yes" && "%{with_mod_php_openldapsasl}" == "yes" LIBS="$LIBS -lsasl2" %endif %if "%{with_mod_php_imap}" == "yes" LIBS="$LIBS -lssl -lcrypto" %endif %if "%{with_mod_php_bdb}" == "yes" LIBS="$LIBS -ldb" %endif %if "%{with_mod_php_oci7}" == "yes" || "%{with_mod_php_oci8}" == "yes" ORACLE_HOME="`%{l_rc} --query oracle_home`" export ORACLE_HOME oracle_libdir="`%{l_rc} --query oracle_libdir`" case "$oracle_libdir" in */lib32 ) %{l_shtool} subst \ -e 's;OCI8_DIR/lib;OCI8_DIR/lib32;' \ configure ;; esac %endif %if "%{with_mod_php_sendmail}" == "yes" PROG_SENDMAIL="%{l_prefix}/sbin/sendmail" \ %else PROG_SENDMAIL="`%{l_shtool} path false`" \ %endif %if "%{with_mod_php_xslt}" == "yes" # as Sablotron is C++ explicit linkage against libstdc++ is required LIBS="$LIBS -lstdc++" %endif export PROG_SENDMAIL ./configure \ --prefix=%{l_prefix} \ --with-apache=../apache_%{V_apache} \ --with-config-file-path=%{l_prefix}/etc/apache \ %if "%{with_mod_php_mbregex}" == "yes" --enable-mbregex \ %endif %if "%{with_mod_php_mbstring}" == "yes" --enable-mbstring \ %endif %if "%{with_mod_php_suhosin}" == "yes" --enable-suhosin \ %endif %if "%{with_mod_php_calendar}" == "yes" --enable-calendar \ %endif %if "%{with_mod_php_mssql}" == "yes" --with-mssql=%{l_prefix} \ %else --without-mssql \ %endif %if "%{with_mod_php_mysql}" == "yes" --with-mysql=%{l_prefix} \ %else --without-mysql \ %endif %if "%{with_mod_php_pgsql}" == "yes" --with-pgsql=%{l_prefix} \ %else --without-pgsql \ %endif %if "%{with_mod_php_gd}" == "yes" --with-gd=%{l_prefix} \ --with-jpeg-dir=%{l_prefix} \ --with-png-dir=%{l_prefix} \ %endif %if "%{with_mod_php_freetype}" == "yes" --enable-gd-imgstrttf \ --enable-gd-native-ttf \ --with-freetype-dir=%{l_prefix} \ %endif %if "%{with_mod_php_t1lib}" == "yes" --with-t1lib=%{l_prefix} \ %endif %if "%{with_mod_php_bdb}" == "yes" --with-db4=%{l_prefix} \ %endif %if "%{with_mod_php_debug}" == "yes" --with-debug=yes \ %else --with-debug=no \ %endif %if "%{with_mod_php_zlib}" == "yes" --with-zlib=%{l_prefix} \ --with-zlib-dir=%{l_prefix} \ %endif %if "%{with_mod_php_bzip2}" == "yes" --with-bz2=%{l_prefix} \ %endif %if "%{with_mod_php_pdflib}" == "yes" --with-pdflib=%{l_prefix} \ --with-jpeg-dir=%{l_prefix} \ --with-png-dir=%{l_prefix} \ %endif %if "%{with_mod_php_ssl}" == "yes" || "%{with_mod_php_openldap}" == "yes" --with-openssl=%{l_prefix} \ %endif %if "%{with_mod_php_openldap}" == "yes" --with-ldap=%{l_prefix} \ %endif %if "%{with_mod_php_mm}" == "yes" --with-mm=%{l_prefix} \ --enable-session \ %endif %if "%{with_mod_php_pcre}" == "yes" --with-pcre=%{l_prefix} \ %endif %if "%{with_mod_php_ftp}" == "yes" --enable-ftp \ %endif %if "%{with_mod_php_java}" == "yes" --with-java=%{l_prefix}/libexec/j2se \ %endif %if "%{with_mod_php_oci7}" == "yes" --with-oracle \ %endif %if "%{with_mod_php_oci8}" == "yes" --with-oci8 \ --enable-sigchld \ %endif %if "%{with_mod_php_gettext}" == "yes" --with-gettext=%{l_prefix} \ %endif %if "%{with_mod_php_imap}" == "yes" --with-imap=%{l_prefix} \ --with-imap-ssl=%{l_prefix} \ %endif %if "%{with_mod_php_xml}" == "yes" --enable-xml \ --with-expat-dir=%{l_prefix} \ %else --disable-xml \ %endif %if "%{with_mod_php_dom}" == "yes" --with-dom=%{l_prefix} \ --with-dom-xslt=%{l_prefix} \ --with-dom-exslt=%{l_prefix} \ %endif %if "%{with_mod_php_wddx}" == "yes" --enable-wddx \ %endif %if "%{with_mod_php_bc}" == "yes" --enable-bcmath \ %endif %if "%{with_mod_php_transsid}" == "yes" --enable-trans-sid \ %endif %if "%{with_mod_php_mhash}" == "yes" --with-mhash=%{l_prefix} \ %endif %if "%{with_mod_php_mcrypt}" == "yes" --with-mcrypt=%{l_prefix} \ %endif %if "%{with_mod_php_curl}" == "yes" --with-curl=%{l_prefix} \ %endif %if "%{with_mod_php_gdbm}" == "yes" --with-gdbm=%{l_prefix} \ %endif %if "%{with_mod_php_versioning}" == "yes" --enable-versioning \ %endif %if "%{with_mod_php_odbc}" == "yes" --with-unixODBC=%{l_prefix} \ %endif %if "%{with_mod_php_snmp}" == "yes" --with-snmp=%{l_prefix} \ %endif %if "%{with_mod_php_exif}" == "yes" --with-exif \ %endif %if "%{with_mod_php_iconv}" == "yes" --with-iconv=%{l_prefix} \ %endif %if "%{with_mod_php_crack}" == "yes" --with-crack=%{l_prefix} \ %endif %if "%{with_mod_php_xslt}" == "yes" --enable-xslt \ --with-xslt-sablot=%{l_prefix} \ --with-expat-dir=%{l_prefix} \ --with-iconv-dir=%{l_prefix} \ %endif --disable-cli \ --without-pear \ --disable-shared \ --enable-inline-optimization \ --enable-track-vars %{l_make} %{l_mflags} %{l_make} %{l_mflags} install \ INSTALL_ROOT=$RPM_BUILD_ROOT ) || exit $? %endif # optionally prepare mod_dav %if "%{with_mod_dav}" == "yes" ( cd mod_dav-%{V_mod_dav} CC="%{l_cc}" \ %if "%{with_debug}" == "yes" %if "%{with_mod_ssl}" == "yes" || "%{with_mod_define}" == "yes" CFLAGS="%{l_cflags} -g -DEAPI" \ %else CFLAGS="%{l_cflags} -g" \ %endif %else %if "%{with_mod_ssl}" == "yes" || "%{with_mod_define}" == "yes" CFLAGS="%{l_cflags -O} -DEAPI" \ %else CFLAGS="%{l_cflags -O}" \ %endif %endif LDFLAGS="%{l_cflags -O}" \ ./configure \ --with-apache=../apache_%{V_apache} \ --with-expat=%{l_prefix} %{l_make} %{l_mflags} %{l_make} %{l_mflags} install ) || exit $? %endif # optionally prepare mod_layout %if "%{with_mod_layout}" == "yes" ( cd mod_layout-%{V_mod_layout} mkdir ../apache_%{V_apache}/src/modules/layout cp * ../apache_%{V_apache}/src/modules/layout/ 2>/dev/null || true chmod -R u+w ../apache_%{V_apache}/src/modules/layout ) || exit $? %endif # optionally prepare mod_macro %if "%{with_mod_macro}" == "yes" ( cd mod_macro-%{V_mod_macro} cp mod_macro.c ../apache_%{V_apache}/src/modules/extra/ ) || exit $? %endif # optionally prepare mod_auth_pam %if "%{with_mod_auth_pam}" == "yes" ( cd mod_auth_pam-%{V_mod_auth_pam} sed -e '234N;s/\n//' -e '239N;s/\n//' ../apache_%{V_apache}/src/modules/extra/mod_auth_pam.c ) || exit $? %endif # optionally prepare mod_auth_ldap %if "%{with_mod_auth_ldap}" == "yes" ( cd mod_auth_ldap cp mod_auth_ldap.c ../apache_%{V_apache}/src/modules/extra/ ) || exit $? %endif # optionally prepare mod_auth_radius %if "%{with_mod_auth_radius}" == "yes" ( cd mod_auth_radius-%{V_mod_auth_radius} sed -e 's;#endif DEBUG_RADIUS;#endif;' \ ../apache_%{V_apache}/src/modules/extra/mod_auth_radius.c ) || exit $? %endif # optionally prepare mod_auth_mysql %if "%{with_mod_auth_mysql}" == "yes" %{l_shtool} install -c -m 644 \ -e 's;^[ ]*MYSQL_LIB=.*$;;' \ mod_auth_mysql-%{V_mod_auth_mysql}/mod_auth_mysql.c \ apache_%{V_apache}/src/modules/extra/ %endif # optionally prepare mod_gzip %if "%{with_mod_gzip}" == "yes" ( cd mod_gzip-%{V_mod_gzip} mkdir ../apache_%{V_apache}/src/modules/gzip cp -rp * ../apache_%{V_apache}/src/modules/gzip/ ) || exit $? %endif # optionally prepare mod_fastcgi %if "%{with_mod_fastcgi}" == "yes" ( cd mod_fastcgi-%{V_mod_fastcgi} mkdir ../apache_%{V_apache}/src/modules/fastcgi cp -rp * ../apache_%{V_apache}/src/modules/fastcgi/ ) || exit $? %endif # optionally prepare mod_throttle %if "%{with_mod_throttle}" == "yes" ( cd mod_throttle-* cp mod_throttle.c ../apache_%{V_apache}/src/modules/extra/ ) || exit $? %endif # optionally prepare mod_access_referer %if "%{with_mod_access_referer}" == "yes" ( cd mod_access_referer-%{V_mod_access_referer} cp mod_access_referer.c ../apache_%{V_apache}/src/modules/extra/ ) || exit $? %endif # optionally prepare mod_roaming %if "%{with_mod_roaming}" == "yes" ( cd mod_roaming-%{V_mod_roaming} cp mod_roaming.c ../apache_%{V_apache}/src/modules/extra/ ) || exit $? %endif # optionally prepare mod_owa %if "%{with_mod_owa}" == "yes" ( cd modowa mkdir ../apache_%{V_apache}/src/modules/owa/ cp src/*.{c,h} src/Makefile.{libdir,tmpl} \ ../apache_%{V_apache}/src/modules/owa/ ) || exit $? %endif # optionally prepare mod_relocate %if "%{with_mod_relocate}" == "yes" ( cd mod_relocate-%{V_mod_relocate} cp mod_relocate.c ../apache_%{V_apache}/src/modules/extra/ ) || exit $? %endif # optionally prepare mod_define (if mod_ssl is disabled only) %if "%{with_mod_define}" == "yes" && "%{with_mod_ssl}" != "yes" ( cd mod_ssl-%{V_mod_ssl}/pkg.addon cp mod_define.c ../../apache_%{V_apache}/src/modules/extra/ ) || exit $? %endif # optionally prepare mod_suphp %if "%{with_suphp}" == "yes" ( cd suphp-%{V_suphp} cp src/apache/mod_suphp.c ../apache_%{V_apache}/src/modules/extra/ chmod +rx configure CC="%{l_cc}" \ CFLAGS="%{l_cflags -O}" \ AUTOCONF="true" \ AUTOHEADER="true" \ AUTOMAKE="true" \ ACLOCAL="true" \ ./configure \ --prefix=%{l_prefix} \ --sysconfdir=%{l_prefix}/etc/apache \ --with-apxs="" \ --with-apache-user=%{with_suphp_caller} \ --with-php=%{with_suphp_phpcgi} \ --with-logfile=%{l_prefix}/var/apache/log/suphp.log \ %if "%{with_suphp_ugid_check}" == "no" --disable-checkuid \ --disable-checkgid \ %endif --with-setid-mode=%{with_suphp_ugid_mode} \ --disable-shared %{l_make} %{l_mflags -O} ) || exit $? %endif # optionally prepare mod_security %if "%{with_mod_security}" == "yes" ( cd modsecurity-apache_%{V_mod_security}/apache1 cp mod_security.c ../../apache_%{V_apache}/src/modules/extra/ ) || exit $? %endif # optionally prepare mod_evasive %if "%{with_mod_evasive}" == "yes" ( cd mod_evasive cp mod_evasive.c ../apache_%{V_apache}/src/modules/extra/ ) || exit $? %endif # optionally prepare mod_auth_kerb %if "%{with_mod_auth_kerb}" == "yes" ( cd mod_auth_kerb-* CC="%{l_cc}" \ CFLAGS="%{l_cflags}" \ ./configure \ --with-krb5=%{l_prefix} \ --with-krb4=no \ --with-apache=../apache_%{V_apache} ) || exit $? mv mod_auth_kerb-* apache_%{V_apache}/src/modules/mod_auth_kerb %endif # configure Apache ( cd apache_%{V_apache} %if "%{with_debug}" == "yes" cflags="%{l_cflags} -g" %else cflags="%{l_cflags -O}" %endif ldflags="" libs="" %if "%{with_mod_auth_pam}" == "yes" pam_incdir=`%{l_rc} --query pam_incdir` if [ ".$pam_incdir" != "./usr/include" -a ".$pam_incdir" != "./include" ]; then cflags="$cflags -I$pam_incdir" fi pam_libdir=`%{l_rc} --query pam_libdir` if [ ".$pam_libdir" != "./usr/lib" -a ".$pam_libdir" != "./lib" ]; then ldflags="$ldflags -L$pam_libdir" fi libs="$libs -lpam" %endif %if "%{with_mod_auth_ldap}" == "yes" cflags="$cflags %{l_cppflags}" ldflags="$ldflags %{l_ldflags}" libs="$libs -lldap -llber -lssl -lcrypto" case "%{l_platform -t}" in *-sunos* ) libs="$libs -lresolv" ;; esac %endif %if "%{with_mod_auth_mysql}" == "yes" cflags="$cflags -DAPACHE1 `mysql_config --cflags`" libs="$libs `mysql_config --libs`" %endif %if "%{with_mod_owa}" == "yes" cflags="$cflags `%{l_rc} --query oracle_cflags`" ldflags="$ldflags `%{l_rc} --query oracle_ldflags`" libs="$libs `%{l_rc} --query oracle_libs`" %endif %if "%{with_gdbm_ndbm}" == "yes" cflags="$cflags %{l_cppflags}" ldflags="$ldflags %{l_ldflags}" libs="$libs -lndbm -lgdbm" %endif %if "%{with_mod_php_oci7}" == "yes" || "%{with_mod_php_oci8}" == "yes" # workaround Oracle inter-library depencency by explicitly # linking in all libraries ldflags="$ldflags `%{l_rc} --query oracle_ldflags`" libs="$libs `%{l_rc} --query oracle_libs`" %endif %if "%{with_mod_php}" == "yes" && "%{with_mod_php_imap}" == "yes" libs="$libs -limap -lmodphp4 -limap" %endif %if "%{with_suphp}" == "yes" cflags="$cflags -DSUPHP_PATH_TO_SUPHP='\"%{l_prefix}/sbin/suphp\"'" # ugly hack to extract flags required for certain modes of # operation of suPHP cflags="$cflags \ `sed -n -e 's;^OPT_APACHEMOD_USERGROUP_DEF[ ]=\(.*\)$;\1;p' \ ../suphp-%{V_suphp}/src/apache/Makefile`" %endif CC="%{l_cc}" \ CFLAGS="$cflags" \ LDFLAGS="$ldflags" \ LIBS="$libs" \ LD_SHLIB="%{l_cc}" \ %if "%{with_mod_ssl}" == "yes" EAPI_MM="%{l_prefix}" \ SSL_BASE="%{l_prefix}" \ %endif ./configure \ --target=apache \ --with-layout=GNU \ --prefix=%{l_prefix} \ --sbindir=%{l_prefix}/sbin \ --sysconfdir=%{l_prefix}/etc/apache \ --libexecdir=%{l_prefix}/lib/apache \ --datadir=%{l_prefix}/share/apache \ --localstatedir=%{l_prefix}/var/apache \ %if "%{with_debug}" == "yes" --without-execstrip \ %endif %if "%{with_suexec}" == "yes" --enable-suexec \ --suexec-caller=%{with_suexec_caller} \ --suexec-userdir=%{with_suexec_userdir} \ --suexec-logfile=%{l_prefix}/var/apache/log/suexec.log \ %endif --enable-module=most \ --with-perl=%{l_prefix}/bin/perl \ %if "%{with_mod_ssl}" == "yes" || "%{with_mod_define}" == "yes" --enable-rule=EAPI \ %if "%{with_mod_ssl}" == "yes" --enable-module=ssl \ %endif %if "%{with_mod_define}" == "yes" && "%{with_mod_ssl}" != "yes" --activate-module=src/modules/extra/mod_define.o \ %endif %endif %if "%{with_mod_perl}" == "yes" --activate-module=src/modules/perl/libperl.a \ %endif %if "%{with_mod_php}" == "yes" --activate-module=src/modules/php4/libphp4.a \ %endif %if "%{with_mod_dav}" == "yes" --activate-module=src/modules/dav/libdav.a \ %endif --disable-rule=EXPAT \ %if "%{with_shared_core}" == "yes" --enable-rule=SHARED_CORE \ %endif %if "%{with_shared_chain}" == "yes" --enable-rule=SHARED_CHAIN \ %endif %if "%{with_mod_layout}" == "yes" --activate-module=src/modules/layout/liblayout.a \ %endif %if "%{with_mod_macro}" == "yes" --activate-module=src/modules/extra/mod_macro.o \ %endif %if "%{with_mod_auth_pam}" == "yes" --activate-module=src/modules/extra/mod_auth_pam.o \ %endif %if "%{with_mod_auth_ldap}" == "yes" --activate-module=src/modules/extra/mod_auth_ldap.o \ %endif %if "%{with_mod_auth_radius}" == "yes" --activate-module=src/modules/extra/mod_auth_radius.c \ %endif %if "%{with_mod_auth_mysql}" == "yes" --activate-module=src/modules/extra/mod_auth_mysql.o \ %endif %if "%{with_mod_gzip}" == "yes" --activate-module=src/modules/gzip/libgzip.a \ %endif %if "%{with_mod_fastcgi}" == "yes" --activate-module=src/modules/fastcgi/libfastcgi.a \ %endif %if "%{with_mod_throttle}" == "yes" --activate-module=src/modules/extra/mod_throttle.o \ %endif %if "%{with_mod_access_referer}" == "yes" --activate-module=src/modules/extra/mod_access_referer.o \ %endif %if "%{with_mod_owa}" == "yes" --activate-module=src/modules/owa/libowa.a \ %endif %if "%{with_mod_roaming}" == "yes" --activate-module=src/modules/extra/mod_roaming.o \ %endif %if "%{with_mod_relocate}" == "yes" --activate-module=src/modules/extra/mod_relocate.o \ %endif %if "%{with_suphp}" == "yes" --activate-module=src/modules/extra/mod_suphp.o \ %endif %if "%{with_mod_security}" == "yes" --activate-module=src/modules/extra/mod_security.o \ %endif %if "%{with_mod_evasive}" == "yes" --activate-module=src/modules/extra/mod_evasive.o \ %endif %if "%{with_mod_auth_kerb}" == "yes" --activate-module=src/modules/mod_auth_kerb/libmod_auth_kerb.a \ %endif --enable-module=so %{l_make} %{l_mflags -O} build-quiet ) || exit $? %install # install Apache ( cd apache_%{V_apache} # perform standard Apache installation procedure %{l_make} %{l_mflags} install root=$RPM_BUILD_ROOT # post-adjustments to installation tree mv $RPM_BUILD_ROOT%{l_prefix}/share/apache/icons/small/* \ $RPM_BUILD_ROOT%{l_prefix}/share/apache/icons/ rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/apache/icons/small rm -f $RPM_BUILD_ROOT%{l_prefix}/share/apache/icons/README* rm -f $RPM_BUILD_ROOT%{l_prefix}/etc/apache/*.default rm -f $RPM_BUILD_ROOT%{l_prefix}/etc/apache/srm.conf rm -f $RPM_BUILD_ROOT%{l_prefix}/etc/apache/access.conf mv $RPM_BUILD_ROOT%{l_prefix}/share/apache/htdocs/index.html.en \ $RPM_BUILD_ROOT%{l_prefix}/share/apache/htdocs/index.html rm -f $RPM_BUILD_ROOT%{l_prefix}/share/apache/htdocs/index.html.* chmod a+rx $RPM_BUILD_ROOT%{l_prefix}/share/apache/cgi-bin/* mv $RPM_BUILD_ROOT%{l_prefix}/share/apache/cgi-bin \ $RPM_BUILD_ROOT%{l_prefix}/cgi/ rm -rf $RPM_BUILD_ROOT%{l_prefix}/cgi/test-cgi ) || exit $? # install shell environment script %{l_shtool} install -c -m 644 %{l_value -s -a} \ -e 's;@l_path@;%{l_build_path};' \ -e 's;@l_ld_library_path@;%{l_build_ldlp};' \ %{SOURCE apache.sh} \ $RPM_BUILD_ROOT%{l_prefix}/etc/apache/ %if "%{with_mod_fastcgi}" == "yes" # provide mod_fastcgi IPC directory %{l_shtool} mkdir -f -p -m 755 \ $RPM_BUILD_ROOT%{l_prefix}/var/apache/fastcgi %endif %if "%{with_mod_perl}" == "yes" # cleanup for mod_perl rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/perl # provide mod_perl init script %{l_shtool} install -c -m 644 \ %{SOURCE apache.pl} \ $RPM_BUILD_ROOT%{l_prefix}/etc/apache/ %endif # optionally make PHP happy %if "%{with_mod_php}" == "yes" %{l_shtool} install -c -m 644 %{l_value -s -a} \ %{SOURCE php.ini} $RPM_BUILD_ROOT%{l_prefix}/etc/apache/php.ini rm -rf $RPM_BUILD_ROOT%{l_prefix}/include/php rm -rf $RPM_BUILD_ROOT%{l_prefix}/lib/php/build rmdir $RPM_BUILD_ROOT%{l_prefix}/lib/php >/dev/null 2>&1 || true rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/{php-config,phpextdist,phpize} rm -f $RPM_BUILD_ROOT%{l_prefix}/man/man1/{php-config,phpize}.1 %endif # optionally install suPHP wrapper binary %if "%{with_suphp}" == "yes" ( cd suphp-%{V_suphp} %{l_shtool} install -c -s -m 711 \ src/suphp $RPM_BUILD_ROOT%{l_prefix}/sbin/ %{l_shtool} install -c -m 644 \ -e 's;^\(logfile=\).*;\1%{l_prefix}/var/apache/log/suphp.log;' \ -e 's;^\(webserver_user=\).*;\1%{with_suphp_caller};' \ -e 's;/usr/bin/php;%{with_suphp_phpcgi};' \ doc/suphp.conf-example \ $RPM_BUILD_ROOT%{l_prefix}/etc/apache/suphp.conf ) || exit $? %endif # create default configuration l_hostname=`%{l_shtool} echo -e %h` l_domainname=`%{l_shtool} echo -e %d | cut -c2-` %{l_shtool} install -c -m 644 %{l_value -s -a} \ -e "s;@l_hostname@;$l_hostname;g" \ -e "s;@l_domainname@;$l_domainname;g" \ %{SOURCE apache.base} \ %{SOURCE apache.conf} \ $RPM_BUILD_ROOT%{l_prefix}/etc/apache/ mv $RPM_BUILD_ROOT%{l_prefix}/etc/apache/magic $RPM_BUILD_ROOT%{l_prefix}/etc/apache/mime.magic find $RPM_BUILD_ROOT%{l_prefix} -name perllocal.pod -print | xargs rm -f %{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/etc/apache/apache.d # create run-command script %{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d %{l_shtool} install -c -m 755 %{l_value -s -a} \ %{SOURCE rc.apache} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/ # strip installation binaries %if "%{with_debug}" != "yes" strip $RPM_BUILD_ROOT%{l_prefix}/bin/* 2>/dev/null || true strip $RPM_BUILD_ROOT%{l_prefix}/sbin/* 2>/dev/null || true %endif # determine installation tree files %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ %{l_files_std} \ %if "%{with_suexec}" == "yes" '%attr(4755,%{l_susr},%{l_mgrp}) %{l_prefix}/sbin/suexec' \ %endif %if "%{with_suphp}" == "yes" '%attr(4755,%{l_susr},%{l_mgrp}) %{l_prefix}/sbin/suphp' \ %endif '%config %{l_prefix}/etc/apache/*' \ %if "%{with_mod_ssl}" == "yes" '%config %{l_prefix}/etc/apache/ssl.crl/*.crl' \ '%config %{l_prefix}/etc/apache/ssl.crt/*.crt' \ '%config %{l_prefix}/etc/apache/ssl.csr/*.csr' \ '%config %{l_prefix}/etc/apache/ssl.key/*.key' \ '%config %{l_prefix}/etc/apache/ssl.prm/*.prm' \ %endif %if "%{with_mod_fastcgi}" == "yes" '%attr(750,%{l_nusr},%{l_ngrp}) %{l_prefix}/var/apache/fastcgi' \ %endif '%config %attr(444,%{l_musr},%{l_mgrp}) %{l_prefix}/etc/apache/apache.base' %files -f files %clean rm -rf $RPM_BUILD_ROOT %post %if "%{with_mod_auth_pam}" == "yes" # add PAM configuration entry if [ $1 -eq 1 ]; then $RPM_INSTALL_PREFIX/sbin/pamtool --add --smart --name=apache fi %endif # after upgrade, restart service [ $1 -eq 2 ] || exit 0 eval `%{l_rc} apache status 2>/dev/null` [ ".$apache_active" = .yes ] && %{l_rc} apache restart exit 0 %preun # before erase, stop service and remove log files [ $1 -eq 0 ] || exit 0 %{l_rc} apache stop 2>/dev/null rm -rf $RPM_INSTALL_PREFIX/var/apache/log/ >/dev/null 2>&1 || true %if "%{with_mod_auth_pam}" == "yes" # remove PAM configuration entry $RPM_INSTALL_PREFIX/sbin/pamtool --remove --smart --name=apache %endif exit 0