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



Home | Main Index | Thread Index | Old Index