# podle toho, s cim to chceme zkompilovat, definujeme makro what: # nodb - žádná podpora databází # psql - PostgreSQL # mysq - MySQL # odbc - ODBC %define what nodb %define phpver 3.0.11 %define mczver 3.1.0b4 %define testver 0.0.0 Name: apache-php_mcz Version: 1.3.6 Release: 8.1 Group: System Environment/Daemons Copyright: Freely distributable and usable BuildRoot: /var/tmp/apache-root Requires: /etc/mime.types Prereq: /sbin/chkconfig Provides: webserver Obsoletes: apache Summary: The most widely used Web server on the Internet. Summary(cs): Nejpoužívanější Web server na Internetu Source0: ftp://ftp.apache.org/apache/dist/apache_%{version}.tar.gz Source1: apache-index.html Source2: apache-poweredby.gif Source3: apache-httpd.init Source4: apache.logrotate Source6: apache-httpd.conf Source8: apache-mod_bandwidth.c # additional files for PHP, php-czech, mod_czech Source40: ftp://ftp.php.net/pub/distributions/php-%{phpver}.tar.gz Source50: http://www.intersoft.cz/mod_czech/download/mod_czech3/Version_3_1_0b/Apache_1_3_4_Version/mcz_1.3.4_%{mczver}.tgz Source51: http://www.intersoft.cz/mod_czech/download/mod_czech3/Version_3_1_0b/Apache_1_3_6_Version/mcz-ppatch_%{mczver}.1.tgz Source60: apache-test-%{testver}.tar.gz Patch0: apache_1.3.6-redhat.patch Patch1: apache_1.3.6-apxs.patch Patch2: apache_1.3.4-srvroot.patch Patch3: apache_1.3.3-nondbm.patch # PHP & spol. patches Patch40: http://lide.punknet.cz/miri/php-czech/php-czech-0.29.patch Patch41: php-czech-0.29-TLS_VARS.patch Patch50: mcz-patch_1.3.6_%{mczver}.gz Patch51: mcz-mvfix.patch %description Apache is a powerful, full-featured, efficient and freely-available Web server. Apache is also the most popular Web server on the Internet. There is Czech language support in this package. %description -l cs Apache je velmi silný Web server s mnoha užitečnými funkcemi. Je nejrozšířenějším v celém Internetu, což svědčí o jeho popularitě. Do této verze je začleněna podpora češtiny jak v jazyce PHP, tak též podporou různých kódování dokumentů modulem mod_czech. %package common Summary: Files needed by the Web server Summary(cs): Soubory potřebné pro Web server Group: System Environment/Daemons %package %{what} Summary: The most widely used Web server on the Internet. Summary(cs): Nejpoužívanější Web server na Internetu Group: System Environment/Daemons Requires: apache-php_mcz-common %description common Apache is a powerful, full-featured, efficient and freely-available Web server. Apache is also the most popular Web server on the Internet. This version contains only documentation and config files. You will need also another package and name depends from PHP's database support: nodb - no database support psql - support for PostgreSQL mysq - support for MySQL %description -l cs common Apache je velmi silný Web server s mnoha užitečnými funkcemi. Je nejrozšířenějším v celém Internetu, což svědčí o jeho popularitě. Tento balíček obsahuje dokumentaci a konfigurační soubory. Samotný program se nachází v balíčcích rozlišených dle jména takto: nodb - Žádná podpora databázových aplikací psql - Začleněna podpora pro PostgreSQL mysq - Začleněna podpora pro MySQL Do této verze je začleněna podpora češtiny jak v jazyce PHP, tak též podporou různých kódování dokumentů modulem mod_czech. %description %{what} Apache is a powerful, full-featured, efficient and freely-available Web server. Apache is also the most popular Web server on the Internet. This czech version offers to you: mod_czech, PHP %{phpver} with czech enhacements, suexec, modules spelling, rewrite, info, bandwidth, etc. This version is not with DSO modules. There are multiple versions of this package which are diferrent in PHP's database support: nodb - no database support psql - support for PostgreSQL mysq - support for MySQL %description -l cs %{what} Apache je velmi silný Web server s mnoha užitečnými funkcemi. Je nejrozšířenějším v celém Internetu, což svědčí o jeho popularitě. Do této verze je začleněna podpora češtiny jak v jazyce PHP, tak též podporou různých kódování dokumentů modulem mod_czech. Několik variant balíčků, které jsou k dispozici, je rozlišeno podle přítomnosti podpory pro spojení s databázovými servery z programovacího jazyka PHP zkratkou ve jménu takto: nodb - Žádná podpora databázových aplikací psql - Začleněna podpora pro PostgreSQL mysq - Začleněna podpora pro MySQL V serveru jsou obsaženy moduly: PHP %{phpver} s českým rozšířením, suexec, spelling, rewrite, info, bandwidth a další. Apache je linkován bez podpory dynamicky zaváděných modulů (DSO) kvůli problémům s modulem mod_czech. Více informací o českých rozšířeních najdete na adresách: http://www.intersoft.cz/mod_czech/ http://lide.punknet.cz/miri/php-czech/ Kromě tohoto balíku budete potřebovat též balík %{name}-common, který obsahuje konfigurační soubory a dokumetaci k serveru Apache. %prep # first, unpack apache. We unpack it BELOW a toplevel directory "secureweb" %setup -q -n apache_%{version} %patch0 -p1 -b .redhat %patch1 -p1 -b .apxs %patch2 -p1 -b .srvroot %patch3 -p1 -b .nondbm # unpack PHP files %setup -T -q -b 40 -n php-%{phpver} %patch40 -p1 -b .czech %patch41 -p1 -b .TLS_VARS # mod_czech package with docs %setup -T -q -b 50 -n mcz_1.3.4_%{mczver} # mod_czech latest patches %setup -T -q -b 51 -n mcz-ppatch -c ( cd ../php-%{phpver} ; patch -s -p0 < ../mcz-ppatch/mcz-patch_php3.0.7 ) cd ../apache_%{version}/src # mod_czech patches %patch50 -p1 -b .mcz cd ../../mcz-ppatch # and latest mod_czech patches again cp -f mod_czech.c Makefile.tmpl ../apache_%{version}/src/modules/czech/ # seems to be obsolete #cd .. #%patch51 -p1 -b .mcz-mvfix # unpack test files %setup -T -q -b 60 -n apache-test-%{testver} # fix bad perl stuff find $RPM_BUILD_DIR -type f | \ xargs grep -l "/usr/local/bin/perl5" | \ xargs perl -pi -e "s|/usr/local/bin/perl5|/usr/bin/perl|g;" find $RPM_BUILD_DIR -type f | \ xargs grep -l "/usr/local/bin/perl" | \ xargs perl -pi -e "s|/usr/local/bin/perl|/usr/bin/perl|g;" # this is a bug - rpm dislike BEGIN at first line in docs... shhhh rm -f $RPM_BUILD_DIR/php-%{phpver}/doc/funcparse.awk \ $RPM_BUILD_DIR/php-%{phpver}/test/testphp.awk %build # we have to initialize PHP stuff and move them to Apache tree first cd ../apache_%{version} #we need to run configure before anything else OPTIM="$RPM_OPT_FLAGS" ./configure --prefix=/usr # zde se meni volba, s kterou databazi se bude stavet, strka se to za # prikaz ./configure: # nic: # PostgreSQL: --with-pgsql=/usr (potrebuje postgresql-devel) # MySQL: --with-mysql=/usr (potrebuje mysql-devel) # ODBC: --with-iodbc=/usr (tohle nevim) case "%{what}" in psql) WHAT="--with-pgsql=/usr" ;; mysq) WHAT="--with-mysql=/usr" ;; odbc) WHAT="--with-iodbc=/usr" ;; nodb) WHAT="" ;; *) echo "Wrong macro %{what} !" exit 1 esac cd ../php-%{phpver} OPTIM="$RPM_OPT_FLAGS" \ ./configure $WHAT \ --with-apache=../apache_%{version} \ --with-config-file-path=/etc/httpd/conf \ --enable-track-vars make make install # puvodni je az k volbe with-perl cd ../apache_%{version} OPTIM="$RPM_OPT_FLAGS" \ ./configure --prefix=/usr \ --with-layout=RedHat \ --add-module=%{SOURCE8} \ --disable-rule=WANTHSREGEX \ --disable-module=auth_dbm \ --with-perl=/usr/bin/perl \ --activate-module=src/modules/czech/libczech.a \ --activate-module=src/modules/php3/libphp3.a \ --enable-module=mime_magic \ --enable-module=speling \ --enable-module=info \ --enable-module=rewrite \ --enable-suexec \ --suexec-caller=nobody \ --suexec-userdir=html # pravdepodobne zbytecne volby, ktere v SPEC spoboru RH6.0 nejsou # # --libexecdir=/usr/lib/apache \ # --sysconfdir=/etc/httpd/conf \ # --serverroot=/etc/httpd \ # --datadir=/home/httpd \ # --bindir=/usr/bin \ # --sbindir=/usr/sbin \ # --includedir=/usr/include/apache \ # --logfiledir=/var/log/httpd \ # --localstatedir=/var \ # --runtimedir=/var/run \ # --proxycachedir=/var/cache/httpd \ make strip src/httpd %install cd ../apache_%{version} rm -rf $RPM_BUILD_ROOT make install root=$RPM_BUILD_ROOT # remove apachectl; we have our own SYSV init stuff rm $RPM_BUILD_ROOT/usr/sbin/apachectl # rename the html directory mv $RPM_BUILD_ROOT/home/httpd/htdocs $RPM_BUILD_ROOT/home/httpd/html # move docs to new directory install -d $RPM_BUILD_ROOT/usr/doc mv $RPM_BUILD_ROOT/home/httpd/html/manual \ $RPM_BUILD_ROOT/usr/doc/apache-%{version} # install SYSV init stuff install -d $RPM_BUILD_ROOT/etc/rc.d/init.d install -m755 %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/httpd # install log rotation stuff install -d $RPM_BUILD_ROOT/etc/logrotate.d install -m644 %{SOURCE4} $RPM_BUILD_ROOT/etc/logrotate.d/apache ln -s ../../var/log/httpd $RPM_BUILD_ROOT/etc/httpd/logs ln -s ../../usr/lib/apache $RPM_BUILD_ROOT/etc/httpd/modules install -m644 %{SOURCE1} $RPM_BUILD_ROOT/home/httpd/html/index.html install -m644 %{SOURCE2} $RPM_BUILD_ROOT/home/httpd/html/poweredby.gif perl -pi -e 's/APACHE_TEST_VERSION/%{testver}/;' \ -e 's/APACHE_VERSION/%{version}/;' \ -e 's/MCZ_VERSION/%{mczver}/;' \ -e 's/PHP_VERSION/%{phpver}/;' \ $RPM_BUILD_ROOT/home/httpd/html/index.html # replace Apache's default config files with our own versions install -m644 %{SOURCE6} $RPM_BUILD_ROOT/etc/httpd/conf/httpd.conf # install mcz cfg & docs install -m644 $RPM_BUILD_DIR/mcz_1.3.4_%{mczver}/mcz_config \ $RPM_BUILD_ROOT/etc/httpd/conf/czech.conf install -d $RPM_BUILD_ROOT/usr/doc/mcz-%{mczver} install -d $RPM_BUILD_ROOT/usr/doc/mcz-%{mczver}/doc install -m644 $RPM_BUILD_DIR/mcz_1.3.4_%{mczver}/[CIRT]* \ $RPM_BUILD_ROOT/usr/doc/mcz-%{mczver} install -m644 $RPM_BUILD_DIR/mcz_1.3.4_%{mczver}/doc/* \ $RPM_BUILD_ROOT/usr/doc/mcz-%{mczver}/doc install -d $RPM_BUILD_ROOT/home/httpd/mod_czech install -m644 $RPM_BUILD_DIR/mcz_1.3.4_%{mczver}/pictures/* \ $RPM_BUILD_ROOT/home/httpd/mod_czech # PHP config file & docs install -m644 $RPM_BUILD_DIR/php-%{phpver}/php3.ini-dist \ $RPM_BUILD_ROOT/etc/httpd/conf/php3.ini cp -a $RPM_BUILD_DIR/php-%{phpver}/doc \ $RPM_BUILD_ROOT/usr/doc/php-%{phpver} cp -a $RPM_BUILD_DIR/apache-test-%{testver} \ $RPM_BUILD_ROOT/usr/doc/apache-test-%{testver} %clean rm -rf $RPM_BUILD_ROOT %post /sbin/chkconfig --add httpd %preun if [ $1 = 0 ]; then /sbin/chkconfig --del httpd /bin/rm -fr /var/log/httpd/* fi %files common %defattr(-,root,root) %dir /etc/httpd %dir /etc/httpd/conf %config /etc/httpd/conf/access.conf %config /etc/httpd/conf/srm.conf %config /etc/httpd/conf/httpd.conf %config /etc/httpd/conf/magic %config /etc/httpd/conf/php3.ini %config /etc/httpd/conf/czech.conf %config /etc/logrotate.d/apache %config /etc/rc.d/init.d/httpd /etc/httpd/logs /etc/httpd/modules %dir /home/httpd %dir /home/httpd/cgi-bin %dir /home/httpd/html /home/httpd/icons /home/httpd/mod_czech /usr/bin/* /usr/sbin/ab /usr/sbin/logresolve /usr/sbin/rotatelogs %attr(4711,root,root) /usr/sbin/suexec %config(noreplace) /home/httpd/html/index.html %doc /usr/man/*/* %doc /home/httpd/html/poweredby.gif %doc /usr/doc/apache-%{version} %doc /usr/doc/mcz-%{mczver} %doc /usr/doc/php-%{phpver} %doc /usr/doc/apache-test-%{testver} %attr(-,nobody,nobody) %dir /var/cache/httpd %dir /var/log/httpd %files %{what} %defattr(-,root,root) /usr/sbin/httpd %changelog * Wed Jul 21 1999 Milan Kerslager - updated: PHP, php-czech, mod_czech * Sun Jul 18 1999 Milan Kerslager - cleaning the spec file, name of the package changed * Thu Apr 29 1999 Milan Kerslager - various httpds (without SQL, with PostgreSQL, with mySQL, with ODBC) - PHP documentation added * Wed Apr 28 1999 Milan Kerslager - modified to fit with PHP & mod_czech - czech patch for PHP