tech-pkg archive

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

Best way to express runtime dependency on executable



Hello, Everyone!

What is the best way to express a runtime dependency of a package on an
executable from another package: DEPENDS or bl3?

For example, say a package named "phone-home" contains a program that
needs to invoke a "curl" executable at runtime; what is the best way to
express that dependency in pkgsrc/local/phone-home/Makefile?

I think the answer is DEPENDS because of the following email comments by
Thomas Klausner and Jonathan Perkin from [1] and [2]:

tk> x11rec changes a DEPENDS into a bl3.mk include -- if it doesn't use
tk> libraries or headers, the DEPENDS looks better to me.

jp> Yeh ok, saves time during buildlink wrapper phase too.

However, this seems to be in conflict with the following:

1. It is preferred according to the pkgsrc guide.  It says in section
   19.1.6, "Handling dependencies," of the pkgsrc guide [3], "pkgsrc
   supports the BUILD_DEPENDS and DEPENDS definitions, the USE_TOOLS
   definition, as well as dependencies via buildlink3.mk, which is the
   preferred way to handle dependencies, and which uses the variables
   named above."

2. If I use DEPENDS and www/curl is available via builtin.mk, the
   built-in version won't be used.  In an email with subject,
   "Re: Removing find-prefix infrastructure," [4] David Holland wrote:

     Currently if you use DEPENDS instead of bl3 to pull in a package
     that has a builtin.mk, the builtin processing is skipped and the
     pkgsrc version is built unconditionally. This is suboptimal; in
     fact, I would be inclined to describe it as a bug, even though it's
     not readily fixable.

Thank you!

Lewis

[1] https://mail-index.netbsd.org/tech-pkg/2015/10/01/msg015702.html
[2] https://mail-index.netbsd.org/tech-pkg/2015/10/01/msg015703.html
[3] http://www.netbsd.org/docs/pkgsrc/fixes.html#dependencies
[4] https://mail-index.netbsd.org/tech-pkg/2015/10/04/msg015722.html


Home | Main Index | Thread Index | Old Index