r-builds/builder/Dockerfile.ubuntu-1804
sellorm a20cff273b
Allows building deb packages for R on ubuntu-1804 (#12)
* Allows building deb packages for R on ubuntu-1804

this update provides a mechanism for building deb packages on Ubunto
1804. Several changes have been necessary to facilitate this:

* Dockerfile has been updated. It now includes:
    - fpm - a tool tool to create OS specific packages
    - copying the package script into the image
* the OS specific package.ubuntu-1804 packaging script
    - this is the script that uses fpm to build the package
* Updates to build.sh. It now includes:
    - runs the package script if it exists
    - stores the resultant package to s3

* removed duplicate dependencies

* fixed minor bug with output directory creation

* moved package creation to after the clean step

* Changed deb priority to "optional"

The fpm default priority is "extra" which is now deprecated.

https://github.com/jordansissel/fpm/issues/1398

* Added additional package fields

Added 'Bugs', URL (Homepage), 'Description', 'Maintainer' and 'License'

* Fixed the repo URL

* Added passthrough for Jenkins BUILD_NUMBER

Jenkins sets the BUILD_NUMBER environment variable for all jobs.
This change sets that env var inside the container as BUILD_NO.
BUILD_NO is used bythe packaging scripts in place of a version number
for all of the created packages.

* removed liblapack

* Improved consistency of environment variable use

Removed the needless renaming of environment variables to improve
overall consistency and readability

* No longer tries to version the packages

Previous commits relied on the idea that the Jenkins BUILD_NUMBER
environment variable could be used as a version number for the package
itself (in addition to R's existing version numbers). This is not the
case and having a version number for the package is not deemed desirable
at this time. This change pins *all* packages produced to version 1.

* Moved additional apt package installations

Packages were being installed in two places, have rationalised to a
single location to reduce the number of layers in the final container.

* Tidy up of package script

Alphabetised the dependencies to make things easier to find.

* Added additional dependencies

These dependencies were added as they were identified to be missing when
running against the R 3.6.1 build during testing

* Removed an unrequired dependency

Further trimming down the dependency list based on reviewer feedback.

* Swapped liblapack-dev for libopenblas-dev
2019-07-20 01:17:48 +01:00

23 lines
536 B
Text

FROM ubuntu:bionic
ENV OS_IDENTIFIER ubuntu-1804
RUN set -x \
&& sed -i "s|# deb-src|deb-src|g" /etc/apt/sources.list \
&& export DEBIAN_FRONTEND=noninteractive \
&& apt-get update \
&& apt-get install -y libcurl4-openssl-dev libicu-dev libopenblas-base wget python-pip ruby ruby-dev \
&& apt-get build-dep -y r-base
RUN pip install awscli
RUN gem install fpm
RUN chmod 0777 /opt
# Override the default pager used by R
ENV PAGER /usr/bin/pager
COPY package.ubuntu-1804 /package.sh
COPY build.sh .
ENTRYPOINT ./build.sh