--- apache.spec~ 2004-08-16 13:40:09 +0400 +++ apache.spec 2004-10-01 08:24:31 +0400 @@ -1,12 +1,12 @@ -# hey Emacs, its -*- rpm-spec -*- -# $Id: apache,v 1.19 2002/10/10 13:43:07 ab Exp $ +# vim: set ft=spec: -*- rpm-spec -*- +# $Id$ # you can build --with/--without: -# - M22 or Sisyphus +# - M22, M24 or Sisyphus # - mod_deflate %define russian_patchlevel PL30.20 %define apache_vanilla_version 1.3.31 %define apache_version %{apache_vanilla_version}rus%russian_patchlevel -%define apache_release alt10 +%define apache_release alt11 %define mod_perl_version 1.29 %define mod_perl_version_pad %{mod_perl_version}00 %define mod_deflate_version 1.0.21 @@ -27,22 +27,28 @@ %if_with M22 %define feature_initscripts 2_2 +%define release_tag .M22 +%endif + +%if_with M24 +%define feature_initscripts 2_3 +%define release_tag .M24 %endif %if_with Sisyphus %define feature_initscripts 2_3 +%define release_tag %nil %endif %if "%feature_initscripts" == "" %define feature_initscripts %([ -e /etc/init.d/functions-compat ] && echo "2_3" || echo "2_2") +%define release_tag %(cat /etc/altlinux-release | sed -e 's;^ALT Linux ;;' -e 's; (.*)$;;' -e 's;^\\\([A-Z]\\\)[a-z]* \\\([0-9]\\\)\\\.\\\([0-9]\\\)$;.\\\1\\\2\\\3;' | grep '^\\\.[A-Z][0-9][0-9]$') %endif # we don't want to add a feature to legacy package by default %if "%feature_initscripts" == "2_2" -%define release_tag .M22 %def_without mod_deflate %else -%define release_tag %nil %def_with mod_deflate %endif @@ -183,14 +189,9 @@ Group: System/Servers Icon: mod_perl.gif Requires: mm >= %mm_version, perl >= 1:5.6.0 -PreReq: apache-common = %version-%release +PreReq: apache-common = %version-%release, mod_perl-common = %version-%release Provides: russian-apache = %russian_patchlevel webserver Provides: mod_perl = %mod_perl_version -Obsoletes: mod_perl -AutoProv: yes, perl - -# ugly hack ][ -Provides: perl(mod_perl.pm) = %mod_perl_version_pad %description mod_perl Apache is a powerful, full-featured, efficient and freely-available @@ -251,6 +252,45 @@ п╕дтримкою розд╕лювано╖ пам'ят╕, п╕дтримку модуля SSL та дек╕лька косметичних покращень. +%package -n mod_perl +Summary: Perl interpreter for Apache Web server +Summary(ru_RU.KOI8-R): Интерпретатор Perl для Веб-сервера Apache +Group: System/Servers +Requires: mm >= %mm_version, perl >= 1:5.6.0 +PreReq: apache = %version-%release, mod_perl-common = %version-%release +Provides: mod_perl = %mod_perl_version + +%description -n mod_perl +Apache is a powerful, full-featured, efficient and freely-available +Web server. Russian Apache is an extended version that supports various +character sets, which are necessary for Russian, Ukrainian, Czech +and other websites. + +mod_perl incorporates a Perl interpreter into the Apache web +server, so that the Apache web server can directly execute Perl +code. Mod_perl links the Perl runtime library into the Apache +web server and provides an object-oriented Perl interface for +Apache's C language API. The end result is a quicker CGI script +turnaround process, since no external Perl interpreter has to +be started. + +This package contains mod_perl as a DSO. + +%description -l ru_RU.KOI8-R -n mod_perl +Apache - мощный, функциональный, высокопроизводительный и +свободно распространяемый веб-сервер. + +Russian Apache - специально доработанная версия сервера с поддержкой различных +кодировок, предназначенная для использования на сайтах с контентом на +русском, украинском, чешском и других языках. + +mod_perl интегрирует в Apache интерпретатор языка Perl и предоставляет +объектно-ориентированный интерфейс из Perl к функциям Apache API. Одно из +преимуществ - ускорение обработки CGI-запросов, поскольку нет нужды +запускать внешний интерпретатор для исполнения Perl-кода. + +Пакет содержит динамически загружаемый mod_perl. + %package common Summary: Files common for apache and apache-mod_perl installations Summary(ru_RU.KOI8-R): Общие файлы для инсталляции apache и apache-mod_perl @@ -272,6 +312,25 @@ Цей пакунок м╕стить файли, як╕ необх╕дн╕ для apache та apache-mod_perl. Встанов╕ть його, якщо збира╓тесь використовувати Russian Apache. +%package -n mod_perl-common +Summary: Files common for apache-mod_perl and DSO mod_perl +Summary(ru_RU.KOI8-R): Общие файлы для инсталляции apache-mod_perl и динамического mod_perl +Group: System/Servers +AutoProv: yes, perl + +# ugly hack ][ +Provides: perl(mod_perl.pm) = %mod_perl_version_pad + +%description -n mod_perl-common +This package contains files required for both apache-mod_perl and mod_perl +package installations. Install this if you want to install Apache with +mod_perl enabled. + +%description -l ru_RU.KOI8-R -n mod_perl-common +В этом пакете находятся файлы, необходимые для apache-mod_perl и динамического +mod_perl. Установите, если собираетесь устанавливать Russian Apache с поддержкой +mod_perl. + %package devel Summary: Module development tools for the Apache web server Summary(ru_RU.KOI8-R): Средства разработки модулей для веб-сервера Apache @@ -365,7 +424,7 @@ %prep %if "%feature_initscripts" == "" echo "*** Unable to determine target distribution" -echo "*** use --with M22 or --with Sisyphus" +echo "*** use --with M22, --with M24 or --with Sisyphus" exit 1 %endif @@ -421,6 +480,7 @@ popd %__cp -pr apache_%apache_vanilla_version apache-mod_perl_%apache_vanilla_version +%__cp -pr mod_perl-%mod_perl_version mod_perl-standalone-%mod_perl_version %build echo "### define configure flags" @@ -449,7 +509,9 @@ --suexec-caller=%apache_user \ --suexec-docroot=%suexec_docroot \ --suexec-userdir=public_html \ +%if_with mod_deflate --activate-module=src/modules/extra/mod_deflate.o \ +%endif " %if_with mod_deflate @@ -518,6 +580,24 @@ %__make build-std %__make -C src/support apxs +echo "### build mod_perl DSO" +cd $RPM_BUILD_DIR/mod_perl-standalone-%mod_perl_version +%__sed -e "s;^#!/.*;#!/usr/bin/perl;" \ + -e "s;\@prefix\@;%buildroot%prefix;" \ + -e "s;\@sbindir\@;%buildroot%_sbindir;" \ + -e "s;\@libexecdir\@;%buildroot%_libdir/apache;" \ + -e "s;\@includedir\@;$RPM_BUILD_DIR/apache_%apache_vanilla_version/src/include;" \ + -e "s;\@sysconfdir\@;%buildroot%_sysconfdir/httpd/conf;" \ + < $RPM_BUILD_DIR/apache-mod_perl_%apache_vanilla_version/src/support/apxs > local-apxs +%__chmod +x local-apxs +%__cp -p $RPM_BUILD_DIR/apache_%apache_vanilla_version/src/os/unix/{*.h,*inline.c} $RPM_BUILD_DIR/apache_%apache_vanilla_version/src/include/ +%__subst 's,$(APXS) -i -a -n perl libperl.so,$(APXS) -i -A -n perl libperl.so,' apaci/Makefile.tmpl +%__perl Makefile.PL PREFIX=%prefix INSTALLDIRS=vendor \ + USE_APXS=1 \ + WITH_APXS="$RPM_BUILD_DIR/mod_perl-standalone-%mod_perl_version/local-apxs" \ + EVERYTHING=1 +%make_build apxs_libperl + %install # install the normal Apache cd $RPM_BUILD_DIR/apache_%apache_vanilla_version @@ -603,6 +683,10 @@ %__perl -pi -e 's,/usr/local/bin/perl,%_bindir/perl,' \ %buildroot%perl_vendor_archlib/Apache/Resource.pm +# install mod_perl DSO +cd $RPM_BUILD_DIR/mod_perl-standalone-%mod_perl_version +%make_install apxs_install + # install proper initscripts %__mkdir_p %buildroot%_sysconfdir/rc.d/init.d @@ -684,6 +768,16 @@ %_sbindir/apachectl update fi +%post -n mod_perl +if [ -e %_sbindir/apachectl ]; then + %_sbindir/apachectl update +fi + +%postun -n mod_perl +if [ -e %_sbindir/apachectl ]; then + %_sbindir/apachectl update +fi + %post -n mod_perl-doc %__ln_s -nf %_docdir/mod_perl-doc-%mod_perl_version \ %apache_home/html/addon-modules/mod_perl @@ -745,9 +839,17 @@ %config(noreplace) %_sysconfdir/logrotate.d/apache %doc README LICENSE ABOUT_APACHE CHANGES.rus* %doc ../EAPI-%EAPI_version/pkg.eapi/README.EAPI +%if_with mod_deflate %doc ../mod_deflate-%mod_deflate_version/CHANGES.mod_deflate* %doc ../mod_deflate-%mod_deflate_version/LICENSE.mod_deflate %doc ../mod_deflate-%mod_deflate_version/readme.mod_deflate.ru.html +%endif + +%files -n mod_perl-common +%perl_vendor_archlib/Apache* +%perl_vendor_archlib/Bundle* +%perl_vendor_archlib/mod_perl* +%perl_vendor_autolib/Apache* %files %_initdir/httpd @@ -756,6 +858,7 @@ %_sbindir/apxs %config(noreplace) %_sysconfdir/httpd/conf/httpd.conf %_libdir/apache/ +%exclude %_libdir/apache/libperl.so %apache_root/modules %files mod_perl @@ -768,12 +871,12 @@ %config(noreplace) %_sysconfdir/httpd/conf/httpd-perl.conf %dir %_sysconfdir/httpd/conf/addon-modules/ %config(noreplace) %_sysconfdir/httpd/conf/addon-modules/proxied_handlers.pl -%perl_vendor_archlib/Apache* -%perl_vendor_archlib/Bundle* -%perl_vendor_archlib/mod_perl* -%perl_vendor_autolib/Apache* %attr(3771,root,%apache_group) %dir %apache_home/perl/ +%files -n mod_perl +%config(noreplace) %_sysconfdir/httpd/conf/addon-modules/mod_perl.conf +%_libdir/apache/libperl.so + %files -n mod_perl-doc %doc perldocs/* %doc %perl_vendor_privlib/*/*.pod @@ -797,7 +900,10 @@ # - implement RA versioning instead of renaming the patch? %changelog -* Mon Aug 16 2004 Michael Shigorin 1.3.31rusPL30.20-alt10 +* Thu Sep 30 2004 Sir Raorn 1.3.31rusPL30.20-alt11%release_tag +- Build mod_perl as DSO + +* Mon Aug 16 2004 Michael Shigorin 1.3.31rusPL30.20-alt10%release_tag - fixed #5002 (wrong perms on apache-common binaries excl. sample cgi-bin/*), thanks Vladimir Lettiev (crux@) for notifying!