perl-modperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Torsten Förtsch <torsten.foert...@gmx.net>
Subject Re: Building and installing mod_perl as a complete package
Date Tue, 21 Dec 2010 11:46:57 GMT
On Tuesday, December 21, 2010 01:07:06 Mohit Anchlia wrote:
> I created a rpm for the files in DESTDIR but when I tried to install I see:
> 
> rpm -ivh mod-perl-2.0.4-rpm.rpm
> error: Failed dependencies:
>         perl(Apache2::FunctionTable) is needed by mod-perl-2.0.4-1.noarch
>         perl(Apache2: StructureTable) is needed by mod-perl-2.0.4-1.noarch
>         perl(Apache::TestConfigParse) is needed by mod-perl-2.0.4-1.noarch
>         perl(Apache::TestConfigPerl) is needed by mod-perl-2.0.4-1.noarch
>         perl(BSD::Resource) is needed by mod-perl-2.0.4-1.noarch
>         perl(Data::Flow) is needed by mod-perl-2.0.4-1.noarch
>         perl(Module::Build) >= 0.18 is needed by mod-perl-2.0.4-1.noarch
> 
> Then I looked inside the source directory and it looks like for eg
> StructureTable is not in DESTDIR. And also when I installed with
> --nodeps and tested my code it seems to work fine. I am confused if
> the above are needed or not?

Enclosed you'll find a SPEC file that works for me. It uses perl and apache in 
/opt. Note that the install_vendor target works only if 2 conditions are met. 
Firstly, modperl trunk is used and, secondly, perl is compiled with a vendor 
path. I build RPM packages for various opensuse/sles versions. For Redhat or 
Centos your mileage may vary.

As for the error message above, Apache2::{Function,Structure}Table are modules 
used only for building modperl. They are normally not installed. 

Apache::Test... are part of Apache::Test and are needed if you want to test AT 
based modules. They are normally installed together with modperl. So, perhaps 
your %files entry is incomplete. There is an option in the RPM system that if 
set makes rpmbuild fail if there are files DESTDIR that are not covered by 
%files. On suse this (perhaps _unpackaged_files_terminate_build) is set by 
default.

BSD::Resource is not needed. modperl uses it it its test suite. But the test 
is simply skipped if it's not available. Module::Build is part of perl core 
since 5.10.0. modperl does not use it, AFAIK. Data::Flow is not installed on 
any of my build machines. So, somehow your dependencies are wrong. Do you use 
"Autoreqprov"? If yes it does not work. Otherwise check your "Requires" 
definitions.

See also: http://www.rpm.org/max-rpm/index.html

Torsten Förtsch

-- 
Need professional modperl support? Hire me! (http://foertsch.name)

Like fantasy? http://kabatinte.net

Mime
View raw message