[R-pkg-team] Bug#946987: r-cran-dqrng: Relationship to libpcg-cpp-dev and r-cran-sitmo

Andreas Tille andreas at fam-tille.de
Thu Dec 19 06:57:40 GMT 2019

Hi Ralf,

thanks for your close look at the package dependencies.

On Wed, Dec 18, 2019 at 11:39:49PM +0100, Ralf Stubner wrote:
> Package: r-cran-dqrng
> Version: 0.2.1+dfsg-1
> Severity: normal
> Dear Maintainer,
> it is nice to see my dqrng packaged for Debian. However, I find the relationship
> to libpcg-cpp-dev and r-cran-sitmo surprising. Currently libpcg-cpp-dev is a
> build and run-time dependency while r-cran-sitmo is only a build dependency. The
> actual relationship of the dqrng code to these packages is quite similar, though.
> Both packages have to be present at build time, and both backages are necessary
> for certain use cases (using the C++ header only library to build your own code).
> So from my point of view it would make sense to have libpcg-cpp-dev and
> r-cran-sitmo as build dependnecy and as run-time recommend or suggest.

Both, build-time as well as run-time dependencies are autogenerated.
While the field Build-Depends is created by dh-update-R before the
actual package build, the dependencies are resolved by dh-r in the
${R:Depends} variable.  Both are parsing DESCRIPTION and this has

   LinkingTo: sitmo (>= 2.0.0)

which makes the strong Depends rectified in my perception.  As far as I
understand the syntax fo the DESCRIPTION files there is no equivalent to
the Debian Recommends and thus we have no way to distinguish here.
Depends is just the safe decision to cover all use cases and in
practical cases Recommends will be installed anyway if not explicitly
excluded by the user.  So I do not see any problem here.

Regarding libpcg-cpp-dev the dependency is manually added since the code
copy inside dqrng is replaced by the Debian packaged lib (as per Debian
policy).  It is definitely needed at package build-time.  May be it is
fine to move it from Depends to Recommends in the binary package.  If you
want me to change this to close that bug it is fine.
> I am not sure which functionality of dqrng is used by r-cran-uwot. It might be
> that r-cran-uwot will need a build dependency on libpcg-cpp-dev, too.

Well, the Depends: libpcg-cpp-dev in r-cran-dqrng provides this
implicitly.  So your suggested change makes packaging more complex which
would be a good reason for me to simply leave it as is.

Kind regards



More information about the R-pkg-team mailing list