I set up a local repo for testing packages. My packages are not showing up from the repository when viewed by Linux clients. I suspect this is a web administrator/firewall issue, but it could be I created the repo wrongly. I am supposed to run write_PACKAGES separately in each R-version folder. Right?
Maybe other novices can use these scripts, if they are not wrong :) Here's the file structure. On the file space that the Web server can see, I create a folder "/tools/kran" and directories bin macosx leopard contrib 2.13 2.14 2.15 windows contrib 2.13 2.14 2.15 src contrib 2.13 2.14 2.15 That's created by this: ############################################# create_repo_tree <- function(local.repos, rversions){ folders <- c("/bin/windows/contrib", "/bin/macosx/leopard/contrib", "/src/contrib") for(dir in folders){ dirs <- paste(local.repos, dir, "/", rversions, sep='') lapply(dirs, dir.create, recursive = TRUE, showWarnings = TRUE) } } create_repo_tree("/tools/kran", c(2.13, 2.14, 2.15)) ########################################### My CRAN mirror is in a sister folder /tools/cran and that works properly to be served at the address http://rweb.quant.ku.edu/cran. I want our local testing thing to show at similar http://rweb.quant.ku.edu/kran. Supposing the Apache web server magic is done, I *believe* the following should work. I dropped packages in the right version folders, and I wrote a script that goes separately to each version number folder and runs write_PACKAGES. ### Researchers can upload ### packages into the approrpriate folder. ### Administratively, we schedule this run run every night write_PACKAGES_wrapper <- function(local.repos) { require(tools) rversions <- dir(path = paste(local.repos, "/bin/windows/contrib", sep=""), full.names = TRUE) for (i in rversions) write_PACKAGES(dir = i, subdirs=TRUE, type="win.binary") #repeat rversions <- dir(path = paste(local.repos, "/bin/macosx/leopard/contrib", sep=""), full.names = TRUE) for (i in rversions) write_PACKAGES(dir = i, subdirs=TRUE, type="mac.binary") rversions <- dir(path = paste(local.repos, "/src/contrib", sep=""), full.names = TRUE) for (i in rversions) write_PACKAGES(dir = i, subdirs=TRUE, type="source") } write_PACKAGES_wrapper("/tools/kran") ############################# Right? After running that, I do see the PACKAGES files appear under the version number directories. However, from the linux clients I see this: > install.packages("rockchalk", repos="http://rweb.quant.ku.edu/kran") Installing package(s) into ‘/home/pauljohn/R/x86_64-pc-linux-gnu-library/2.15’ (as ‘lib’ is unspecified) Warning: unable to access index for repository http://rweb.quant.ku.edu/kran/src/contrib Warning message: package ‘rockchalk’ is not available (for R version 2.15.0) The Web administrator here suggests I've done the write_PACKAGES incorrectly because there is no PACKAGES file in /tools/kran/src/contrib. But I do have PACKAGES files in the subfolders 2.15. However, on a windows system, it does work. > install.packages("rockchalk", repos="http://rweb.quant.ku.edu/kran") trying URL 'http://rweb.quant.ku.edu/kran/bin/windows/contrib/2.15/rockchalk_1.5.5.06.zip' Content type 'application/zip' length 486682 bytes (475 Kb) opened URL downloaded 475 Kb package ‘rockchalk’ successfully unpacked and MD5 sums checked The downloaded binary packages are in C:\Users\pauljohn32\AppData\Local\Temp\Rtmpq0m3Id\downloaded_packages The Web admin folks say to me, "if we did it wrong, nothing would work. Some does, so it is your fault." -- Paul E. Johnson Professor, Political Science Assoc. Director 1541 Lilac Lane, Room 504 Center for Research Methods University of Kansas University of Kansas http://pj.freefaculty.org http://quant.ku.edu ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.