On 15 May 2025 at 11:41, Jeroen Ooms wrote:
| The case that bit me yesterday was a Bioconductor package Rigraphlib,
| see 
https://bioconductor.org/packages/release/bioc/src/contrib/Rigraphlib_1.0.0.tar.gz
| 
| This package builds a static library entirely from a configure script.
| Because there is no 'src' dir, we assumed the package to be all-arch,
| and get linking errors when trying to use it on another arch then it
| was built for. Arguably this is indeed bad package design, but that is
| hard to protect against.
| 
| > I wouldn't think that should happen as configure is supposed to only guide 
the compilation in src - if there is no src no binaries are expected as the 
package did not provide any native sources hence there should be no binary 
content. This looks like something that could be added to R CMD check?
| 
| In that case maybe R should warn if it runs a package configure script
| but there is no "src"? And check if NeedsCompilation: yes is set?

Conceivably we may have valid use cases to run 'detection' in `configure` that 
is not
related to src/ and compilation. 

| One way or another, what matters is that when R runs configure or make
| during install, the value in the "Built" field in the binary package
| should contain the platform value. This is also important when distros
| ship R packages in deb or rpm format, to prevent packages that have
| compiled code from getting "Architecture: all" and be installed on the
| wrong platforms.

That view is fairly narrow as it affects only R CMD INSTALL --build use
(which may of course be the most common by far). But eg r2u wraps .deb
meta-information around the inner tar.gz it does so by relying on src/ being
present to detect binary per-platform status (Architecture: any" in Debian
parlance).

Can we get this BioConductor package to add a src/ field?

Dirk

-- 
dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to