On Mon, 24 Jul 2017 09:25:44 -0700, Alexander Hansen  wrote:

> 
> > On Jul 23, 2017, at 15:45, Scott Hannahs via Fink-devel  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:
>
> 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.
Check the .info for almost any existing version-specific perl module and you'll 
find a fairly standard InstallScript incantation that puts the files in this 
MANPATH place.

The secondary question's answer is "yes, you do need to be varianted once any 
of your dependencies are varianted". And in this case, even though perl core 
itself contains a scalar-list-utils-pm, the vesion supplied by these perl 
variants is too old for what your module wants, so you do need the explicit 
dependency.

A minor nit is that you don't need to include the MANIFEST as a DocFiles. That 
file is a list of the files that were present in the source tarball, which 
isn't so useful to have in the final binary package.

dan

------------------------------------------------------------------------------
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