Question

Is there any way to have apt install a package from a specific launchpad repository?

I would like to set up a little test server and install all of the 1000+ r-cran-* packages from the cran2deb4ubuntu launchpad repository. As of last month, all packages in this repository are build for R 3.0.1. So I install a copy of R 3.0.1 and then do:

sudo add-apt-repository marutter/c2d4u
sudo apt-get update
sudo apt-get install r-cran-*

However, this will also install all of the r-cran-* packages form universe which are build for R 2.15, and hence will fail to load. Is there an easy way to install the packages only from c2d4u? Or alternatively, is there a way to blacklist the r-cran- packages in universe from apt?

Was it helpful?

Solution

What I ended up doing is simply install all packages and then remove the ones with an old build. I.e.

sudo add-apt-repository ppa:marutter/c2d4u -y
sudo add-apt-repository ppa:marutter/rrutter -y
sudo apt-get update
sudo apt-get install r-bioc-*
sudo apt-get install r-cran-

And then in R:

which(installed.packages()[,"Built"] < 3.0)
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top