diff options
| -rw-r--r-- | Dockerfile | 72 | ||||
| -rw-r--r-- | config/01_nodoc | 11 | ||||
| -rw-r--r-- | config/02nocache | 2 | ||||
| -rw-r--r-- | config/default-gems | 1 | ||||
| -rwxr-xr-x | run.sh | 14 |
5 files changed, 63 insertions, 37 deletions
@@ -1,11 +1,27 @@ -FROM ubuntu:bionic +FROM debian:stable-slim ENV LANG=en_US.UTF-8 ENV LANGUAGE=en_US:en ENV LC_ALL=en_US.UTF-8 +ENV LICENSE_FINDER_VERSION=5.11.1 ENV PATH="${PATH}:/root/.asdf/shims:/root/.asdf/bin" ENV TERM="xterm" -RUN apt-get update -q && \ - apt-get install -y --no-install-recommends \ +ENV LM_HOME=/opt/license-management/ +COPY . /opt/license-management/ +RUN ln -sfn $LM_HOME/config/01_nodoc /etc/dpkg/dpkg.cfg.d/01_nodoc \ + && ln -sfn $LM_HOME/config/02nocache /etc/apt/apt.conf.d/02nocache \ + && ln -sfn $LM_HOME/config/asdfrc $HOME/.asdfrc \ + && ln -sfn $LM_HOME/config/bashrc $HOME/.bashrc \ + && ln -sfn $LM_HOME/config/default-gems $HOME/.default-gems \ + && ln -sfn $LM_HOME/config/default-npm-packages $HOME/.default-npm-packages \ + && ln -sfn $LM_HOME/config/default-python-packages $HOME/.default-python-packages \ + && ln -sfn $LM_HOME/config/gemrc $HOME/.gemrc \ + && ln -sfn $LM_HOME/config/profile $HOME/.profile \ + && ln -sfn $LM_HOME/config/tool-versions $HOME/.tool-versions \ + && ln -sfn $LM_HOME/run.sh /run.sh \ + && ln -sfn $LM_HOME/test /test \ + && apt-get update -q \ + && apt-get install -y --no-install-recommends \ + apt-utils \ autoconf \ automake \ bison \ @@ -14,6 +30,7 @@ RUN apt-get update -q && \ bzip2 \ coreutils \ curl \ + default-libmysqlclient-dev \ gettext \ git \ gnupg2 \ @@ -27,7 +44,6 @@ RUN apt-get update -q && \ libjpeg-dev \ liblttng-ctl0 \ liblttng-ctl-dev \ - libmysqlclient-dev \ libncurses-dev \ libonig-dev \ libpng-dev \ @@ -40,6 +56,8 @@ RUN apt-get update -q && \ libxslt-dev \ libyaml-dev \ locales \ + locales-all \ + locate \ openssl \ pkg-config \ re2c \ @@ -49,30 +67,24 @@ RUN apt-get update -q && \ wget \ zlib1g \ zlib1g-dev \ - && rm -rf /var/lib/apt/lists/* -RUN locale-gen en_US.UTF-8 -COPY config/ /root/.config -RUN git clone --depth 1 https://github.com/asdf-vm/asdf.git $HOME/.asdf && \ - ln -sfn $HOME/.config/asdfrc $HOME/.asdfrc && \ - ln -sfn $HOME/.config/bashrc $HOME/.bashrc && \ - ln -sfn $HOME/.config/default-gems $HOME/.default-gems && \ - ln -sfn $HOME/.config/default-npm-packages $HOME/.default-npm-packages && \ - ln -sfn $HOME/.config/default-python-packages $HOME/.default-python-packages && \ - ln -sfn $HOME/.config/gemrc $HOME/.gemrc && \ - ln -sfn $HOME/.config/profile $HOME/.profile && \ - ln -sfn $HOME/.config/tool-versions $HOME/.tool-versions && \ - asdf plugin-add dotnet-core && \ - asdf plugin-add golang && \ - asdf plugin-add java && \ - asdf plugin-add maven && \ - asdf plugin-add nodejs && \ - asdf plugin-add php && \ - asdf plugin-add python && \ - asdf plugin-add ruby && \ - asdf plugin-add yarn && \ - bash $HOME/.asdf/plugins/nodejs/bin/import-release-team-keyring && \ - cd $HOME && asdf install -COPY test /test -COPY run.sh / -COPY . /opt/license-management/ + && locale-gen en_US.UTF-8 \ + && rm -fr /var/lib/apt/lists/* \ + && rm -fr /var/cache/apt/archives/ \ + && rm -fr /usr/share/doc/ \ + && git clone --depth 1 https://github.com/asdf-vm/asdf.git $HOME/.asdf \ + && asdf plugin-add dotnet-core \ + && asdf plugin-add golang \ + && asdf plugin-add java \ + && asdf plugin-add maven \ + && asdf plugin-add nodejs \ + && asdf plugin-add php \ + && asdf plugin-add python \ + && asdf plugin-add ruby \ + && asdf plugin-add yarn \ + && bash $HOME/.asdf/plugins/nodejs/bin/import-release-team-keyring \ + && cd $HOME \ + && asdf install \ + && cd $LM_HOME \ + && gem build *.gemspec \ + && gem install *.gem ENTRYPOINT ["/run.sh"] diff --git a/config/01_nodoc b/config/01_nodoc new file mode 100644 index 0000000..6350de8 --- /dev/null +++ b/config/01_nodoc @@ -0,0 +1,11 @@ +# /etc/dpkg/dpkg.cfg.d/01_nodoc + +# Delete locales +path-exclude=/usr/share/locale/* + +# Delete man pages +path-exclude=/usr/share/man/* + +# Delete docs +path-exclude=/usr/share/doc/* +path-include=/usr/share/doc/*/copyright diff --git a/config/02nocache b/config/02nocache new file mode 100644 index 0000000..6add3a9 --- /dev/null +++ b/config/02nocache @@ -0,0 +1,2 @@ +Dir::Cache ""; +Dir::Cache::archives ""; diff --git a/config/default-gems b/config/default-gems index f832f6e..f300d11 100644 --- a/config/default-gems +++ b/config/default-gems @@ -1,2 +1,3 @@ bundler ~>1.7 bundler ~>2.0 +/opt/license-management/*.gem @@ -90,7 +90,7 @@ case "$LM_PYTHON_VERSION" in *) echo "python version not supported: $LM_PYTHON_VERSION" >&2 - exit 1 + #exit 1 ;; esac @@ -110,16 +110,17 @@ case "$COMMAND" in pushd $APP_PATH > /dev/null if [[ -z "${SETUP_CMD}" ]]; then + asdf install # Before running license_finder, we need to install dependencies for the project. if test -f Gemfile ; then - if test -n "$rvm_recommended_ruby" ; then + #if test -n "$rvm_recommended_ruby" ; then # Install the Ruby version RVM found in the project files # This always end in the cryptic "bash: Searching: command not found" error but Ruby is installed # So we ignore the error. - $($rvm_recommended_ruby) 2>/dev/null || true - rvm use . - bundler_version=$(grep -A1 "BUNDLED WITH" Gemfile.lock | tail -n 1) - gem install bundler -v "${bundler_version}" || gem install bundler + #$($rvm_recommended_ruby) 2>/dev/null || true + #rvm use . + #bundler_version=$(grep -A1 "BUNDLED WITH" Gemfile.lock | tail -n 1) + #gem install bundler -v "${bundler_version}" || gem install bundler # rvm pulls outdated gems # need this to update system bundler # We need to install the license_finder gem into this Ruby version too. @@ -148,7 +149,6 @@ case "$COMMAND" in skip_prepare=true fi - if find . -name "*.go" -printf "found" -quit |grep found >/dev/null ; then if [[ ( ! -f glide.lock ) && ( ! -f vendor/manifest ) && (! -f Gopkg.lock ) && (! -f go.mod ) ]]; then echo "running go get" |
