Skip to content
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 3.5.0 image using post-transition packages #4473

Merged
merged 3 commits into from
Jun 21, 2018

Conversation

eddelbuettel
Copy link
Contributor

@eddelbuettel eddelbuettel commented Jun 19, 2018

Howdy,

When R 3.5.0 came out in late April, it once again required rebuilds of packages using it. Debian uses the "transition" process for this, this tends to take a moment -- so I had create a one-off repo useable for this image, and we built our Rocker image and the corresponding r-base official image.

The transition is through, all packages are in testing so we can do it again "by the book" which is what this PR for R 3.5.0 does.

When you diff is, you will see one or two other benign changes -- mostly just tweaks to the container.

@tianon
Copy link
Member

tianon commented Jun 20, 2018

Diff:
warning: insecure protocol git:// detected: git://github.com/rocker-org/rocker
diff --git a/r-base_latest/Dockerfile b/r-base_latest/Dockerfile
index 552fbdd..56173b3 100644
--- a/r-base_latest/Dockerfile
+++ b/r-base_latest/Dockerfile
@@ -1,9 +1,11 @@
 ## Emacs, make this -*- mode: sh; -*-
  
-FROM debian:unstable
+FROM debian:testing
 
-## This handle reaches Carl and Dirk
-MAINTAINER "Carl Boettiger and Dirk Eddelbuettel" rocker-maintainers@eddelbuettel.com
+LABEL org.label-schema.license="GPL-2.0" \
+      org.label-schema.vcs-url="https://github.com/rocker-org/r-base" \
+      org.label-schema.vendor="Rocker Project" \
+      maintainer="Dirk Eddelbuettel <edd@debian.org>"
 
 ## Set a default user. Available via runtime flag `--user docker` 
 ## Add user to 'staff' group, granting them write privileges to /usr/local/lib/R/site.library
@@ -33,24 +35,23 @@ ENV LC_ALL en_US.UTF-8
 ENV LANG en_US.UTF-8
 
 ## Use Debian unstable via pinning -- new style via APT::Default-Release
-#echo "deb http://http.debian.net/debian sid main" > /etc/apt/sources.list.d/debian-unstable.list \
-#        && echo 'APT::Default-Release "unstable";' > /etc/apt/apt.conf.d/default \
-#        && 
-RUN echo "deb [trusted=yes] https://eddelbuettel.github.io/drr35/ ./" > /etc/apt/sources.list.d/debian-r-3.5.list 
+RUN echo "deb http://http.debian.net/debian sid main" > /etc/apt/sources.list.d/debian-unstable.list \
+        && echo 'APT::Default-Release "unstable";' > /etc/apt/apt.conf.d/default 
 
 ENV R_BASE_VERSION 3.5.0
 
 ## Now install R and littler, and create a link for littler in /usr/local/bin
 ## Also set a default CRAN repo, and make sure littler knows about it too
-## NB '-t unstable' paused to allow drr35 repo to supply current ones
+## Also install stringr to make dococt install (from source) easier
 RUN apt-get update \
-	&& apt-get install -y --no-install-recommends \
+	&& apt-get install -t unstable -y --no-install-recommends \
 		littler \
                 r-cran-littler \
+                r-cran-stringr \
 		r-base=${R_BASE_VERSION}-* \
 		r-base-dev=${R_BASE_VERSION}-* \
 		r-recommended=${R_BASE_VERSION}-* \
-        && echo 'options(repos = c(CRAN = "https://cloud.r-project.org/"), download.file.method = "libcurl")' >> /etc/R/Rprofile.site \
+        && echo 'options(repos = c(CRAN = "https://cloud.r-project.org/"))' >> /etc/R/Rprofile.site \
         && echo 'source("/etc/R/Rprofile.site")' >> /etc/littler.r \
 	&& ln -s /usr/lib/R/site-library/littler/examples/install.r /usr/local/bin/install.r \
 	&& ln -s /usr/lib/R/site-library/littler/examples/install2.r /usr/local/bin/install2.r \

@tianon
Copy link
Member

tianon commented Jun 20, 2018

Looking at the diff in #4303, shouldn't this be APT::Default-Release "testing"; (not "unstable")?

@eddelbuettel
Copy link
Contributor Author

That's what we had before, I was thinking about reverting but then left it.

Come to think about it and as this container is the base layer for others, I'll make the change and then poke. I guess I will need to update the PR to a new commit sha1. Give me a day or so (at work now).

@eddelbuettel
Copy link
Contributor Author

@tianon Updated, take a peek now. Container built fine last eve; change is one word :)

@yosifkit
Copy link
Member

Diff:
warning: insecure protocol git:// detected: git://github.com/rocker-org/rocker
diff --git a/r-base_latest/Dockerfile b/r-base_latest/Dockerfile
index 552fbdd..4b24f87 100644
--- a/r-base_latest/Dockerfile
+++ b/r-base_latest/Dockerfile
@@ -1,9 +1,11 @@
 ## Emacs, make this -*- mode: sh; -*-
  
-FROM debian:unstable
+FROM debian:testing
 
-## This handle reaches Carl and Dirk
-MAINTAINER "Carl Boettiger and Dirk Eddelbuettel" rocker-maintainers@eddelbuettel.com
+LABEL org.label-schema.license="GPL-2.0" \
+      org.label-schema.vcs-url="https://github.com/rocker-org/r-base" \
+      org.label-schema.vendor="Rocker Project" \
+      maintainer="Dirk Eddelbuettel <edd@debian.org>"
 
 ## Set a default user. Available via runtime flag `--user docker` 
 ## Add user to 'staff' group, granting them write privileges to /usr/local/lib/R/site.library
@@ -33,24 +35,23 @@ ENV LC_ALL en_US.UTF-8
 ENV LANG en_US.UTF-8
 
 ## Use Debian unstable via pinning -- new style via APT::Default-Release
-#echo "deb http://http.debian.net/debian sid main" > /etc/apt/sources.list.d/debian-unstable.list \
-#        && echo 'APT::Default-Release "unstable";' > /etc/apt/apt.conf.d/default \
-#        && 
-RUN echo "deb [trusted=yes] https://eddelbuettel.github.io/drr35/ ./" > /etc/apt/sources.list.d/debian-r-3.5.list 
+RUN echo "deb http://http.debian.net/debian sid main" > /etc/apt/sources.list.d/debian-unstable.list \
+        && echo 'APT::Default-Release "testing";' > /etc/apt/apt.conf.d/default 
 
 ENV R_BASE_VERSION 3.5.0
 
 ## Now install R and littler, and create a link for littler in /usr/local/bin
 ## Also set a default CRAN repo, and make sure littler knows about it too
-## NB '-t unstable' paused to allow drr35 repo to supply current ones
+## Also install stringr to make dococt install (from source) easier
 RUN apt-get update \
-	&& apt-get install -y --no-install-recommends \
+	&& apt-get install -t unstable -y --no-install-recommends \
 		littler \
                 r-cran-littler \
+                r-cran-stringr \
 		r-base=${R_BASE_VERSION}-* \
 		r-base-dev=${R_BASE_VERSION}-* \
 		r-recommended=${R_BASE_VERSION}-* \
-        && echo 'options(repos = c(CRAN = "https://cloud.r-project.org/"), download.file.method = "libcurl")' >> /etc/R/Rprofile.site \
+        && echo 'options(repos = c(CRAN = "https://cloud.r-project.org/"))' >> /etc/R/Rprofile.site \
         && echo 'source("/etc/R/Rprofile.site")' >> /etc/littler.r \
 	&& ln -s /usr/lib/R/site-library/littler/examples/install.r /usr/local/bin/install.r \
 	&& ln -s /usr/lib/R/site-library/littler/examples/install2.r /usr/local/bin/install2.r \

@yosifkit
Copy link
Member

Build test of #4473; 06c63eb; amd64 (r-base):

$ bashbrew build r-base:3.5.0
Building bashbrew/cache:acbde798c018736131097276b8f40b23fe0be9c993e190bc4720a7da96507e98 (r-base:3.5.0)
Tagging r-base:3.5.0
Tagging r-base:latest

$ test/run.sh r-base:3.5.0
testing r-base:3.5.0
	'utc' [1/4]...passed
	'cve-2014--shellshock' [2/4]...passed
	'no-hard-coded-passwords' [3/4]...passed
	'override-cmd' [4/4]...passed

@yosifkit yosifkit merged commit 33e3dad into docker-library:master Jun 21, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants