diff --git a/lazyDir/centos7.Dockerfile b/lazyDir/centos7.Dockerfile index a693129..73c8435 100644 --- a/lazyDir/centos7.Dockerfile +++ b/lazyDir/centos7.Dockerfile @@ -21,78 +21,89 @@ FROM centos:centos7.7.1908 # Import local GPG keys and enable epel repo -RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 \ - && yum -q clean expire-cache \ - && yum -q -y update \ - && yum -y install epel-release \ - && rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 \ - && yum -q clean all +RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 && \ + yum -q clean expire-cache && \ + yum -q -y update && \ + yum -y install --setopt=tsflags=nodocs epel-release && \ + rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 && \ + yum -q -y clean all --enablerepo='*' # Install common requirements -RUN yum -q clean expire-cache \ - && yum -q -y update \ - && yum -y install \ - git \ - wget \ - unzip \ - which \ - && yum -q clean all +RUN yum -q clean expire-cache && \ + yum -q -y update && \ + yum -y install --setopt=tsflags=nodocs \ + git \ + wget \ + unzip \ + which \ + && \ + yum -q -y clean all --enablerepo='*' # Import extra GPG keys -RUN rpm --import http://yum.puppetlabs.com/RPM-GPG-KEY-puppet \ - && rpm --import http://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs \ - && rpm --import http://yum.mariadb.org/RPM-GPG-KEY-MariaDB +RUN rpm --import http://yum.puppetlabs.com/RPM-GPG-KEY-puppet && \ + rpm --import http://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs && \ + rpm --import http://yum.mariadb.org/RPM-GPG-KEY-MariaDB # Enable Software Collections -RUN yum -q clean expire-cache \ - && yum -q -y update \ - && yum -y install centos-release-scl scl-utils-build \ - && rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo \ - && yum -q clean all +RUN yum -q clean expire-cache && \ + yum -q -y update && \ + yum -y install --setopt=tsflags=nodocs \ + centos-release-scl \ + scl-utils-build \ + && \ + rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo && \ + yum -q -y clean all --enablerepo='*' # Install Ruby 2.6 from SCLO repo -RUN yum -q clean expire-cache \ - && yum -q -y update \ - && yum -y install \ - rh-ruby26-ruby \ - rh-ruby26-ruby-libs \ - rh-ruby26-ruby-devel \ - rh-ruby26-rubygems \ - rh-ruby26-rubygem-bundler \ - && yum -q clean all +RUN yum -q clean expire-cache && \ + yum -q -y update && \ + yum -y install --setopt=tsflags=nodocs \ + rh-ruby26-ruby \ + rh-ruby26-ruby-libs \ + rh-ruby26-ruby-devel \ + rh-ruby26-rubygems \ + rh-ruby26-rubygem-bundler \ + && \ + yum -q -y clean all --enablerepo='*' # Install extra dev tools -RUN yum -q clean expire-cache \ - && yum -q -y update \ - && yum -y install \ - gcc \ - gcc-c++ \ - make \ - zlib-devel \ - && yum -q clean all +RUN yum -q clean expire-cache && \ + yum -q -y update && \ + yum -y install --setopt=tsflags=nodocs \ + gcc \ + gcc-c++ \ + make \ + zlib-devel \ + && \ + yum -q -y clean all --enablerepo='*' # Install extra java deps ARG jdk=1.8.0 -RUN yum -q clean expire-cache \ - && yum -q -y update \ - && yum -y install \ - tzdata-java \ - java-${jdk}-openjdk-devel \ - && yum -q clean all +RUN yum -q clean expire-cache && \ + yum -q -y update && \ + yum -y install --setopt=tsflags=nodocs \ + tzdata-java \ + java-${jdk}-openjdk-devel \ + && \ + yum -q -y clean all --enablerepo='*' # Create a symbolic link to latest JVM - for legacy scripts -RUN mkdir /usr/java && ln -s /usr/lib/jvm/java-${jdk}-openjdk /usr/java/latest +RUN mkdir /usr/java && \ + ln -s /usr/lib/jvm/java-${jdk}-openjdk /usr/java/latest # Enable SCLs for any later bash session # The script can also be sourced if the entry-point is overwritten -COPY enable-scl.sh /usr/local/bin/enable-scl.sh -RUN chmod 0755 /usr/local/bin/enable-scl.sh - -ENTRYPOINT [ "/usr/local/bin/enable-scl.sh" ] +COPY enable-scl.sh /usr/local/bin/scl_enable +RUN chmod 0755 /usr/local/bin/scl_enable +ENTRYPOINT [ "/usr/local/bin/scl_enable" ] +ENV BASH_ENV="/usr/local/bin/scl_enable" \ + ENV="/usr/local/bin/scl_enable" \ + PROMPT_COMMAND=". /usr/local/bin/scl_enable" # Configure desired timezone ENV TZ=Europe/Amsterdam -RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone +RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && \ + echo $TZ > /etc/timezone # Parameters for default user:group ARG uid=1000 @@ -101,7 +112,8 @@ ARG group=android # Add user to build -RUN groupadd -g "${gid}" "${group}" && useradd -ms /bin/bash -g "${group}" -u "${uid}" "${user}" +RUN groupadd -g "${gid}" "${group}" && \ + useradd -ms /bin/bash -g "${group}" -u "${uid}" "${user}" # Copy requirements in non-root user home directory COPY Gemfile Gemfile.lock "/home/${user}/" @@ -112,13 +124,14 @@ WORKDIR /home/${user} # Install Fastlane for this user -RUN source /usr/local/bin/enable-scl.sh \ - && echo "gem: --no-document --user-install --bindir /home/android/bin" >> /home/${user}/.gemrc \ - && echo "gempath: /home/${user}/.gem/ruby:/home/${user}/.bundle/gems/ruby/2.6.0:/opt/rh/rh-ruby26/root/usr/share/gems" >> .gemrc \ - && gem install bundler --version `sed -n -r -e '/BUNDLED WITH/,$ { s/\s+([.0-9]+)/\1/ p }' Gemfile.lock` \ - && bundle config --global path /home/${user}/.bundle/gems \ - && bundle config --global bin /home/${user}/bin \ - && bundle install && rm -rf /home/${user}/.bundle/cache +RUN source /usr/local/bin/scl_enable && \ + echo "gem: --no-document --user-install --bindir /home/android/bin" >> /home/${user}/.gemrc && \ + echo "gempath: /home/${user}/.gem/ruby:/home/${user}/.bundle/gems/ruby/2.6.0:/opt/rh/rh-ruby26/root/usr/share/gems" >> .gemrc && \ + gem install bundler --version `sed -n -r -e '/BUNDLED WITH/,$ { s/\s+([.0-9]+)/\1/ p }' Gemfile.lock` && \ + bundle config --global path /home/${user}/.bundle/gems && \ + bundle config --global bin /home/${user}/bin && \ + bundle install && \ + rm -rf /home/${user}/.bundle/cache # Prepare locales and other variables ARG locale=en_US.UTF-8