> On Jul 23, 2017, at 15:45, Scott Hannahs via Fink-devel 
> <fink-devel@lists.sourceforge.net> wrote:
> 
> Once again….  Since I am updating some of my fink packages, I should do them 
> all!
> 
> I seem to be unclear on how a language version typed build installs 
> non-version typed man pages?
> 
> I am updating config-inifiles-pm as it has gone horribly out of date.  It is 
> a fairly vanilla bare bones .info file.  But the build -m gives the error:
> 
> Validating .deb dir /sw/src/fink.build/root-config-inifiles-pm5162-2.94-5...
> Error: File in a language-versioned package does not have a pathname specific 
> to that version.
>       Offending file: /sw/share/man/man3/Config::IniFiles.3pm
> 
> Well, yes, the man page is not versioned.  So where should I put it?  Should 
> it be versioned?  Or should the man page be the same for both 
> 
> The type is the normal:
> Type: perl (5.16.2 5.18.2)
> 
> And my dependencies are:
> # Dependencies
> Depends: <<
>    perl%type_pkg[perl]-core,
>    scalar-list-utils-pm%type_pkg[perl],
>    io-stringy-pm
> <<
> 
> The install phase uses whatever is done for default testing and installation 
> for perl modules:
> # Install Phase:
> UpdatePOD: true
> DocFiles: Changes LICENSE MANIFEST README
> 
> I think I can build it as a non-typed language file but it has a dependency 
> on scalar-list-utils-pm which is typed.  It seems that once you have a 
> version specific file any builds that depend on that version must also be 
> version specific.
> 
> Do I explicitly write out the install phase and then change the man page to 
> Config::IniFiles-pm5162.3pm or something ugly like that?  Google only points 
> me to a failed build world list that Hanspeter posted and the manual seems to 
> show that man pages for different versions are all in the same location.  
> (i.e. there is no /$version/ sub directory for man1 and man3).  From the fink 
> manual:
> 
> If the type is perl $version with the version specified (e.g., $version might 
> be 5.6.0), then the default becomes:
> 
> perl$version Makefile.PL \
> PERL=perl$version PREFIX=%p \
> INSTALLPRIVLIB=%p/lib/perl5/$version \
> INSTALLARCHLIB=%p/lib/perl5/$version/$perlarchdir \
> INSTALLSITELIB=%p/lib/perl5/$version \
> INSTALLSITEARCH=%p/lib/perl5/$version/$perlarchdir \
> INSTALLMAN1DIR=%p/share/man/man1 \
> INSTALLMAN3DIR=%p/share/man/man3 \
> INSTALLSITEMAN1DIR=%p/share/man/man1 \
> INSTALLSITEMAN3DIR=%p/share/man/man3 \
> INSTALLBIN=%p/bin \
> INSTALLSITEBIN=%p/bin \
> INSTALLSCRIPT=%p/bin
> make
> make test
> 
> -Scott
> 


It looks like the manual needs updating.  There is actually a relatively easy 
workaround available, which is the perl-versioned locations available in 
MANPATH:

$ printenv MANPATH
/sw/share/man:/sw/lib/perl5/5.18.2/man:/usr/local/share/man:/usr/share/man:/opt/X11/share/man:/Applications/Xcode.app/Contents/Developer/usr/share/man:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man:/sw/lib/perl5-core/5.16.2/man:/sw/lib/perl5/5.16.2/man

If you install the manpages under %p/lib/perl5/%type_raw[perl]/man they will be 
available automatically.
-- 
Alexander Hansen, Ph.D.
Fink User Liaison


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
List archive:
https://sourceforge.net/p/fink/mailman/fink-devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel

Reply via email to