Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[R] Clean up environment variables in build scripts #39620

Open
nealrichardson opened this issue Jan 15, 2024 · 1 comment
Open

[R] Clean up environment variables in build scripts #39620

nealrichardson opened this issue Jan 15, 2024 · 1 comment

Comments

@nealrichardson
Copy link
Member

nealrichardson commented Jan 15, 2024

Describe the enhancement requested

There is some drift/inconsistency/confusion in the various env vars we expose to control the R package build. One result of this is that we have crossbow jobs that are downloading nightly binaries instead of building from source. See discussion leading up to and including #39602 (comment).

Proposal:

  • FORCE_BUNDLED_BUILD should be deprecated in favor of LIBARROW_BUILD. I don't think we recommend it to people, it's more for our testing, and it's not named accurately anyway--it doesn't force a "bundled build", it routes you to nixlibs.R, where you'll either download a binary or get the bundled source build. Another way you can get configure to skip looking for libarrow on the system should be LIBARROW_BINARY equal to something other than false or unset--you're asking for a specific libarrow binary. (And today you can still get the same effect as FORCE_BUNDLED_BUILD by setting ARROW_USE_PKG_CONFIG=false and not having ARROW_HOME set.)
  • LIBARROW_BUILD=true should entail LIBARROW_BINARY=false. If LIBARROW_BUILD=true and LIBARROW_BINARY is something other than unset or false, raise an error.
  • Set download_libarrow_ok based on LIBARROW_BINARY=false, not LIBARROW_DOWNLOAD. Remove references to LIBARROW_DOWNLOAD. (Confirm if this download_libarrow_ok is necessary, or if LIBARROW_BINARY=false is already handled correctly.)
  • If we want something explicit about preventing downloading, that's TEST_OFFLINE_BUILD (as of GH-39601: [R] Don't download cmake when TEST_OFFLINE_BUILD=true #39602, it blocks all downloading). If that's a feature we want to advertise, we could rename that something that's not TEST_.
  • Also fix the ubuntu-r-only-r job, and audit other jobs that use these env vars. (This may be covered by GH-39624: [R][CI] Add CMake to docker file and update envvars #39625)

Component(s)

R

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants