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