A new version of RcppAPT – our interface from R to the C++ library behind the awesome apt
, apt-get
, apt-cache
, … commands and their cache powering Debian, Ubuntu and the like – is now on CRAN.
RcppAPT allows you to query the (Debian or Ubuntu) package dependency graph at will, with build-dependencies (if you have deb-src
entries), reverse dependencies, and all other goodies. See the vignette and examples for illustrations.
This new version corrects builds failures under the new and shiny Apt 2.0 release (and the pre-releases like the 1.9.* series in Ubuntu) as some header files moved around. My thanks to Kurt Hornik for the heads-up. I accomodated the change in the (very simple and shell-based) configure
script by a) asking pkg-config
about the version of pkg-apt
and then using that to b) compare to a ‘threshold value’ of ‘1.9.0’ and c) setting another compiler #define
if needed so that d) these headers could get included if defined. The neat part is that a) and b) are done in an R one-liner, and the whole script is still in shell. Now, CRAN being CRAN, I now split the script into two: one almost empty one not using bash
that passes the ‘omg but bash is not portable’ test, and which calls a second bash script doing the work. Fun and games…
The full set of changes follows.
Changes in version 0.0.6 (2020-03-14)
Accomodate Apt 2.0 code changes by including more header files
Change is backwards compatible and conditional
Added configure call using
pkg-config
and package version comparison (using R) to determine if the define is neededSoftened unit tests as we cannot assume optional source deb information to be present, so demo code runs but zero results tolerated
Courtesy of CRANberries, there is also a diffstat report for this release.
A bit more information about the package is available here as well as as the GitHub repo.
If you like this or other open-source work I do, you can now sponsor me at GitHub. For the first year, GitHub will match your contributions.
This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.