Hi Dan, thanks for the pointer, this seems to be a bigger can of worms than I've thought!
>> It would seem, since the .deb contains both the lower- and uppercase version >> dirs with their content, >> it should install just fine on a case-sensitive filesystem, but apparently >> dpkg-deb is still refusing to >> install it (even in non-maintainer mode), because the package would be >> broken on a case-insensitive fs. >> I suppose the proper fix would be to manually rename either "version" or >> "Version" before/during/after >> the build process to have Requirements.pm and Internals.pod coexist in the >> same subdir? > > It's broken in several ways, including .deb portability and (in this case) > perl functionality relating to filename<->namespace mapping. Perl has fought > with this issue for years, and even this specific instance of it. Apparently > the .pod is the remnant documentation regarding the actual perl-module fix > (maybe there had been a version/Internals.pm that was renamed). See: > > http://www.nntp.perl.org/group/perl.perl5.porters/2011/06/msg173951.html > > that mentions the idea of moving the contents of the .pod into the > documentation for another module. That thread talks about it being finally > fixed by perl5.18ish, I wonder if perl more recent than 5.16.2 has any > improvements in this regard. Indeed, so renaming the directories in the source tree does not help, as perl immediately complains at the beginning of the build. So I tried the less nice approach of fixing things up afterwards, hoping, as the list mail above indicated, that this would not mess up namespace things, but I am certainly a bit over my head into this… With the following changes @@ -68,6 +68,7 @@ << InstallScript: << +#! /bin/sh -ev make install DESTDIR=%d mkdir -p %i/etc/profile.d @@ -77,6 +78,9 @@ echo "append_path MANPATH %p/lib/perl5/5.16.2/man" >> %i/etc/profile.d/%N-core.sh echo "export MANPATH" >> %i/etc/profile.d/%N-core.sh chmod 755 %i/etc/profile.d/%N-core.* + if [ ! -f %i/lib/perl5-core/%v/Version/Internals.pod ]; then + mv %i/lib/perl5-core/%v/version/Internals.pod %i/lib/perl5-core/%v/Version && rmdir %i/lib/perl5-core/%v/version + fi << SplitOff: << perl5162-core and perl5162 build and install in maintainer mode (though the latter has a name conflict with json-pp-pm - is that package unversioned on purpose?). But building any of the modules (e.g. test-harness-pm5162) fails at the step ARCHFLAGS="" /usr/bin/arch -x86_64 perl5.16 Makefile.PL PERL="/usr/bin/arch -x86_64 perl5.16" PREFIX=/sw INSTALLPRIVLIB=/sw/lib/perl5/5.16.2 INSTALLARCHLIB=/sw/lib/perl5/5.16.2/darwin-thread-multi-2level INSTALLSITELIB=/sw/lib/perl5/5.16.2 INSTALLSITEARCH=/sw/lib/perl5/5.16.2/darwin-thread-multi-2level INSTALLMAN1DIR=/sw/share/man/man1 INSTALLMAN3DIR=/sw/share/man/man3 INSTALLSITEMAN1DIR=/sw/share/man/man1 INSTALLSITEMAN3DIR=/sw/share/man/man3 INSTALLBIN=/sw/bin INSTALLSITEBIN=/sw/bin INSTALLSCRIPT=/sw/bin arch: Can't find perl5.16 in PATH (there is /sw/bin/perl5.16.2 in PATH, and the equivalent works for "arch -x86_64 perl5.12" vs. /sw/bin/perl5.12.3; "/usr/bin/arch -x86_64 perl5.16.2" apparently works as well, but here not without the full versioned name). I don't know if this is somehow due to Internals.pod now possibly not being found - it seems to contain some versioning information, but I really don't know anything about perl internals at this level… Derek ------------------------------------------------------------------------------ Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk _______________________________________________ Fink-devel mailing list Fink-devel@lists.sourceforge.net List archive: http://news.gmane.org/gmane.os.apple.fink.devel Subscription management: https://lists.sourceforge.net/lists/listinfo/fink-devel