Sisyphus
: 1 2023 | : 18631 | : 37478590
en ru br
ALT
S:2.0.11-alt3
5.1: 2.0.4-alt1
4.1: 2.0.3-alt5
4.0: 2.0.3-alt5
www.altlinux.org/Changes

:: /
: apache2-mod_perl

             Sources      Gear   Bugs and FR  Repocop 

# Spec file for mod_perl2 module for Apache 2.0 server

%define real_name    mod_perl
%define module_name  perl
%define version      2.0.3
%define release      alt5

%define public_release YES
%define        inside_bte      %defined __BTE

Name:    apache2-mod_perl
Version: %version
Release: %release

Summary: an embedded Perl interpreter for the Apache2 Web server
Summary(ru_RU.UTF-8): встроенный интерпретатор Perl для веб-сервера Apache2

License: Apache License v. 2.0
Group:   System/Servers
URL:     http://perl.apache.org/

Packager: Nikolay A. Fetisov <naf at altlinux.ru>

Source:  http://perl.apache.org/dist/%real_name-%version.tar.bz2
Source1: perl.load
Source2: perl.conf
Source3: perl.start

Patch0:  mod_perl-2.0.2-multilib.patch
Patch1:  %name-2.0.3-alt-perl_5.8.8_alt7.patch

Patch2:  %name-2.0.3-alt-tests-both_str_req_proxy.patch
Patch3:  %name-2.0.3-alt-tests-ipsubnet.patch
Patch4:  %name-2.0.3-alt-tests-sockaddr.patch
Patch5:  %name-2.0.3-alt-tests-request_body.patch
Patch6:  %name-2.0.3-alt-tests-out_bbs_filebucket.patch
Patch7:  %name-2.0.3-alt-tests-note.patch
Patch8:  %name-2.0.3-alt-tests-setupenv.patch
Patch9:  %name-2.0.3-alt-tests-server_const.patch
Patch10: %name-2.0.3-alt-apache_test_config.patch
Patch11: %name-2.0.3-alt-tests-uploads.patch

Patch12: %name-2.0.3-alt-CVE-207-1349.patch

BuildRequires(pre): perl-base >= 5.6.1, perl-devel, perl-threads
BuildRequires(pre): apache2-devel >= 2.2.4-alt14
BuildRequires: %apache_apr_buildreq
BuildRequires: libgdbm-devel
BuildRequires: perl-Math-BigInt, perl-HTML-Parser, perl-BSD-Resource
BuildRequires: perl-Compress-Zlib, perl-CGI, perl-Encode

PreReq: apache2 >= %apache_version-%apache_release


%description
Mod_perl  incorporates a  Perl  interpreter into the  Apache web
server, so that the  Apache web server can directly execute Perl
code.

Mod_perl provides an object-oriented Perl interface for Apache's
C language API and allows to manage Apache,  respond to requests
for web pages  and much more.  The end result  is a quicker  CGI
script  turnaround process,  since no external  Perl interpreter
has to be started.

Install  mod_perl if you're installing the Apache web server and
you'd like for it to directly incorporate a Perl interpreter.

%description -l ru_RU.UTF-8
Mod_perl  встраивает интерпретатор Perl в веб-сервер Apache,
позволяя веб серверу непосредственно исполнять код на Perl.

Mod_perl предоставляет объектно-ориентированный интерфейс на
Perl к внутреннему API Apache  и позволяет управлять Apache,
отвечать на запросы  веб-страниц и многое другое. В конечном
итоге,  использование mod_perl позволяет ускорить выполнение
CGI-скриптов, так как исключает необходимость в вызовах
внешнего интерпретатора Perl.

Mod_perl может быть полезен,  если Вы установили  веб-сервер
Apache и Вам нужна интегрированная поддержка Perl в нём.


%package devel
Summary: files needed for building XS modules that use mod_perl
Summary(ru_RU.UTF-8): файлы для сборки модулей Perl, использующих mod_perl
Group:   Development/C
Requires: %name = %{version}-%{release}, apache2-devel
Provides: %name-devel = %version-%release
Obsoletes: %name-devel

%description devel
Mod_perl  incorporates a Perl interpreter into the Apache web
server,  so that the  Apache  web server can directly execute
Perl code.

This package contains the files needed for building XS modules
that use mod_perl.

%description devel -l ru_RU.UTF-8
Mod_perl встраивает интерпретатор Perl в веб-сервер Apache,
позволяя веб серверу непосредственно исполнять код на Perl.

Данный пакет содержит файлы, необходимые для разработки
XS-модулей на Perl, использующих mod_perl.


%package doc
Summary: mod_perl2 Apache module documentation
Summary(ru_RU.UTF-8): документация к модулю Apache mod_perl2
Group:   Documentation
Requires: %name = %{version}-%{release}
Provides: %name-doc = %version-%release
Obsoletes: %name-doc

%description doc
Mod_perl  incorporates a Perl interpreter into the Apache web
server,  so that the  Apache  web server can directly execute
Perl code.

This package contains the documentation for mod_perl Apache2
module.

%description doc -l ru_RU.UTF-8
Mod_perl встраивает интерпретатор Perl в веб-сервер Apache,
позволяя веб серверу непосредственно исполнять код на Perl.

Данный пакет содержит документацию к модулю mod_perl.



###########################

# Building mod_perl in incoming's hasher environment
# causes an sporadic and eventual errors during
# extensive test load. Disabling test for public releases.
%ifdef __BTE
   %ifdef public_release
       %def_without test
   %endif
%endif

# Skip dependence search for some modules

%add_findreq_skiplist */Test/Builder.pm */Apache/Test.pm
%add_findreq_skiplist */Apache/TestConfig.pm */Apache/TestConfigC.pm
%add_findreq_skiplist */Apache/TestConfigParse.pm */Apache/TestConfigPerl.pm
%add_findreq_skiplist */Apache/TestHarness.pm */Apache/TestMM.pm
%add_findreq_skiplist */Apache/TestRequest.pm */Apache/TestRun.pm
%add_findreq_skiplist */Apache/TestClient.pm */Apache/TestMB.pm
%add_findreq_skiplist */Apache/TestServer.pm
%add_findreq_skiplist */Apache2/SourceTables.pm */Apache2/compat.pm
%add_findreq_skiplist */Apache2/SizeLimit.pm */Apache2/Resource.pm
%add_findreq_skiplist */ModPerl/CScan.pm */ModPerl/Code.pm
%add_findreq_skiplist */ModPerl/RegistryLoader.pm

%prep
%setup -q -n %real_name-%version
%patch0 -p1

# Fix for perl 5.8.8-alt8

%patch1

# Remove tests

%patch2
%patch3
%patch4
%patch5
%patch6
%patch7
%patch8
%patch9
%patch10

[[ "%inside_bte" == "1" ]] && patch -p0 < %PATCH11

# Bug fixes

%patch12

mv -f -- LICENSE LICENSE.orig
ln -s -- $(relative %_licensedir/Apache-2.0 %_docdir/%name/LICENSE) LICENSE

# Full path to Apache2 modules

%__subst 's! at apache_moduledir at !%apache_moduledir!g' t/conf/extra.conf.in \
   ModPerl-Registry/t/conf/extra.conf.in \
   Apache-Test/t/conf/extra.conf.in

%build
%perl_vendor_build MP_APXS=%a_apxs MP_APR_CONFIG=%apache_apr_config

%install
%perl_vendor_install UNINST=0

# Install the config file

install -d -m 755 -- $RPM_BUILD_ROOT%a_mods_available
install -d -m 755 -- $RPM_BUILD_ROOT%a_mods_start

install -p -m 644 -- %SOURCE1 $RPM_BUILD_ROOT%a_mods_available/%module_name.load
install -p -m 644 -- %SOURCE2 $RPM_BUILD_ROOT%a_mods_available/%module_name.conf
subst 's, at a_libexecdir at ,%a_libexecdir,g' $RPM_BUILD_ROOT%a_mods_available/%module_name.load
install -p -m 644 -- %SOURCE3 $RPM_BUILD_ROOT%a_mods_start/100-%module_name.conf


# Install missed modules from install script

install -p -m 644 -- xs/tables/current/APR/FunctionTable.pm      $RPM_BUILD_ROOT%perl_vendor_archlib/APR/FunctionTable.pm
install -p -m 644 -- xs/tables/current/Apache2/ConstantsTable.pm $RPM_BUILD_ROOT%perl_vendor_archlib/Apache2/ConstantsTable.pm
install -p -m 644 -- xs/tables/current/Apache2/FunctionTable.pm  $RPM_BUILD_ROOT%perl_vendor_archlib/Apache2/FunctionTable.pm
install -p -m 644 -- xs/tables/current/Apache2/StructureTable.pm $RPM_BUILD_ROOT%perl_vendor_archlib/Apache2/StructureTable.pm
install -p -m 644 -- xs/tables/current/ModPerl/FunctionTable.pm  $RPM_BUILD_ROOT%perl_vendor_archlib/ModPerl/FunctionTable.pm

%post
# Reconfigure Apache2:
%a_sbindir/a2chkconfig ||:

if [ -e %a_mods_enabled/%module_name.load ]; then
   CONF_OK=0
   %a_sbindir/apachectl2 configtest && CONF_OK=1 ||:
   if [ "$CONF_OK" = "1" ]; then
service %a_dname condrestart ||:
   else
       echo "Some errors detected in Apache2 configuration!"
echo "To use %real_name check configuration and start %a_dname service."
   echo
   fi
else
   echo "Apache2 %real_name module had been installed, but does't enabled."
   echo "Check %a_mods_start directory for files with '%module_name=no' lines."
   echo
fi

%preun
if [ "$1" = "0" ] ; then # last uninstall
   [ -e %a_mods_enabled/%module_name.load ] && %a_sbindir/a2dismod %module_name 2>&1 >/dev/null ||:
fi


%postun
# Reconfigure Apache2:
%a_sbindir/a2chkconfig ||:
if [ "$1" = "0" ] ; then # last uninstall
   CONF_OK=0
   %a_sbindir/apachectl2 configtest && CONF_OK=1 ||:
   if [ "$CONF_OK" = "1" ]; then
service %a_dname condrestart ||:
   else
       echo "Some errors detected in Apache2 configuration!"
echo "To complete %real_name uninstalling check configuration and restart %a_dname service."
echo
   fi
fi


%files
%doc Changes README
%doc --no-dereference LICENSE

%config(noreplace) %a_mods_available/%module_name.conf
%config            %a_mods_available/%module_name.load
%config            %a_mods_start/100-%module_name.conf

%_bindir/mp2bug
%a_libexecdir/%real_name.so

%perl_vendor_archlib/mod_perl2.pm
%perl_vendor_archlib/Apache/*
%perl_vendor_archlib/Apache2/*
%perl_vendor_archlib/Bundle/*
%perl_vendor_archlib/APR*
%perl_vendor_archlib/ModPerl*
%perl_vendor_autolib/mod_perl2*
%perl_vendor_autolib/Apache2*
%perl_vendor_autolib/ModPerl*
%perl_vendor_autolib/APR*

%exclude %_man3dir/*

%files devel
%doc SVN-MOVE BRANCHING README-SVN RELEASE STATUS
%a_includedir/mod_perl.h
%a_includedir/modperl_*.h

%files doc
%doc docs/*

%changelog

changelog

 
: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
: Michael Shigorin