-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update r-base with apt-pinning #444
Conversation
Update our fork with recent changes
Uses apt-pinning to install the latest version of R from debian:unstable. (The previous strategy of installing the latest version of R from CRAN mirror could create dependency problems resulting in a failed build).
Just to simplify review: https://gist.github.com/tianon/5969b752837142352db8 I kept looking this over and thinking that this problem felt very, very familiar (like we'd discussed it before). Turns out we did: rocker-org/rocker#88 (comment) and rocker-org/rocker#88 (comment) |
@tianon Thanks for the diff. Yup, and apologies for that, at the time we'd forgotten about |
That sounds reasonable to me. |
Why not just use # make sure "stable" is preferred for otherwise unspecified installs
RUN echo 'APT::Default-Release "stable";' > /etc/apt/apt.conf.d/default |
Also, since you're already |
To illustrate what I mean: $ docker run -it --rm debian:jessie
root@a3962efb7c49:/# echo 'deb http://http.debian.net/debian sid main' > /etc/apt/sources.list.d/sid.list
root@a3962efb7c49:/# apt-get update
...
root@a3962efb7c49:/# apt-cache policy erlang
erlang:
Installed: (none)
Candidate: 1:17.3-dfsg-3
Version table:
1:17.3-dfsg-3 0
500 http://http.debian.net/debian/ jessie/main amd64 Packages
500 http://http.debian.net/debian/ sid/main amd64 Packages
root@a3962efb7c49:/# echo 'APT::Default-Release "jessie";' > /etc/apt/apt.conf.d/default
root@a3962efb7c49:/# apt-cache policy erlang
erlang:
Installed: (none)
Candidate: 1:17.3-dfsg-3
Version table:
1:17.3-dfsg-3 0
990 http://http.debian.net/debian/ jessie/main amd64 Packages
500 http://http.debian.net/debian/ sid/main amd64 Packages
root@a3962efb7c49:/# |
I acknowledge that the two commands shown above by @tianon are "lighter-weight", but I would like to point out that we will end up with the exact same packages from sid as before: I may be missing something more fundamental. If so, please feel free to set me straight. |
But if this is what it takes to move forward we will adjust Dockerfiles, have'em built and will PR again. |
COPY has very irritating Docker cache behavior (thanks to mtimes being
significant) and thus should be avoided whenever possible.
|
Ohhh, I see. Instead of copying the preferences file in, get the same effect via the two echos you showed? I buy that. Thanks for waving the cluebat. Will change. |
👍 ❤️
|
(if I really wanted to just bikeshed, you'd be changing whitespace right now too -- I try to keep the unnecessary bike-shedding to a minimum 😄) |
Hehe -- get yourself a 💯 ;-) |
Guess it must be passed my bedtime here in flyover country if I put markdown into git comments. Oh boy. |
Hah, you even did the totally over-the-top whitespace changes. ❤️ I feel buttered. 😄 Once this PR is updated I'll run a test build and I think we're good to go. 👍 |
My pal and co-conspirator @cboettig is much more on top of these issues, but was too polite to trample over the r-base Dockerfile I had worked on last ;-) |
see docker-library#444 for details
Thanks for the feedback, PR updated. |
Looks we're good. Freshly built and pulled: edd@max:~$ docker run --rm -ti rocker/r-base /bin/bash
root@f2ba3bf7ab40:/# R --version
R version 3.1.2 (2014-10-31) -- "Pumpkin Helmet"
Copyright (C) 2014 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under the terms of the
GNU General Public License versions 2 or 3.
For more information about these matters see
http://www.gnu.org/licenses/.
root@f2ba3bf7ab40:/# r --version
r ('littler') version 0.2.2
git revision 8df31e5 as of Thu Jan 29 17:43:21 2015 -0800
built at 12:53:44 on Jan 30 2015
using GNU R Version 3.1.2 (2014-10-31)
Copyright (C) 2006 - 2014 Jeffrey Horner and Dirk Eddelbuettel
r is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under the terms of the
GNU General Public License. For more information about
these matters, see http://www.gnu.org/copyleft/gpl.html.
root@f2ba3bf7ab40:/# exit
edd@max:~$ docker images | grep r-base
rocker/r-base latest 64f4276cbb9f 4 minutes ago 500 MB
r-base 3.1.2 0ca81a0d7240 4 weeks ago 500.3 MB
r-base latest 0ca81a0d7240 4 weeks ago 500.3 MB
edd@max:~$ |
You guys are swell. ❤️ Thanks for being so easy to work with. LGTM Build test of #444; bad6eba ( $ bashbrew build https://raw.githubusercontent.com/docker-library/official-images/bad6eba14b06f08b60845b8d152c0a7c784cc6f5/library/r-base
Fetching r-base (git://github.com/rocker-org/rocker) ...
Processing r-base:latest ...
Processing r-base:3.1.2 ... |
cc @yosifkit |
LGTM |
Update r-base with apt-pinning
Yay! Thanks for the patience and repeated cluebat waves. Have a cookie! |
You win, again :) |
Fix the Windows ordering in generate-stackbrew-library.sh
This commit resolves potential dependency problems that could occur in building the r-base image. The previous strategy used the Debian sources from CRAN to build the latest R image, but these reflect dependencies on Wheezy. We use Debian apt-pinning now to avoid this issue.