Subject: pkg/30931: perl module installatin failed in mail/cyrus-imapd
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <obata@lins.jp>
List: pkgsrc-bugs
Date: 08/07/2005 05:28:00
>Number:         30931
>Category:       pkg
>Synopsis:       perl module installation failed in mail/cyrus-imapd
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Sun Aug 07 05:28:00 +0000 2005
>Originator:     OBATA Akio
>Release:        NetBSD 2.0.2_STABLE
>Organization:
	LINS, Japan.
>Environment:
System: NetBSD miki.lins.jp 2.0.2_STABLE NetBSD 2.0.2_STABLE (MIKI) #3: Sat Apr 16 22:07:03 JST 2005 obata@miki.lins.jp:/usr/src/sys/arch/i386/compile/MIKI i386
Architecture: i386
Machine: i386
>Description:
	New perl pkgsrc install modules in 'vendor' instead of 'site'.
	But this hack in lang/perl/modules.mk don't work if 'PERL5_CONFIGURE=no'.
	Cyrus-imapd do MakeMaker in his own Makefile, so try to install
	'site' directory instead of 'vendor' directory, 
	but '/usr/pkg/lib/perl5/site' directory doesn't exist,
	so installation failed like a following error.

Use of uninitialized value in -d at
/usr/pkg/lib/perl5/5.8.0/File/Path.pm line 159.
fileparse(): need a valid pathname at
/usr/pkg/lib/perl5/5.8.0/File/Path.pm line 160
make: *** [pure_site_install] Error 2

	if 'site' directory exists, installation will be succeed,
	but in 'site' not in 'vendor'.

>How-To-Repeat:
	cd /usr/pkgsrc/mail/cyrus-imapd & make install

	other pkgsrc doing MakeMaker by himself will be failed.

	And perl module installation by hand ( not use pkgsrc)
	also will be failed.

>Fix:
	Add 2 new pkgsrc patches to fix mail/cyrus-imapd.

=== patch-1 ===
$NetBSD$

--- perl/Makefile.in.orig	2003-10-23 03:50:17.000000000 +0900
+++ perl/Makefile.in
@@ -82,7 +82,7 @@ all::
 			   BDB_LIB="$(BDB_LIB)" BDB_INC="$(BDB_INC)" \
 			   OPENSSL_LIB="$(OPENSSL_LIB)" OPENSSL_INC="$(OPENSSL_INC)" \
 			   SASL_LIB="$(SASL_LIB)" SASL_INC="$(SASL_INC)" CC="$(CC)" \
-			     $(PERL) Makefile.PL PREFIX=$(prefix); \
+			     $(PERL) Makefile.PL PREFIX=$(prefix) INSTALLDIRS=vendor; \
 			fi; \
 			$(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) all) || exit 1; \
 	done
=== patch-2 ===
$NetBSD$

--- perl/sieve/Makefile.in.orig	2003-10-23 03:50:24.000000000 +0900
+++ perl/sieve/Makefile.in
@@ -84,7 +84,7 @@ all::
 			   BDB_LIB="$(BDB_LIB)" BDB_INC="$(BDB_INC)" \
 			   OPENSSL_LIB="$(OPENSSL_LIB)" OPENSSL_INC="$(OPENSSL_INC)" \
 			   SASL_LIB="$(SASL_LIB)" SASL_INC="$(SASL_INC)" CC="$(CC)" \
-			     $(PERL) Makefile.PL PREFIX=$(prefix); \
+			     $(PERL) Makefile.PL PREFIX=$(prefix) INSTALLDIRS=vendor; \
 			fi; \
 			$(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) all) || exit 1; \
 	done