松林です。 必要があって多くの perl module をパッケージ作成中ですが、 この際、以下のことに気付きました。 (1) .so モジュールやバイナリなどを含むパッケージは arch dependent (2) .pm ファイルなどだけのパッケージは arch independent ですが、(2) の一部でも、noarch ではなく arch dependent なパッケージに なっているものがあります。ここではそれはさておき。 (1) の多くは、%{perl_vendorarch}, %{perl_sitearch} が使われ、 (2) の多くは、%{perl_vendorlib}, %{perl_sitelib} が使われています (やはり例外も見受けられますが、ここでは触れません)。 現在の perl (6.x, VineSeed 共に) では、以下の様になっています。 (x86_64 の場合) $ perl -V:installsitelib installsitelib='/usr/lib64/perl5/site_perl/5.12.3'; $ perl -V:installsitearch installsitearch='/usr/lib64/perl5/site_perl/5.12.3/x86_64-linux-thread-multi'; $ perl -V:installvendorlib installvendorlib='/usr/lib64/perl5/vendor_perl/5.12.3'; $ perl -V:installvendorarch installvendorarch='/usr/lib64/perl5/vendor_perl/5.12.3/x86_64-linux-thread-multi'; {site,vendor}{arch,lib} の使い分けはここではさておき、 (1) の場合 (arch dependent) は {site,vendor}arch、 (2) の場合 (arch independent) は {site,vendor}lib という使い分けで暗黙の了解がとれていたものとします。 問題は、(2) の arch independent モジュールのパッケージを build する際です。 x86_64 上で build した noarch.rpm のモジュールは /usr/lib64/perl5/*/... へと配置され、結果 ix86 の環境では モジュールパスにないため認識されません。 逆に ix86 上で build した noarch.rpm のモジュールは /usr/lib/perl5/*/... へと配置されるため、x86_64 環境でも 問題なく認識され使用できます。 そこで、メール末尾のように sitelib, vendorlib のデフォルト suffix を ix86, x86_64 共に /usr/lib/ 固定にしてしまう、という方策を 考えています。 まとめると、perl module パッケージ作成時に、インストール先として * arch dependent なものは %{perl_sitearch}, %{perl_vendorarch} を使う * arch independent なものは %{perl_sitelib}, %{perl_vendorlib} を使う * perl パッケージにおいて {site,vendor}lib のプレフィクスを /usr/lib 固定に変更し、x86_64 上で build しても問題のないようにする という提案です。 もしかしたら根本的に勘違いをしているかもしれません。 上記について、なにかコメントを頂ければ幸いです。 --- perl-vl.spec.orig 2011-10-31 07:44:16.000000000 +0900 +++ perl-vl.spec 2012-03-05 13:25:28.000000000 +0900 @@ -337,8 +337,8 @@ %ifarch %{multilib_64_archs} -Dlibpth="/lib64 %{_prefix}/lib64" \ -Dprivlib="%{_libdir}/perl5/%{perl_version}" \ - -Dsitelib="%{_libdir}/perl5/site_perl/%{perl_version}" \ - -Dvendorlib="%{_libdir}/perl5/vendor_perl/%{perl_version}" \ + -Dsitelib="%{_prefix}/lib/perl5/site_perl/%{perl_version}" \ + -Dvendorlib="%{_prefix}/lib/perl5/vendor_perl/%{perl_version}" \ -Darchlib="%{_libdir}/perl5/%{perl_version}/%{perl_archname}" \ -Dsitearch="%{_libdir}/perl5/site_perl/%{perl_version}/%{perl_archname} " \ -Dvendorarch="%{_libdir}/perl5/vendor_perl/%{perl_version}/%{perl_archn ame}" \ -- MATSUBAYASHI, 'Shaolin' Kohji shaolin@xxxxxxxxxxxxxxx Vice President & PPC Maintainer, Project Vine shaolin@xxxxxxxxxxxxx Interaction Designer, Vine Caves Ltd. shaolin@xxxxxxxxxxxxx GPG Fingerprint: B978 03AD F4DC BA4F 5EC3 2637 67C4 9961 DE4B 5ACC _______________________________________________ VineSeed mailing list VineSeed@xxxxxxxxxxxxx http://lists.vinelinux.org/mailman/listinfo/vineseed