tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

either/or dependencies breaks show-depends-pkgpaths?



Hi all,

Section 19.1.6 bullet #7 of
<http://www.netbsd.org/docs/pkgsrc/fixes.html> says:

> 7. If the package depends on either one of two (or more) packages,
>    specify the “pre-req-package-name” as a comma-separated list between
>    curly braces.
> 
>    As an example, take a package that depends on the Perl "version"
>    module, which has been part of Perl itself since version 5.10.0. This
>    either/or dependency is expressed as:
> 
>        DEPENDS+= {perl>=5.10.0,p5-version-[0-9]*}:../../devel/p5-version 

The 'show-depends-pkgpaths' target appears to break on these either/or
dependencies:

  $ cd /usr/pkgsrc/lang/perl5

  $ make show-var VARNAME=PKGNAME
  perl-5.18.1nb3

  $ cd ../../security/p5-Net-SSLeay

  $ make show-depends
  {perl>=5.7.3,p5-MIME-Base64-[0-9]*}:../../converters/p5-MIME-Base64
  perl<5.20.0:../../lang/perl5
  perl>=5.18.0:../../lang/perl5

  $ pkg_info -E '{perl>=5.7.3,p5-MIME-Base64-[0-9]*}'
  perl-5.18.1nb3

  $ make show-depends-pkgpaths
  converters/p5-MIME-Base64
  devel/ccache
  devel/p5-Test-Exception
  devel/p5-Test-Warn
  lang/perl5
  pkgtools/digest
  sysutils/checkperms

Note that converters/p5-MIME-Base64 is listed even though p5-Net-SSLeay
won't build against p5-MIME-Base64 and won't depend on it.

This breaks mk/scripts/depends-depth-first.awk, which breaks a bunch of
other targets.

Fixing this seems nontrivial.  Any suggestions for an approach?

Thanks,
Richard


Home | Main Index | Thread Index | Old Index