Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
DISCONTINUED:openSUSE:11.2
apache2-mod_perl
apache2-mod_perl.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File apache2-mod_perl.spec of Package apache2-mod_perl
# # spec file for package apache2-mod_perl (Version 2.0.4) # # Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild Url: http://perl.apache.org/ Name: apache2-mod_perl BuildRequires: apache2-devel db-devel ed pcre-devel perl-BSD-Resource perl-Compress-Zlib perl-Tie-IxHash perl-libwww-perl sudo %if 0%{sles_version} == 9 BuildRequires: openldap2-devel %endif %define apxs /usr/sbin/apxs2 %define apache apache2 %define apache_libexecdir %(%{apxs} -q LIBEXECDIR) %define apache_sysconfdir %(%{apxs} -q SYSCONFDIR) %define apache_includedir %(%{apxs} -q INCLUDEDIR) %define apache_serverroot %(%{apxs} -q PREFIX) %define apache_mmn %(MMN=$(%{apxs} -q LIBEXECDIR)_MMN; test -x $MMN && $MMN) Summary: Embedded Perl for Apache Group: Productivity/Networking/Web/Servers AutoReqProv: on License: The Apache Software License Requires: apache2 %{apache_mmn} Requires: perl = %{perl_version} Requires: perl-HTML-Parser perl-Tie-IxHash Requires: perl-URI perl-libwww-perl Obsoletes: mod_perl_2 Conflicts: mod_perl AutoReqProv: on Version: 2.0.4 Release: 40 Source0: mod_perl-%{version}.tar.bz2 Patch: %{name}-%{version}-tests.diff #%define apache_test_version 1_99_15 # cvs -d :pserver:anoncvs@cvs.apache.org:/home/cvspublic up -r MODPERL_%{apache_test_version} #Source1: Apache-Test-%{apache_test_version}.tar.bz2 #Url: http://perl.apache.org/ Icon: mod_perl.xpm BuildRoot: %{_tmppath}/%{name}-%{version}-build %description The Apache/Perl integration project brings together the full power of the Perl programming language and the Apache HTTP server. With mod_perl, it is possible to write Apache modules entirely in Perl. The persistent interpreter embedded in the server avoids the overhead of starting an external interpreter and the penalty of Perl start-up time. Note that you do not need mod_perl to run perl scripts via the common gateway interface (CGI). mod_perl enables you to run Perl scripts in an embedded interpreter if the additional performance is needed, but may require modifications to the scripts. Usage: To load the module into Apache, run the command "a2enmod perl" as root. To learn about the configuration, the best reference unequivocally is http://perl.apache.org/docs/ For porting 1.0 applications to 2.0, the page http://perl.apache.org/docs/2.0/user/porting/compat.html should give the required information. Most mod_perl handlers use the perl-script handler. Scripts can run in "mod_perl mode" (preconfigured for URLs starting with /perl/) or "perl cgi mode" (preconfigured for URLs starting /cgi-perl). Plain CGI scripts can be run via /cgi-bin/. In all these cases, the script would be placed inside the /srv/www/cgi-bin/ directory. Refer to /etc/apache2/conf.d/mod_perl.conf about this configuration. %package devel License: The Apache Software License Summary: Embedded Perl for Apache - Development package Group: Productivity/Networking/Web/Servers AutoReqProv: on Requires: %{name} = %{version} Provides: apache2-mod_perl:/usr/include/apache2/modules/perl/modperl_cgi.h %description devel The Apache/Perl integration project brings together the full power of the Perl programming language and the Apache HTTP server. This package contains the include files useful for developing new software depending on apache2-mod_perl. %prep #%setup -q -n modperl-2.0 -a 1 %setup -q -n mod_perl-%{version} %patch find -name ".svn" -type d | xargs rm -rfv %build perl Makefile.PL MP_APXS=`which %{apxs}` MP_CCOPTS="$(%{apxs} -q CFLAGS)" ln -s Apache-mod_perl_guide-1.29/bin bin make # XXX mod_include/SSI does not include files when they are not named .shtml mv t/htdocs/includes-registry/test.pl t/htdocs/includes-registry/test.shtml mv t/htdocs/includes-registry/cgipm.pl t/htdocs/includes-registry/cgipm.shtml sed 's/\.pl/.shtml/' t/htdocs/includes/test.shtml > tmpfile && mv tmpfile t/htdocs/includes/test.shtml %ifnarch %arm # # Run tests # # Don't use sendfile because most systems on which this package will be built don't run a # kernel that has it implemented, actually # (Files smaller than 256 bytes will be delivered via conventional read/write, so most of the tests would pass nevertheless.) echo -e '\n\nEnableSendfile off' >> t/conf/extra.conf.in # # fix for bad_scripts.t in 1.99_12 # [Tue Mar 02 17:28:26 2004] [error] file permissions deny server execution/usr/src/packages/BUILD/modperl-2.0/ModPerl-Registry/t/cgi-bin/r_inherited.pl if test -e ModPerl-Registry/t/cgi-bin/r_inherited.pl; then chmod +x ModPerl-Registry/t/cgi-bin/r_inherited.pl; fi # # 1.99_12_20040302 fix for t/hooks/cleanup.t and t/hooks/cleanup2.t # [Tue Mar 02 18:38:41 2004] [error] [client 127.0.0.1] can't open /usr/src/packages/BUILD/modperl-2.0/t/htdocs/hooks/cleanup2: Permission denied at /usr/src/packages/BUILD/modperl-2.0/Apache-Test/lib/Apache/TestUtil.pm line 82. # # enable more apache modules # we can't simply use a2enmod, since we are not root. cat >> t/conf/extra.conf.in <<-EOF LoadModule deflate_module /usr/%_lib/apache2-prefork/mod_deflate.so LoadModule proxy_module /usr/%_lib/apache2-prefork/mod_proxy.so LoadModule proxy_http_module /usr/%_lib/apache2-prefork/mod_proxy_http.so EOF mkdir -p t/htdocs/hooks chmod 2770 t/htdocs/hooks # # run test suite: # #make TEST_VERBOSE=1 APACHE_TEST_PORT=select APACHE_TEST_STARTUP_TIMEOUT=360 test || { # ps aufx | grep "/usr/sbin/httpd2-prefork -d /usr/src/packages/BUILD/modperl-2.0" \ # | grep -v grep | awk '{print $2}' | xargs -r kill # exit 1 #} t/TEST -start-httpd -port select -startup_timeout 720 t/TEST -run-tests || true t/TEST -run-tests || { t/TEST -stop-httpd exit 1 } t/TEST -stop-httpd # in case of failures, see http://perl.apache.org/docs/2.0/user/help/help.html#_C_make_test___Failures # then, debug like this: # t/TEST -start-httpd # tail -F t/logs/*& # t/TEST -run-tests -verbose $failed_test # t/TEST -stop-httpd %endif %install rm -rf $RPM_BUILD_ROOT make DESTDIR=$RPM_BUILD_ROOT install_vendor mkdir -p $RPM_BUILD_ROOT/%{apache_libexecdir} cp -p src/modules/perl/mod_perl.so $RPM_BUILD_ROOT/%{apache_libexecdir} mkdir -p $RPM_BUILD_ROOT/%{apache_includedir}/modules/perl cp src/modules/perl/*.h $RPM_BUILD_ROOT/%{apache_includedir}/modules/perl/ %perl_process_packlist mkdir -p $RPM_BUILD_ROOT/%{apache_sysconfdir}/conf.d cat > $RPM_BUILD_ROOT/%{apache_sysconfdir}/mod_perl-startup.pl <<-EOF # Taken from http://perl.apache.org/docs/2.0/user/handlers/server.html#Startup_File if ( ! \$ENV{MOD_PERL}) { die "GATEWAY_INTERFACE not Perl!"; } use lib qw(/srv/www/perl-lib); # enable if the mod_perl 1.0 compatibility is needed # use Apache2::compat (); # preload all mp2 modules # use ModPerl::MethodLookup; # ModPerl::MethodLookup::preload_all_modules(); use ModPerl::Util (); #for CORE::GLOBAL::exit use Apache2::RequestRec (); use Apache2::RequestIO (); use Apache2::RequestUtil (); use Apache2::ServerRec (); use Apache2::ServerUtil (); use Apache2::Connection (); use Apache2::Log (); use APR::Table (); use ModPerl::Registry (); use Apache2::Const -compile => ':common'; use APR::Const -compile => ':common'; 1; EOF mkdir -p $RPM_BUILD_ROOT/%{apache_serverroot}/perl-lib cat > $RPM_BUILD_ROOT/%{apache_sysconfdir}/conf.d/mod_perl.conf <<EOF <Directory "%{apache_serverroot}/perl-lib"> AllowOverride None Options None Order allow,deny Deny from all </Directory> <IfModule mod_perl.c> PerlRequire "/etc/apache2/mod_perl-startup.pl" ScriptAlias /perl/ "%{apache_serverroot}/cgi-bin/" <Location /perl/> # mod_perl mode SetHandler perl-script PerlResponseHandler ModPerl::Registry PerlOptions +ParseHeaders Options +ExecCGI </Location> ScriptAlias /cgi-perl/ "%{apache_serverroot}/cgi-bin/" <Location /cgi-perl> # perl cgi mode SetHandler perl-script PerlResponseHandler ModPerl::PerlRun PerlOptions +ParseHeaders Options +ExecCGI </Location> # The /cgi-bin/ ScriptAlias is already set up in httpd.conf </IfModule> # vim: ft=apache EOF # install documentation files alongside perl modules, where applicable cp -av docs/api/*.pod $RPM_BUILD_ROOT/%{perl_vendorarch}/ cp -av docs/api/APR/*.pod $RPM_BUILD_ROOT/%{perl_vendorarch}/APR/ cp -av docs/api/Apache2/*.pod $RPM_BUILD_ROOT/%{perl_vendorarch}/Apache2/ cp -av docs/api/ModPerl/*.pod $RPM_BUILD_ROOT/%{perl_vendorarch}/ModPerl/ # remove unwanted files find $RPM_BUILD_ROOT/%{perl_sitearch} -name .packlist | xargs --no-run-if-empty rm -v %files %defattr(-,root,root) %doc Changes INSTALL LICENSE README RELEASE STATUS %doc docs %dir %{apache_libexecdir} %{apache_libexecdir}/mod_perl.so /var/adm/perl-modules/%{name} %config(noreplace) %{apache_sysconfdir}/mod_perl-startup.pl %config(noreplace) %{apache_sysconfdir}/conf.d/mod_perl.conf %dir %{apache_serverroot}/perl-lib %{_mandir}/man3/* %{perl_vendorarch}/Apache %{perl_vendorarch}/Apache2 %{perl_vendorarch}/APR %{perl_vendorarch}/APR.pm %{perl_vendorarch}/Bundle %{perl_vendorarch}/ModPerl #%{perl_vendorarch}/MyTest #%dir %{perl_sitearch}/auto %{perl_vendorarch}/auto/* %{perl_vendorarch}/mod_perl2.pm %{perl_vendorarch}/*.pod /usr/bin/mp2bug %files devel %defattr(-,root,root) %dir %{apache_includedir} %dir %{apache_includedir}/modules %{apache_includedir}/modules/perl %clean if ! test -f /.buildenv; then rm -rf $RPM_BUILD_ROOT fi %changelog * Thu Nov 06 2008 anicka@suse.cz - temporarily disable two tests that fail due to the bug in Apache-Test * Fri Jun 27 2008 anicka@suse.cz - update to 2.0.4 * Refactor tests to use keepalives instead of same_interp * Apache2::Reload has been moved to an externally maintained CPAN distribution * Expose apr_thread_rwlock_t with the APR::ThreadRWLock module * Catch up with some httpd API changes * SECURITY: CVE-2007-1349 (cve.mitre.org) fix unescaped variable interprolation in regular expression fix ModPerl::RegistryCooker::read_script to handle all possible errors, previously there was a case where Apache2::Const::OK was returned on an error. * bugfixes - enable test suite * Tue Jan 15 2008 ro@suse.de - update to SVN version to build with current perl - still ignore test-suite errors for the moment * Thu Jun 14 2007 anicka@suse.cz - split up devel subpackage * Tue Jan 23 2007 anicka@suse.cz - update to 2.0.3 * Prevent things in %%INC that are not stat() able from breaking Apache2::Status 'Loaded Modules' under fatal warnings. * Multi-line $PerlConfig is now working * Fixed problems with add_config() and thread-safety * Added support for httpd-2.2's new override_opts in Apache2::Access. Calls to add_config() now accept an override_opts value as the 4th argument. * more minor fixes and improvements - remove last two patches (fixed in upstream) - temporarily disable t/api/server_const.t because it does not work with current get_server_version() * Wed Aug 09 2006 poeml@suse.de - build fix for sles9: add openldap2-devel to BuildRequires * Fri Jul 14 2006 olh@suse.de - rename gzip archive from .bz2 to .gz * Tue Jul 04 2006 poeml@suse.de - add mod_perl-r411028-t_api_status.patch and mod_perl-t_content_length-r412063.patch, which both fix test cases to work with httpd trunk - remove SOL_IPV6-test.c and mod_perl-1.99_09-ipv6.dif, which have not been needed for long enough now - enable more apache modules in testing (deflate, proxy, proxy_http) * Mon Jan 30 2006 poeml@suse.de - removed libapr-util1-devel from BuildRequires (apache2-devel does require it) * Wed Jan 25 2006 mls@suse.de - converted neededforbuild to BuildRequires * Wed Dec 21 2005 varkoly@suse.de - Update to 2.0.2 * Mon Dec 12 2005 poeml@suse.de - fix quoting of dollar sign in here document which creates the startup file [#136882] * Tue Nov 15 2005 uli@suse.de - disabled tests on ARM, don't make much sense with current QEMU * Fri Aug 12 2005 poeml@suse.de - install documentation [#95243] * Tue Aug 02 2005 pth@suse.de - mod_perl2 needs a different startup file (#99275) * Wed Jul 27 2005 pth@suse.de - Update to 2.0.1 * Tue Jan 25 2005 poeml@suse.de - update 2.0.0 to release candidate 4 - move usage hints from %%post into package description - remove obsolete stuff from %%clean * Mon Dec 20 2004 poeml@suse.de - update to 2.0.0, release candidate 1 - comment out mod_perl-1.99_09-ipv6.dif, it shouldn't be needed anymore for the build farm - the call to /usr/share/apache2/get_module_list is not needed - fix startup file for recent changes * Mon Oct 11 2004 poeml@suse.de - update to 1.99_15_20040907 - put Apache-Test in separate tarball * Tue Mar 02 2004 poeml@suse.de - update to CVS snapshot 1.99_12_20040302 - two tests need small tweaks for file permissions - mod_perl-1.99_09-perlmm.dif is obsolete - remove file ROADMAP from filelist * Thu Feb 19 2004 ro@suse.de - added check-build.sh (build on 2.6 hosts only) * Wed Jan 28 2004 ro@suse.de - build as normal user * Tue Nov 18 2003 poeml@suse.de - add some comments about the SOL_IPV6-test.c test program [#31246] * Mon Sep 22 2003 mls@suse.de - fix build for official perl-5.8.1 (missing MM initialization) * Thu Aug 28 2003 poeml@suse.de - last added patch is not needed - clean up some old cruft from the spec file - use only IPv4 sockets for testing, if SOL_IPV6 socket option is not available. With this the package builds on all machines. * Thu Aug 21 2003 mjancar@suse.cz - honor user supplied OPTIMIZE like original MakeMaker does - use $RPM_OPT_FLAGS * Wed Aug 20 2003 mjancar@suse.cz - require the perl version we build with * Thu Aug 07 2003 poeml@suse.de - update to snapshot 1.99_09_20030803 - enable t/apr-ext/uuid.t (problem was that apr-config wasn't found) - add db-devel to neededforbuild, so APR.so can be linked with `apu-config --ldflags --libs` * Wed Aug 06 2003 poeml@suse.de - fix last change: config-dist.sh did never exit with "ok" * Tue Aug 05 2003 ro@suse.de - use different string in config-dist.sh (one we check for ...) * Mon Aug 04 2003 poeml@suse.de - config-dist.sh: build only on hosts that support listening on IPv6-only sockets - increase the timeout when waiting for the test server. - add extra precautions to stop test server. The start can hang if the random device blocks, and when no pid file has been written the testsuite will not kill it - don't make use of %%jobs, it doesn't work - obsolete mod_perl_2, the precursor - fix typo in %%post * Mon Aug 04 2003 poeml@suse.de - update to snapshot 1.99_09_20030803 - disable a new test that fails - add a diagnostic config-dist.sh * Mon Jul 28 2003 poeml@suse.de - update to snapshot 1.99_09_20030727 - add sudo to the buildsystem, so the tests can be run as nobody - don't explicitely strip binaries since RPM handles it, and may keep the stripped information somewhere - add perl-Compress-Zlib to the buildsystem (for another test) - CFLAGS can be taken from apxs -q CFLAGS, and they'll match. It's better not to miss _FILE_OFFSET_BITS=64 - allow passing of "jobs" define from rpm for make -j - install with install_vendor target, and use %%{perl_vendorarch} macro * Tue Jul 01 2003 ro@suse.de - use perl_process_packlist macro * Tue Jun 17 2003 poeml@suse.de - add missing directories - add a hint on how to configure mod_perl * Tue Jun 10 2003 poeml@suse.de - update to 2.0_20030610110118 snapshot (called 1.99_09_20030610) * Fri Feb 28 2003 poeml@suse.de - make the test suite pass again, by renaming two .pl files of the test suite to .shtml, because mod_include didn't include files other than .shtml any longer * Wed Feb 12 2003 poeml@suse.de - rename package from mod_perl_2 to apache2-mod_perl * Tue Feb 11 2003 poeml@suse.de - call the new apache configuration script, so modules that are needed for the test get loaded * Mon Feb 10 2003 poeml@suse.de - MPM specific links to mod_dav_svn.so are no longer needed - add apache_libexecdir to filelist * Tue Jan 14 2003 poeml@suse.de - update to 1.99_08 - <Perl> directive missing closing '>' bug fixed, and much else - drop /etc/apache2/modules/mod_perl - add /etc/apache2/mod_perl-startup.pl, setting up with /srv/www/perl-lib in @INC - add /etc/apache2/conf.d/mod_perl.conf, setting up scriptaliases /perl/, and /cgi-perl/ (for unaltered CGI scripts under mod_perl) - use %%defattr * Wed Dec 04 2002 poeml@suse.de - update to 1.99_07 - build one module, it works for all MPMs - use RPM_OPT_FLAGS * Fri Aug 30 2002 poeml@suse.de - new package with mod_perl-1.99_05 for Apache 2
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor