Enables output of Linux OS packages for CentOS 7 (#20)
* Enables output of Linux OS packages for CentOS 7 * Changed vendor to RStudio * Added post install script to swap in openBLAS shared library * tidied up some dependencies * Added a post remove step to cleanup install dir As we swap in the openBlas shared object file during installation the RPM database knows that the RPM installation has been "interefered" with. Because of this `yum remove` does not clean out the full directory tree. This update therefore prunes the directory tree at /opt/R/R_VERSION
This commit is contained in:
parent
782e4ec3a1
commit
60474b593b
2 changed files with 65 additions and 0 deletions
|
|
@ -30,6 +30,9 @@ RUN yum -y update \
|
|||
pcre-devel \
|
||||
pcre2-devel \
|
||||
readline-devel \
|
||||
rpm-build \
|
||||
ruby \
|
||||
ruby-devel \
|
||||
tcl-devel \
|
||||
tex \
|
||||
texinfo-tex \
|
||||
|
|
@ -50,6 +53,8 @@ RUN curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && \
|
|||
RUN pip install awscli --upgrade --user && \
|
||||
ln -s /root/.local/bin/aws /usr/bin/aws
|
||||
|
||||
RUN gem install fpm
|
||||
|
||||
RUN chmod 0777 /opt
|
||||
|
||||
# Configure flags for CentOS 7 that don't use the defaults in build.sh
|
||||
|
|
@ -66,5 +71,6 @@ ENV CONFIGURE_OPTIONS="\
|
|||
# RHEL 7 doesn't have the inconsolata font, so override the defaults.
|
||||
ENV R_RD4PDF="times,hyper"
|
||||
|
||||
COPY package.centos-7 /package.sh
|
||||
COPY build.sh .
|
||||
ENTRYPOINT ./build.sh
|
||||
|
|
|
|||
59
builder/package.centos-7
Normal file
59
builder/package.centos-7
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
if [[ ! -d /tmp/output/centos-7 ]]; then
|
||||
mkdir -p /tmp/output/centos-7
|
||||
fi
|
||||
|
||||
# create post-install script required for openblas
|
||||
cat <<EOF >> /post-install.sh
|
||||
mv /opt/R/${R_VERSION}/lib/R/lib/libRblas.so /opt/R/${R_VERSION}/lib/R/lib/libRblas.so.keep
|
||||
ln -s /usr/lib64/libopenblasp.so /opt/R/${R_VERSION}/lib/R/lib/libRblas.so
|
||||
EOF
|
||||
|
||||
# create after-remove script to remove internal blas
|
||||
cat <<EOF >> /before-remove.sh
|
||||
if [ -d /opt/R/${R_VERSION} ]; then
|
||||
rm -r /opt/R/${R_VERSION}
|
||||
fi
|
||||
EOF
|
||||
|
||||
fpm \
|
||||
-s dir \
|
||||
-t rpm \
|
||||
-v 1 \
|
||||
-n R-${R_VERSION} \
|
||||
--vendor "RStudio Inc." \
|
||||
--deb-priority "optional" \
|
||||
--deb-field 'Bugs: https://github.com/rstudio/r-builds/issues' \
|
||||
--url "http://www.r-project.org/" \
|
||||
--description "GNU R statistical computation and graphics system" \
|
||||
--maintainer "RStudio Inc https://github.com/rstudio/r-builds" \
|
||||
--license "GPL-2" \
|
||||
--after-install /post-install.sh \
|
||||
--after-remove /before-remove.sh \
|
||||
-p /tmp/output/centos-7/ \
|
||||
-d bzip2-devel \
|
||||
-d gcc \
|
||||
-d gcc-c++ \
|
||||
-d gcc-gfortran \
|
||||
-d libcurl-devel \
|
||||
-d libicu-devel \
|
||||
-d libSM \
|
||||
-d libtiff \
|
||||
-d libXmu \
|
||||
-d libXt \
|
||||
-d make \
|
||||
-d openblas-devel \
|
||||
-d pango \
|
||||
-d pcre-devel \
|
||||
-d pcre2-devel \
|
||||
-d perl-Digest-MD5 \
|
||||
-d tcl \
|
||||
-d tk \
|
||||
-d tre \
|
||||
-d which \
|
||||
-d xz-devel \
|
||||
-d zlib-devel \
|
||||
/opt/R/${R_VERSION}
|
||||
|
||||
shopt -s extglob
|
||||
export PKG_FILE=$(ls /tmp/output/centos-7/[rR]-${R_VERSION}*.@(deb|rpm) | head -1)
|
||||
|
||||
Loading…
Reference in a new issue