The Cyrus perl modules

Paul Boven p.boven at chello.nl
Sat Jan 3 04:26:32 EST 2004


Hi everyone,

While trying to properly package up cyrus-imapd-2.1.16 I kept running 
into a snag with the perl subdirectory.

Some background: the OS in question is Solaris 9, using the built-in 
perl 5.6.1. MakeMaker.pm has been upgraded to 6.21 in order to have 
DESTDIR support.

What I'm trying to do is building a package by installing the software 
in a fake root directory, then call Solaris pkgproto and pkgmk, and then 
put the package on our install server:

./configure (lots of options)
gmake
gmake DESTDIR=/tmp/fakeroot install

However, and this will also happen if I do a 'regular' make install as 
root, the perl modules will end up under /usr/local because of the 
default PREFIX set in configure. Because there is no /usr/local in @INC 
at all, cyradm e.g. will not work because it cannot find the 
Cyrus::IMAP::Shell.pm module.

My suggestion: leave the location of the actual perl modules up to 
MakeMaker, so don't pass PREFIX when building the module makefiles out 
of Makefile.PL. To accomplish this, one would remove the PREFIX= entries 
from perl/Makefile.in (line 83) and perl/sieve/Makefile.in (line 81).

The only drawback of this is that cyradm and it's manpage end up under 
/usr/perl5/5.6.1/{bin,man}, which is arguably where they belong. For 
convenience, I've symlinked it from /usr/local/bin.

Regards, Paul Boven.




More information about the Info-cyrus mailing list