ports/115885: misc/help2man: help2man ignores installed gettext

Tilman Linneweh arved at freebsd.org
Mon Sep 3 10:10:05 PDT 2007


* snowcrash+freebsd [2007-09-03 18:30]:
> again, WHAT "supported configuration" are you talking about here?

FreeBSD ports test if a file is installed to check if a dependency port
is installed.  If you are tricking by installing the file via some other
mechanism, it breaks.

> 
> there's a properly installed perl-module.  expecting freebsd ports of
> perl programs to correctly use perl-compliant module installs is,
> somehow, unreasonable?

The FreeBSD ports collection is not a perl program, so it has no
knowledge what CPAN is. Neither does CPAN know what a FreeBSD port is,
unless you use something like bsdpan. So why should it work?
> 
> Mel wrote:
> > Except for apps in the ports, because cpan/cpanp can not register *port* dependencies.
> > RUN_DEPENDS does not mean "check if this file exists", it means "register a dependency on this port". What it does is:
> > 1) check if the port is installed and if not install it.
> > 2) add a line @pkgdep portname-version to $PKGDB/portname-version/+CONTENTS
> > 3) add a line @DEPORIGIN:category/origin to $PKGDB/portname-version/+CONTENTS
> > 4) add a line portname-version to $PKGDB/depname-version/+REQUIRED_BY
> >
> > If you wanna get rid of this problem, you could use an AFTER_INSTALL hack in >pkgtools.conf to undo 2)-4). Messy, but works.
> 
> > Much cleaner is to just use the ports system p5-*. It does it's job very well
> 
> that's not been my experience -- but, that's not the argument here.
> 
> i think it's not unreasonable to expect that "a perl-module is a
> perl-module is a perl-module".
> 
> if it's properly installed -- and, in this case, it is, just like ALL
> my other perl-modules, then a port should treate it
> consistently/correctly.

Did you actually read what he wrote? He explained in detail, what is
missing for a proper port installation.
> 
> just like all my other ports do -- just NOT help2man.

If you think there is something broken with this specific port, submit a
patch. But as i told you, this is a problem with all ports that depend
on a perl module.
 
> as for working around the problem ... the SIMPLEST solution is not to
> bother with "ports" system in this case, and do a manual install of
> help2man.

Another solution may be to set WITHOUT_NLS. So you don't get dependency
on p5-gettext. 
> 
> > and since you're familiar with cpan/cpanp I'm sure you'll have no problem
> > installing modules that might not exist in the freebsd ports into a directory
> > *outside* the ports hierarchy (/usr/local) and add this to the module search
> > path.
> 
> when help2man is installed via ports it *USES* the cpan-installed perl-module.

Because you installed it into the wrong directory. The directory under
/usr/local belong to the ports collection, and if you install software
from somewhere else into it, it might break how the FreeBSD ports
collection works.

> Anton Berezin wrote:
> > Sorry, but I am afraid that if you insist on not using Perl modules
> > installed via ports this means you cannot expect any ports depending on Perl
> > modules to work.
> 
> are you impkying that a perl module installed by ports is somehow
> different than one installed by perl/cpan itself?

Yes, a FreeBSD port is not only the original source, but also the meta
information.

regards tilman


More information about the freebsd-questions mailing list