summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Dockerfile72
-rw-r--r--config/01_nodoc11
-rw-r--r--config/02nocache2
-rw-r--r--config/default-gems1
-rwxr-xr-xrun.sh14
5 files changed, 63 insertions, 37 deletions
diff --git a/Dockerfile b/Dockerfile
index 79fbb83..875dd69 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -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
diff --git a/run.sh b/run.sh
index 6a0b8db..82476b1 100755
--- a/run.sh
+++ b/run.sh
@@ -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"