Am Fri, 22 Aug 2003 17:34:40 +0000 schrieb Stas Bekman:

> Udo Rader wrote:
>> hi all,
>> 
>> for one of our webprojects I have to setup the typical
>> apache1-mod_perl-mod_ssl httpd, which is not too difficult. Our sysadmin
>> rules however require me to set this up as _one_ nice RPM package, which
>> should not be too difficult either, but of course there has to be some
>> problem.
>> 
>> The entire apache1, mod_perl etc. stuff has to be generally prefixed by
>> /usr/somedir.
>> 
>> Prefixing is no problem, but I run into troubles when requiring to
>> _temporarily_ install mod_perl to the RPM_BUILD_ROOT for later packaging
>> (%install section inside the SPEC-file):
>> 
> 
> why not downloading one of the existing src.rpms and look how they have done 
> it? e.g search for mod_perl at http://rpm.pbone.net/ or http://rpmfind.net/

I already tried this, checked out David Harris' SRPMS on
http://perl.apache.org/rpm/distrib/, but I don't do it other than him.

But anyway, I now tracked the problem down and found the bad boy
in this game:

For various reasons we have built our own perl 5.8.0. On the system side
however, we keep up with the most current version of perl which currently
is 5.8.1-RC4. Now the problem is not our own perl but the
ExtUtils::MakeMaker version that ships with the stock (and our) perl
5.8.0.

For our (and any other "stock") perl 5.8.0 the steps below don't deliver
expected results:

% tar xzf mod_perl-1.28.tar.gz
% tar xzf apache-1.3.28.tar.gz
% cd mod_perl-1.28
% /usr/bestsolution/bin/perl Makefile.PL \
    APACHE_SRC=../apache_1.3.28/src \
    PREFIX=/usr/somewhere \
    APACHE_PREFIX=/usr/somewhere \
    DO_HTTPD=1 \
    PREP_HTTPD=1 \
    USE_APACI=1 \
    EVERYTHING=1
% make
% make pure_install PREFIX=/var/tmp/usr/somewhere

After that the files are installed in /usr/somewhere/... instead of
/var/tmp/usr/somewhere, which is completely wrong.

Doing the same with perl 5.8.1-RC4 gives the expected results, all the
files are getting correctly installed in /var/tmp/usr/somewhere.

I then compared the Makefile produced by "our" version of perl and the one
produced by 5.8.1-RC4 and there were (of course) big differences. One of
the most apparent differences is the used ExtUtils::MakeMaker version.
Stock perl 5.8.0 ships with ExtUtils::MakeMaker 6.03 rev. 1.63 while 5.8.1
comes with ExtUtils::MakeMaker 6.13 rev. 1.127. And after upgrading to the
most recent version (6.16) everything is working as it should.

So it probably would be a good idea to introduce a dependency for at least
MakeMaker 6.13 into mod_perl's Makefile.PL, maybe like this trivial patch:

-------CUT--------
--- mod_perl-1.28/Makefile.PL 2003-08-23 00:14:41.000000000 +0200 
+++ mod_perl_1.28/Makefile.PL.good    2003-08-23 00:14:34.000000000 +0200
@@ -12,11 +12,11 @@
     } 
 } 

 sub MMN_130 () { 19980527 }
 
-use ExtUtils::MakeMaker;
+use ExtUtils::MakeMaker 6.13;
 use Config ();
 use FileHandle ();
 use DirHandle ();
 use File::Compare ();
 use File::Basename qw(dirname basename);
-------CUT--------

happy hacking

udo


-- 
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html

Reply via email to