jonkeane commented on a change in pull request #11001: URL: https://github.com/apache/arrow/pull/11001#discussion_r702292342
########## File path: r/R/install-arrow.R ########## @@ -137,3 +136,91 @@ reload_arrow <- function() { message("Please restart R to use the 'arrow' package.") } } + + +#' Create an install package with all thirdparty dependencies +#' +#' @param dest_file File path for the new tar.gz package. Defaults to +#' `arrow_V.V.V_with_deps.tar.gz` in the current directory (`V.V.V` is the version) +#' @param source_file File path for the input tar.gz package. Defaults to +#' downloading the package. Review comment: I agree that in the case of RSPM, people will (hopefully) "just" grab the binary and mode that to their offline server. I had to double check this to confirm it was doing what I thought: The way that RSPM works is that one requests `"source"` packages but from a specific URL which replies with binaries (since CRAN doesn't host binary linux packages). If one used the source repo URL from RSPM (https://packagemanager.rstudio.com/all/latest) one will get a source package just fine. With a (binary) RSPM url in `repos`: ``` > utils::download.packages("arrow", destdir = "./", type = "source", repos = "https://packagemanager.rstudio.com/all/__linux__/bionic/latest") trying URL 'https://packagemanager.rstudio.com/all/__linux__/bionic/latest/src/contrib/arrow_5.0.0.tar.gz' Content type 'binary/octet-stream' length 21862325 bytes (20.8 MB) ================================================== downloaded 20.8 MB [,1] [,2] [1,] "arrow" ".//arrow_5.0.0.tar.gz" > > # includes arrow/libs/arrow.so, no inst, etc. > untar("arrow_5.0.0.tar.gz", list = TRUE) [1] "arrow/DESCRIPTION" "arrow/INDEX" [3] "arrow/Meta/" "arrow/Meta/Rd.rds" [5] "arrow/Meta/features.rds" "arrow/Meta/hsearch.rds" [7] "arrow/Meta/links.rds" "arrow/Meta/nsInfo.rds" [9] "arrow/Meta/package.rds" "arrow/Meta/vignette.rds" [11] "arrow/NAMESPACE" "arrow/NEWS.md" [13] "arrow/NOTICE.txt" "arrow/R/" [15] "arrow/R/arrow" "arrow/R/arrow.rdb" [17] "arrow/R/arrow.rdx" "arrow/build_arrow_static.sh" [19] "arrow/demo_flight_server.py" "arrow/doc/" [21] "arrow/doc/arrow.Rmd" "arrow/doc/arrow.html" [23] "arrow/doc/dataset.R" "arrow/doc/dataset.Rmd" [25] "arrow/doc/dataset.html" "arrow/doc/developing.R" [27] "arrow/doc/developing.Rmd" "arrow/doc/developing.html" [29] "arrow/doc/flight.Rmd" "arrow/doc/flight.html" [31] "arrow/doc/fs.Rmd" "arrow/doc/fs.html" [33] "arrow/doc/index.html" "arrow/doc/install.Rmd" [35] "arrow/doc/install.html" "arrow/doc/python.Rmd" [37] "arrow/doc/python.html" "arrow/help/" [39] "arrow/help/AnIndex" "arrow/help/aliases.rds" [41] "arrow/help/arrow.rdb" "arrow/help/arrow.rdx" [43] "arrow/help/paths.rds" "arrow/html/" [45] "arrow/html/00Index.html" "arrow/html/R.css" [47] "arrow/libs/" "arrow/libs/arrow.so" [49] "arrow/v0.7.1.parquet" > > # clean up > unlink("./arrow_5.0.0.tar.gz") ``` With a standard CRAN repo url in `repos`: ``` > # with another CRAN mirror > utils::download.packages("arrow", destdir = "./", type = "source", repos = "https://cloud.r-project.org/") trying URL 'https://cloud.r-project.org/src/contrib/arrow_5.0.0.tar.gz' Content type 'application/x-gzip' length 463913 bytes (453 KB) ================================================== downloaded 453 KB [,1] [,2] [1,] "arrow" ".//arrow_5.0.0.tar.gz" > > # a standard source bundle > untar("arrow_5.0.0.tar.gz", list = TRUE) [1] "arrow/" [2] "arrow/NAMESPACE" [3] "arrow/tools/" [4] "arrow/tools/autobrew" [5] "arrow/tools/nixlibs.R" [6] "arrow/tools/winlibs.R" [7] "arrow/tools/ubsan.supp" [8] "arrow/README.md" [9] "arrow/man/" ... [99] "arrow/DESCRIPTION" [100] "arrow/build/" [101] "arrow/build/vignette.rds" [102] "arrow/tests/" [103] "arrow/tests/testthat/" ... [176] "arrow/src/" [177] "arrow/src/altrep.cpp" [178] "arrow/src/compute.cpp" ... [219] "arrow/vignettes/" ... [227] "arrow/configure.win" [228] "arrow/R/" ... [284] "arrow/NEWS.md" [285] "arrow/MD5" [286] "arrow/inst/" [287] "arrow/inst/NOTICE.txt" [288] "arrow/inst/doc/" [289] "arrow/inst/doc/flight.html" [290] "arrow/inst/doc/install.html" [291] "arrow/inst/doc/developing.html" [292] "arrow/inst/doc/arrow.html" [293] "arrow/inst/doc/fs.html" [294] "arrow/inst/doc/developing.Rmd" [295] "arrow/inst/doc/dataset.html" [296] "arrow/inst/doc/python.html" [297] "arrow/inst/doc/dataset.R" [298] "arrow/inst/doc/dataset.Rmd" [299] "arrow/inst/doc/install.Rmd" [300] "arrow/inst/doc/flight.Rmd" [301] "arrow/inst/doc/python.Rmd" [302] "arrow/inst/doc/arrow.Rmd" [303] "arrow/inst/doc/developing.R" [304] "arrow/inst/doc/fs.Rmd" [305] "arrow/inst/demo_flight_server.py" [306] "arrow/inst/v0.7.1.parquet" [307] "arrow/inst/build_arrow_static.sh" [308] "arrow/cleanup" [309] "arrow/configure" ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: github-unsubscr...@arrow.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org