A brand new version of rfoaas is now on CRAN. It shadows the 0.1.3 release of FOAAS just how an earlier 0.1.2 had done (but there was something not quite right at the server backend which we coded around with an interim release 0.1.2.1; neither one of these was ever released to CRAN).
The rfoaas package provides an interface for R to the most excellent FOAAS service--which provides a modern, scalable and RESTful web service for the frequent need to tell someone to f$#@ off. Release 0.1.3 of FOAAS brings support for filters which the initial support going to the absolutely outstanding shoutcloud.io service. This can be enabled by adding
filter="shoutcloud" as an argument to any of the access functions. And thanks to shoutcloud.io, the result will be LOUD AND CLEAR.
Now, I obviously already have a checkout of drat. If you, dear reader, wanted to play along and create your own drat repository, one rather simple way would be to simply clone my repo as this gets you the desired
gh-pages branch with the required
src/contrib/ directories. Otherwise just do it by hand.
Back to a new interim version. I just pushed commit fd06293 which bumps the version and date for the new interim release based mostly on the three tickets addresses right after the initial release 0.0.1. So by building it we get a new version 0.0.1.1:
edd@max:~/git$ R CMD build drat * checking for file ‘drat/DESCRIPTION’ ... OK * preparing ‘drat’: * checking DESCRIPTION meta-information ... OK * checking for LF line-endings in source and make files * checking for empty or unneeded directories * building ‘drat_0.0.1.1.tar.gz’ edd@max:~/git$
Because I want to use the
drat repo next, I need to now switch from
gh-pages; a step I am omitting as we can assume that your
drat repo will already be on its
Next we simply call the
drat function to add the release:
edd@max:~/git$ r -e 'drat:::insert("drat_0.0.1.1.tar.gz")' edd@max:~/git$
As expected, now have two updated
PACKAGES files (compressed and plain) and a new tarball:
edd@max:~/git/drat(gh-pages)$ git status On branch gh-pages Your branch is up-to-date with 'origin/gh-pages'. Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: src/contrib/PACKAGES modified: src/contrib/PACKAGES.gz Untracked files: (use "git add <file>..." to include in what will be committed) src/contrib/drat_0.0.1.1.tar.gz no changes added to commit (use "git add" and/or "git commit -a") edd@max:~/git/drat(gh-pages)$
All is left to is to add, commit and push---either as I usually via the spectacularly useful editor mode, or on the command-line, or by simply adding
commit=TRUE in the call to
## add RStudio CRAN mirror drat:::add("CRAN", "http://cran.rstudio.com") ## add Dirk's drat drat:::add("eddelbuettel")
After that, repos are set as I like them (at home at least):
edd@max:~/git$ r -e'print(options("repos"))' $repos CRAN eddelbuettel "http://cran.rstudio.com" "http://eddelbuettel.github.io/drat/" edd@max:~/git$
And with that, we can just call
update.packages() specifying the package directory to update:
edd@max:~/git$ r -e 'update.packages(ask=FALSE, lib.loc="/usr/local/lib/R/site-library")' trying URL 'http://eddelbuettel.github.io/drat/src/contrib/drat_0.0.1.1.tar.gz' Content type 'application/octet-stream' length 5829 bytes opened URL ================================================== downloaded 5829 bytes * installing *source* package ‘drat’ ... ** R ** inst ** preparing package for lazy loading ** help *** installing help indices ** building package indices ** testing if installed package can be loaded * DONE (drat) The downloaded source packages are in ‘/tmp/downloaded_packages’ edd@max:~/git$
and presto, a new version of a package we have installed (here the very drat interim release we just pushed above) is updated.
Writing this up made me realize I need to update the handy
update.r script (see e.g. the littler examples page for more) and it hard-wires just one repo which needs to be relaxed for drat. Maybe in
install2.r which already has docopt support...