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:
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.
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