From b39925c72eb4503cca0185442a023e4349ad01c6 Mon Sep 17 00:00:00 2001 From: Ruslan Rusinov Date: Fri, 25 Jul 2025 16:07:12 +0000 Subject: [PATCH 1/3] arm64 docker fixes --- .../flavor_base/build_deps/Dockerfile | 38 +-------------- .../flavor_base/udfclient_deps/Dockerfile | 29 +----------- .../flavor_base/build_deps/Dockerfile | 38 +-------------- .../flavor_base/udfclient_deps/Dockerfile | 29 +----------- .../flavor_base/build_deps/Dockerfile | 38 +-------------- .../flavor_base/build_deps/Dockerfile | 38 +-------------- .../flavor_base/build_deps/Dockerfile | 38 +-------------- .../flavor_base/udfclient_deps/Dockerfile | 29 +----------- .../flavor_base/build_deps/Dockerfile | 38 +-------------- shared/Dockerfile-build_deps | 47 +++++++++++++++++++ shared/Dockerfile-build_deps-java17 | 47 +++++++++++++++++++ shared/Dockerfile-udfclient_deps | 44 +++++++++++++++++ 12 files changed, 147 insertions(+), 306 deletions(-) mode change 100644 => 120000 flavors/standard-EXASOL-all-java-11/flavor_base/build_deps/Dockerfile mode change 100644 => 120000 flavors/standard-EXASOL-all-java-11/flavor_base/udfclient_deps/Dockerfile mode change 100644 => 120000 flavors/standard-EXASOL-all-java-17/flavor_base/build_deps/Dockerfile mode change 100644 => 120000 flavors/standard-EXASOL-all-java-17/flavor_base/udfclient_deps/Dockerfile mode change 100644 => 120000 flavors/standard-EXASOL-all-python-3.10/flavor_base/build_deps/Dockerfile mode change 100644 => 120000 flavors/standard-EXASOL-all-r-4.4/flavor_base/build_deps/Dockerfile mode change 100644 => 120000 flavors/standard-EXASOL-all/flavor_base/build_deps/Dockerfile mode change 100644 => 120000 flavors/standard-EXASOL-all/flavor_base/udfclient_deps/Dockerfile mode change 100644 => 120000 flavors/template-Exasol-all-r-4/flavor_base/build_deps/Dockerfile create mode 100644 shared/Dockerfile-build_deps create mode 100644 shared/Dockerfile-build_deps-java17 create mode 100644 shared/Dockerfile-udfclient_deps diff --git a/flavors/standard-EXASOL-all-java-11/flavor_base/build_deps/Dockerfile b/flavors/standard-EXASOL-all-java-11/flavor_base/build_deps/Dockerfile deleted file mode 100644 index a640cae9a..000000000 --- a/flavors/standard-EXASOL-all-java-11/flavor_base/build_deps/Dockerfile +++ /dev/null @@ -1,37 +0,0 @@ -FROM ubuntu:22.04 -ENV DEBIAN_FRONTEND=noninteractive - -ENV ARCHIVE_UBUNTU_PREFIX="" -RUN sed --in-place --regexp-extended "s/(\/\/)(archive\.ubuntu)/\1$ARCHIVE_UBUNTU_PREFIX\2/" /etc/apt/sources.list - -COPY 01_nodoc /etc/dpkg/dpkg.cfg.d/01_nodoc -COPY scripts /scripts - -RUN mkdir -p /build_info/packages -COPY build_deps/packages /build_info/packages/build_deps - -ENV BAZEL_PACKAGE_VERSION="7.2.1" -ENV BAZEL_PACKAGE_FILE="bazel_$BAZEL_PACKAGE_VERSION-linux-x86_64.deb" -ENV BAZEL_PACKAGE_URL="https://github.com/bazelbuild/bazel/releases/download/$BAZEL_PACKAGE_VERSION/$BAZEL_PACKAGE_FILE" - -RUN /scripts/install_scripts/install_via_apt.pl --file /build_info/packages/build_deps/apt_get_packages --with-versions - -RUN apt-get -y update && \ - curl -L --output "$BAZEL_PACKAGE_FILE" "$BAZEL_PACKAGE_URL" && \ - apt-get install -y "./$BAZEL_PACKAGE_FILE" && \ - rm "$BAZEL_PACKAGE_FILE" && \ - apt-get -y clean && \ - apt-get -y autoremove - -RUN curl -L -o swig-2.0.4.tar.gz https://exasol-script-languages-dependencies.s3.eu-central-1.amazonaws.com/swig-2.0.4.tar.gz && \ - tar zxf swig-2.0.4.tar.gz && \ - (cd swig-2.0.4 && ./configure --prefix=/usr && make && make install) && \ - rm -rf swig-2.0.4 swig-2.0.4.tar.gz - -RUN locale-gen en_US.UTF-8 && \ - update-locale LC_ALL=en_US.UTF-8 && \ - ldconfig - -RUN touch /env && \ - echo "export PROTOBUF_BIN=/usr/bin/protoc" >> /env && \ - echo "export JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64" >> /env diff --git a/flavors/standard-EXASOL-all-java-11/flavor_base/build_deps/Dockerfile b/flavors/standard-EXASOL-all-java-11/flavor_base/build_deps/Dockerfile new file mode 120000 index 000000000..f3ca0ef15 --- /dev/null +++ b/flavors/standard-EXASOL-all-java-11/flavor_base/build_deps/Dockerfile @@ -0,0 +1 @@ +../../../../shared/Dockerfile-build_deps \ No newline at end of file diff --git a/flavors/standard-EXASOL-all-java-11/flavor_base/udfclient_deps/Dockerfile b/flavors/standard-EXASOL-all-java-11/flavor_base/udfclient_deps/Dockerfile deleted file mode 100644 index 4e9e8c7bf..000000000 --- a/flavors/standard-EXASOL-all-java-11/flavor_base/udfclient_deps/Dockerfile +++ /dev/null @@ -1,28 +0,0 @@ -FROM ubuntu:22.04 -ENV DEBIAN_FRONTEND=noninteractive - -ENV ARCHIVE_UBUNTU_PREFIX="" -RUN sed --in-place --regexp-extended "s/(\/\/)(archive\.ubuntu)/\1$ARCHIVE_UBUNTU_PREFIX\2/" /etc/apt/sources.list - -COPY 01_nodoc /etc/dpkg/dpkg.cfg.d/01_nodoc -COPY scripts /scripts - -RUN mkdir -p /build_info/packages -COPY udfclient_deps/packages /build_info/packages/udfclient_deps -RUN /scripts/install_scripts/install_via_apt.pl --file /build_info/packages/udfclient_deps/apt_get_packages --with-versions - -RUN addgroup --gid 1000 exasolution -RUN adduser --disabled-login --uid 1000 --gid 1000 exasolution --gecos "First Last,RoomNumber,WorkPhone,HomePhone" -RUN addgroup --gid 500 exausers -RUN adduser --disabled-login --uid 500 --gid 500 exadefusr --gecos "First Last,RoomNumber,WorkPhone,HomePhone" - -ENV LANG en_US.UTF-8 -ENV LANGUAGE en_US:en -ENV LC_ALL en_US.UTF-8 - -ENV PROTOBUF_LIBRARY_PREFIX=/usr/lib/ -ENV PROTOBUF_INCLUDE_PREFIX=/usr/include/ -ENV ZMQ_LIBRARY_PREFIX=/usr/lib -ENV ZMQ_INCLUDE_PREFIX=/usr/include -ENV OPENSSL_LIBRARY_PREFIX=/usr/lib/x86_64-linux-gnu -ENV OPENSSL_INCLUDE_PREFIX=/usr/include/openssl diff --git a/flavors/standard-EXASOL-all-java-11/flavor_base/udfclient_deps/Dockerfile b/flavors/standard-EXASOL-all-java-11/flavor_base/udfclient_deps/Dockerfile new file mode 120000 index 000000000..cc2c7b004 --- /dev/null +++ b/flavors/standard-EXASOL-all-java-11/flavor_base/udfclient_deps/Dockerfile @@ -0,0 +1 @@ +../../../../shared/Dockerfile-udfclient_deps \ No newline at end of file diff --git a/flavors/standard-EXASOL-all-java-17/flavor_base/build_deps/Dockerfile b/flavors/standard-EXASOL-all-java-17/flavor_base/build_deps/Dockerfile deleted file mode 100644 index ebd01539c..000000000 --- a/flavors/standard-EXASOL-all-java-17/flavor_base/build_deps/Dockerfile +++ /dev/null @@ -1,37 +0,0 @@ -FROM ubuntu:22.04 -ENV DEBIAN_FRONTEND=noninteractive - -ENV ARCHIVE_UBUNTU_PREFIX="" -RUN sed --in-place --regexp-extended "s/(\/\/)(archive\.ubuntu)/\1$ARCHIVE_UBUNTU_PREFIX\2/" /etc/apt/sources.list - -COPY 01_nodoc /etc/dpkg/dpkg.cfg.d/01_nodoc -COPY scripts /scripts - -RUN mkdir -p /build_info/packages -COPY build_deps/packages /build_info/packages/build_deps - -ENV BAZEL_PACKAGE_VERSION="7.2.1" -ENV BAZEL_PACKAGE_FILE="bazel_$BAZEL_PACKAGE_VERSION-linux-x86_64.deb" -ENV BAZEL_PACKAGE_URL="https://github.com/bazelbuild/bazel/releases/download/$BAZEL_PACKAGE_VERSION/$BAZEL_PACKAGE_FILE" - -RUN /scripts/install_scripts/install_via_apt.pl --file /build_info/packages/build_deps/apt_get_packages --with-versions - -RUN apt-get -y update && \ - curl -L --output "$BAZEL_PACKAGE_FILE" "$BAZEL_PACKAGE_URL" && \ - apt-get install -y "./$BAZEL_PACKAGE_FILE" && \ - rm "$BAZEL_PACKAGE_FILE" && \ - apt-get -y clean && \ - apt-get -y autoremove - -RUN curl -L -o swig-2.0.4.tar.gz https://exasol-script-languages-dependencies.s3.eu-central-1.amazonaws.com/swig-2.0.4.tar.gz && \ - tar zxf swig-2.0.4.tar.gz && \ - (cd swig-2.0.4 && ./configure --prefix=/usr && make && make install) && \ - rm -rf swig-2.0.4 swig-2.0.4.tar.gz - -RUN locale-gen en_US.UTF-8 && \ - update-locale LC_ALL=en_US.UTF-8 && \ - ldconfig - -RUN touch /env && \ - echo "export PROTOBUF_BIN=/usr/bin/protoc" >> /env && \ - echo "export JAVA_HOME=/usr/lib/jvm/java-1.17.0-openjdk-amd64" >> /env diff --git a/flavors/standard-EXASOL-all-java-17/flavor_base/build_deps/Dockerfile b/flavors/standard-EXASOL-all-java-17/flavor_base/build_deps/Dockerfile new file mode 120000 index 000000000..630b3c950 --- /dev/null +++ b/flavors/standard-EXASOL-all-java-17/flavor_base/build_deps/Dockerfile @@ -0,0 +1 @@ +../../../../shared/Dockerfile-build_deps-java17 \ No newline at end of file diff --git a/flavors/standard-EXASOL-all-java-17/flavor_base/udfclient_deps/Dockerfile b/flavors/standard-EXASOL-all-java-17/flavor_base/udfclient_deps/Dockerfile deleted file mode 100644 index 4e9e8c7bf..000000000 --- a/flavors/standard-EXASOL-all-java-17/flavor_base/udfclient_deps/Dockerfile +++ /dev/null @@ -1,28 +0,0 @@ -FROM ubuntu:22.04 -ENV DEBIAN_FRONTEND=noninteractive - -ENV ARCHIVE_UBUNTU_PREFIX="" -RUN sed --in-place --regexp-extended "s/(\/\/)(archive\.ubuntu)/\1$ARCHIVE_UBUNTU_PREFIX\2/" /etc/apt/sources.list - -COPY 01_nodoc /etc/dpkg/dpkg.cfg.d/01_nodoc -COPY scripts /scripts - -RUN mkdir -p /build_info/packages -COPY udfclient_deps/packages /build_info/packages/udfclient_deps -RUN /scripts/install_scripts/install_via_apt.pl --file /build_info/packages/udfclient_deps/apt_get_packages --with-versions - -RUN addgroup --gid 1000 exasolution -RUN adduser --disabled-login --uid 1000 --gid 1000 exasolution --gecos "First Last,RoomNumber,WorkPhone,HomePhone" -RUN addgroup --gid 500 exausers -RUN adduser --disabled-login --uid 500 --gid 500 exadefusr --gecos "First Last,RoomNumber,WorkPhone,HomePhone" - -ENV LANG en_US.UTF-8 -ENV LANGUAGE en_US:en -ENV LC_ALL en_US.UTF-8 - -ENV PROTOBUF_LIBRARY_PREFIX=/usr/lib/ -ENV PROTOBUF_INCLUDE_PREFIX=/usr/include/ -ENV ZMQ_LIBRARY_PREFIX=/usr/lib -ENV ZMQ_INCLUDE_PREFIX=/usr/include -ENV OPENSSL_LIBRARY_PREFIX=/usr/lib/x86_64-linux-gnu -ENV OPENSSL_INCLUDE_PREFIX=/usr/include/openssl diff --git a/flavors/standard-EXASOL-all-java-17/flavor_base/udfclient_deps/Dockerfile b/flavors/standard-EXASOL-all-java-17/flavor_base/udfclient_deps/Dockerfile new file mode 120000 index 000000000..cc2c7b004 --- /dev/null +++ b/flavors/standard-EXASOL-all-java-17/flavor_base/udfclient_deps/Dockerfile @@ -0,0 +1 @@ +../../../../shared/Dockerfile-udfclient_deps \ No newline at end of file diff --git a/flavors/standard-EXASOL-all-python-3.10/flavor_base/build_deps/Dockerfile b/flavors/standard-EXASOL-all-python-3.10/flavor_base/build_deps/Dockerfile deleted file mode 100644 index a640cae9a..000000000 --- a/flavors/standard-EXASOL-all-python-3.10/flavor_base/build_deps/Dockerfile +++ /dev/null @@ -1,37 +0,0 @@ -FROM ubuntu:22.04 -ENV DEBIAN_FRONTEND=noninteractive - -ENV ARCHIVE_UBUNTU_PREFIX="" -RUN sed --in-place --regexp-extended "s/(\/\/)(archive\.ubuntu)/\1$ARCHIVE_UBUNTU_PREFIX\2/" /etc/apt/sources.list - -COPY 01_nodoc /etc/dpkg/dpkg.cfg.d/01_nodoc -COPY scripts /scripts - -RUN mkdir -p /build_info/packages -COPY build_deps/packages /build_info/packages/build_deps - -ENV BAZEL_PACKAGE_VERSION="7.2.1" -ENV BAZEL_PACKAGE_FILE="bazel_$BAZEL_PACKAGE_VERSION-linux-x86_64.deb" -ENV BAZEL_PACKAGE_URL="https://github.com/bazelbuild/bazel/releases/download/$BAZEL_PACKAGE_VERSION/$BAZEL_PACKAGE_FILE" - -RUN /scripts/install_scripts/install_via_apt.pl --file /build_info/packages/build_deps/apt_get_packages --with-versions - -RUN apt-get -y update && \ - curl -L --output "$BAZEL_PACKAGE_FILE" "$BAZEL_PACKAGE_URL" && \ - apt-get install -y "./$BAZEL_PACKAGE_FILE" && \ - rm "$BAZEL_PACKAGE_FILE" && \ - apt-get -y clean && \ - apt-get -y autoremove - -RUN curl -L -o swig-2.0.4.tar.gz https://exasol-script-languages-dependencies.s3.eu-central-1.amazonaws.com/swig-2.0.4.tar.gz && \ - tar zxf swig-2.0.4.tar.gz && \ - (cd swig-2.0.4 && ./configure --prefix=/usr && make && make install) && \ - rm -rf swig-2.0.4 swig-2.0.4.tar.gz - -RUN locale-gen en_US.UTF-8 && \ - update-locale LC_ALL=en_US.UTF-8 && \ - ldconfig - -RUN touch /env && \ - echo "export PROTOBUF_BIN=/usr/bin/protoc" >> /env && \ - echo "export JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64" >> /env diff --git a/flavors/standard-EXASOL-all-python-3.10/flavor_base/build_deps/Dockerfile b/flavors/standard-EXASOL-all-python-3.10/flavor_base/build_deps/Dockerfile new file mode 120000 index 000000000..f3ca0ef15 --- /dev/null +++ b/flavors/standard-EXASOL-all-python-3.10/flavor_base/build_deps/Dockerfile @@ -0,0 +1 @@ +../../../../shared/Dockerfile-build_deps \ No newline at end of file diff --git a/flavors/standard-EXASOL-all-r-4.4/flavor_base/build_deps/Dockerfile b/flavors/standard-EXASOL-all-r-4.4/flavor_base/build_deps/Dockerfile deleted file mode 100644 index a640cae9a..000000000 --- a/flavors/standard-EXASOL-all-r-4.4/flavor_base/build_deps/Dockerfile +++ /dev/null @@ -1,37 +0,0 @@ -FROM ubuntu:22.04 -ENV DEBIAN_FRONTEND=noninteractive - -ENV ARCHIVE_UBUNTU_PREFIX="" -RUN sed --in-place --regexp-extended "s/(\/\/)(archive\.ubuntu)/\1$ARCHIVE_UBUNTU_PREFIX\2/" /etc/apt/sources.list - -COPY 01_nodoc /etc/dpkg/dpkg.cfg.d/01_nodoc -COPY scripts /scripts - -RUN mkdir -p /build_info/packages -COPY build_deps/packages /build_info/packages/build_deps - -ENV BAZEL_PACKAGE_VERSION="7.2.1" -ENV BAZEL_PACKAGE_FILE="bazel_$BAZEL_PACKAGE_VERSION-linux-x86_64.deb" -ENV BAZEL_PACKAGE_URL="https://github.com/bazelbuild/bazel/releases/download/$BAZEL_PACKAGE_VERSION/$BAZEL_PACKAGE_FILE" - -RUN /scripts/install_scripts/install_via_apt.pl --file /build_info/packages/build_deps/apt_get_packages --with-versions - -RUN apt-get -y update && \ - curl -L --output "$BAZEL_PACKAGE_FILE" "$BAZEL_PACKAGE_URL" && \ - apt-get install -y "./$BAZEL_PACKAGE_FILE" && \ - rm "$BAZEL_PACKAGE_FILE" && \ - apt-get -y clean && \ - apt-get -y autoremove - -RUN curl -L -o swig-2.0.4.tar.gz https://exasol-script-languages-dependencies.s3.eu-central-1.amazonaws.com/swig-2.0.4.tar.gz && \ - tar zxf swig-2.0.4.tar.gz && \ - (cd swig-2.0.4 && ./configure --prefix=/usr && make && make install) && \ - rm -rf swig-2.0.4 swig-2.0.4.tar.gz - -RUN locale-gen en_US.UTF-8 && \ - update-locale LC_ALL=en_US.UTF-8 && \ - ldconfig - -RUN touch /env && \ - echo "export PROTOBUF_BIN=/usr/bin/protoc" >> /env && \ - echo "export JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64" >> /env diff --git a/flavors/standard-EXASOL-all-r-4.4/flavor_base/build_deps/Dockerfile b/flavors/standard-EXASOL-all-r-4.4/flavor_base/build_deps/Dockerfile new file mode 120000 index 000000000..f3ca0ef15 --- /dev/null +++ b/flavors/standard-EXASOL-all-r-4.4/flavor_base/build_deps/Dockerfile @@ -0,0 +1 @@ +../../../../shared/Dockerfile-build_deps \ No newline at end of file diff --git a/flavors/standard-EXASOL-all/flavor_base/build_deps/Dockerfile b/flavors/standard-EXASOL-all/flavor_base/build_deps/Dockerfile deleted file mode 100644 index a640cae9a..000000000 --- a/flavors/standard-EXASOL-all/flavor_base/build_deps/Dockerfile +++ /dev/null @@ -1,37 +0,0 @@ -FROM ubuntu:22.04 -ENV DEBIAN_FRONTEND=noninteractive - -ENV ARCHIVE_UBUNTU_PREFIX="" -RUN sed --in-place --regexp-extended "s/(\/\/)(archive\.ubuntu)/\1$ARCHIVE_UBUNTU_PREFIX\2/" /etc/apt/sources.list - -COPY 01_nodoc /etc/dpkg/dpkg.cfg.d/01_nodoc -COPY scripts /scripts - -RUN mkdir -p /build_info/packages -COPY build_deps/packages /build_info/packages/build_deps - -ENV BAZEL_PACKAGE_VERSION="7.2.1" -ENV BAZEL_PACKAGE_FILE="bazel_$BAZEL_PACKAGE_VERSION-linux-x86_64.deb" -ENV BAZEL_PACKAGE_URL="https://github.com/bazelbuild/bazel/releases/download/$BAZEL_PACKAGE_VERSION/$BAZEL_PACKAGE_FILE" - -RUN /scripts/install_scripts/install_via_apt.pl --file /build_info/packages/build_deps/apt_get_packages --with-versions - -RUN apt-get -y update && \ - curl -L --output "$BAZEL_PACKAGE_FILE" "$BAZEL_PACKAGE_URL" && \ - apt-get install -y "./$BAZEL_PACKAGE_FILE" && \ - rm "$BAZEL_PACKAGE_FILE" && \ - apt-get -y clean && \ - apt-get -y autoremove - -RUN curl -L -o swig-2.0.4.tar.gz https://exasol-script-languages-dependencies.s3.eu-central-1.amazonaws.com/swig-2.0.4.tar.gz && \ - tar zxf swig-2.0.4.tar.gz && \ - (cd swig-2.0.4 && ./configure --prefix=/usr && make && make install) && \ - rm -rf swig-2.0.4 swig-2.0.4.tar.gz - -RUN locale-gen en_US.UTF-8 && \ - update-locale LC_ALL=en_US.UTF-8 && \ - ldconfig - -RUN touch /env && \ - echo "export PROTOBUF_BIN=/usr/bin/protoc" >> /env && \ - echo "export JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64" >> /env diff --git a/flavors/standard-EXASOL-all/flavor_base/build_deps/Dockerfile b/flavors/standard-EXASOL-all/flavor_base/build_deps/Dockerfile new file mode 120000 index 000000000..f3ca0ef15 --- /dev/null +++ b/flavors/standard-EXASOL-all/flavor_base/build_deps/Dockerfile @@ -0,0 +1 @@ +../../../../shared/Dockerfile-build_deps \ No newline at end of file diff --git a/flavors/standard-EXASOL-all/flavor_base/udfclient_deps/Dockerfile b/flavors/standard-EXASOL-all/flavor_base/udfclient_deps/Dockerfile deleted file mode 100644 index 4e9e8c7bf..000000000 --- a/flavors/standard-EXASOL-all/flavor_base/udfclient_deps/Dockerfile +++ /dev/null @@ -1,28 +0,0 @@ -FROM ubuntu:22.04 -ENV DEBIAN_FRONTEND=noninteractive - -ENV ARCHIVE_UBUNTU_PREFIX="" -RUN sed --in-place --regexp-extended "s/(\/\/)(archive\.ubuntu)/\1$ARCHIVE_UBUNTU_PREFIX\2/" /etc/apt/sources.list - -COPY 01_nodoc /etc/dpkg/dpkg.cfg.d/01_nodoc -COPY scripts /scripts - -RUN mkdir -p /build_info/packages -COPY udfclient_deps/packages /build_info/packages/udfclient_deps -RUN /scripts/install_scripts/install_via_apt.pl --file /build_info/packages/udfclient_deps/apt_get_packages --with-versions - -RUN addgroup --gid 1000 exasolution -RUN adduser --disabled-login --uid 1000 --gid 1000 exasolution --gecos "First Last,RoomNumber,WorkPhone,HomePhone" -RUN addgroup --gid 500 exausers -RUN adduser --disabled-login --uid 500 --gid 500 exadefusr --gecos "First Last,RoomNumber,WorkPhone,HomePhone" - -ENV LANG en_US.UTF-8 -ENV LANGUAGE en_US:en -ENV LC_ALL en_US.UTF-8 - -ENV PROTOBUF_LIBRARY_PREFIX=/usr/lib/ -ENV PROTOBUF_INCLUDE_PREFIX=/usr/include/ -ENV ZMQ_LIBRARY_PREFIX=/usr/lib -ENV ZMQ_INCLUDE_PREFIX=/usr/include -ENV OPENSSL_LIBRARY_PREFIX=/usr/lib/x86_64-linux-gnu -ENV OPENSSL_INCLUDE_PREFIX=/usr/include/openssl diff --git a/flavors/standard-EXASOL-all/flavor_base/udfclient_deps/Dockerfile b/flavors/standard-EXASOL-all/flavor_base/udfclient_deps/Dockerfile new file mode 120000 index 000000000..cc2c7b004 --- /dev/null +++ b/flavors/standard-EXASOL-all/flavor_base/udfclient_deps/Dockerfile @@ -0,0 +1 @@ +../../../../shared/Dockerfile-udfclient_deps \ No newline at end of file diff --git a/flavors/template-Exasol-all-r-4/flavor_base/build_deps/Dockerfile b/flavors/template-Exasol-all-r-4/flavor_base/build_deps/Dockerfile deleted file mode 100644 index a640cae9a..000000000 --- a/flavors/template-Exasol-all-r-4/flavor_base/build_deps/Dockerfile +++ /dev/null @@ -1,37 +0,0 @@ -FROM ubuntu:22.04 -ENV DEBIAN_FRONTEND=noninteractive - -ENV ARCHIVE_UBUNTU_PREFIX="" -RUN sed --in-place --regexp-extended "s/(\/\/)(archive\.ubuntu)/\1$ARCHIVE_UBUNTU_PREFIX\2/" /etc/apt/sources.list - -COPY 01_nodoc /etc/dpkg/dpkg.cfg.d/01_nodoc -COPY scripts /scripts - -RUN mkdir -p /build_info/packages -COPY build_deps/packages /build_info/packages/build_deps - -ENV BAZEL_PACKAGE_VERSION="7.2.1" -ENV BAZEL_PACKAGE_FILE="bazel_$BAZEL_PACKAGE_VERSION-linux-x86_64.deb" -ENV BAZEL_PACKAGE_URL="https://github.com/bazelbuild/bazel/releases/download/$BAZEL_PACKAGE_VERSION/$BAZEL_PACKAGE_FILE" - -RUN /scripts/install_scripts/install_via_apt.pl --file /build_info/packages/build_deps/apt_get_packages --with-versions - -RUN apt-get -y update && \ - curl -L --output "$BAZEL_PACKAGE_FILE" "$BAZEL_PACKAGE_URL" && \ - apt-get install -y "./$BAZEL_PACKAGE_FILE" && \ - rm "$BAZEL_PACKAGE_FILE" && \ - apt-get -y clean && \ - apt-get -y autoremove - -RUN curl -L -o swig-2.0.4.tar.gz https://exasol-script-languages-dependencies.s3.eu-central-1.amazonaws.com/swig-2.0.4.tar.gz && \ - tar zxf swig-2.0.4.tar.gz && \ - (cd swig-2.0.4 && ./configure --prefix=/usr && make && make install) && \ - rm -rf swig-2.0.4 swig-2.0.4.tar.gz - -RUN locale-gen en_US.UTF-8 && \ - update-locale LC_ALL=en_US.UTF-8 && \ - ldconfig - -RUN touch /env && \ - echo "export PROTOBUF_BIN=/usr/bin/protoc" >> /env && \ - echo "export JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64" >> /env diff --git a/flavors/template-Exasol-all-r-4/flavor_base/build_deps/Dockerfile b/flavors/template-Exasol-all-r-4/flavor_base/build_deps/Dockerfile new file mode 120000 index 000000000..f3ca0ef15 --- /dev/null +++ b/flavors/template-Exasol-all-r-4/flavor_base/build_deps/Dockerfile @@ -0,0 +1 @@ +../../../../shared/Dockerfile-build_deps \ No newline at end of file diff --git a/shared/Dockerfile-build_deps b/shared/Dockerfile-build_deps new file mode 100644 index 000000000..a3c910591 --- /dev/null +++ b/shared/Dockerfile-build_deps @@ -0,0 +1,47 @@ +FROM ubuntu:22.04 +ENV DEBIAN_FRONTEND=noninteractive + +ENV ARCHIVE_UBUNTU_PREFIX="" +RUN sed --in-place --regexp-extended "s/(\/\/)(archive\.ubuntu)/\1$ARCHIVE_UBUNTU_PREFIX\2/" /etc/apt/sources.list + +COPY 01_nodoc /etc/dpkg/dpkg.cfg.d/01_nodoc +COPY scripts /scripts + +RUN mkdir -p /build_info/packages +COPY build_deps/packages /build_info/packages/build_deps + +# Install base dependencies +RUN /scripts/install_scripts/install_via_apt.pl \ + --file /build_info/packages/build_deps/apt_get_packages --with-versions + +# Install Bazelisk (architecture-dependent) +ENV BAZELISK_VERSION="v1.26.0" +ENV USE_BAZEL_VERSION="7.6.1" + +RUN set -e; \ + apt-get update && apt-get install -y curl gnupg; \ + ARCH=$(dpkg --print-architecture); \ + if [ "$ARCH" = "amd64" ]; then \ + BAZELISK_URL="https://github.com/bazelbuild/bazelisk/releases/download/${BAZELISK_VERSION}/bazelisk-linux-amd64"; \ + JAVA_HOME_PATH="/usr/lib/jvm/java-1.8.0-openjdk-amd64"; \ + elif [ "$ARCH" = "arm64" ]; then \ + BAZELISK_URL="https://github.com/bazelbuild/bazelisk/releases/download/${BAZELISK_VERSION}/bazelisk-linux-arm64"; \ + JAVA_HOME_PATH="/usr/lib/jvm/java-1.8.0-openjdk-arm64"; \ + else \ + echo "Unsupported architecture: $ARCH" >&2; exit 1; \ + fi; \ + curl -fsSL -o /usr/local/bin/bazel "$BAZELISK_URL"; \ + chmod +x /usr/local/bin/bazel; \ + echo "export PROTOBUF_BIN=/usr/bin/protoc" > /env; \ + echo "export JAVA_HOME=$JAVA_HOME_PATH" >> /env; \ + echo "export USE_BAZEL_VERSION=$USE_BAZEL_VERSION" >> /env + +# Install SWIG 2.0.4 +RUN curl -fsSL -o swig-2.0.4.tar.gz \ + https://exasol-script-languages-dependencies.s3.eu-central-1.amazonaws.com/swig-2.0.4.tar.gz && \ + tar zxf swig-2.0.4.tar.gz && \ + (cd swig-2.0.4 && ./configure --build=$(arch)-unknown-linux-gnu --prefix=/usr && make -j"$(nproc)" && make install) && \ + rm -rf swig-2.0.4 swig-2.0.4.tar.gz + +# Configure UTF-8 locale +RUN locale-gen en_US.UTF-8 && update-locale LC_ALL=en_US.UTF-8 && ldconfig diff --git a/shared/Dockerfile-build_deps-java17 b/shared/Dockerfile-build_deps-java17 new file mode 100644 index 000000000..8ff3c3d4b --- /dev/null +++ b/shared/Dockerfile-build_deps-java17 @@ -0,0 +1,47 @@ +FROM ubuntu:22.04 +ENV DEBIAN_FRONTEND=noninteractive + +ENV ARCHIVE_UBUNTU_PREFIX="" +RUN sed --in-place --regexp-extended "s/(\/\/)(archive\.ubuntu)/\1$ARCHIVE_UBUNTU_PREFIX\2/" /etc/apt/sources.list + +COPY 01_nodoc /etc/dpkg/dpkg.cfg.d/01_nodoc +COPY scripts /scripts + +RUN mkdir -p /build_info/packages +COPY build_deps/packages /build_info/packages/build_deps + +# Install base dependencies +RUN /scripts/install_scripts/install_via_apt.pl \ + --file /build_info/packages/build_deps/apt_get_packages --with-versions + +# Install Bazelisk (architecture-dependent) +ENV BAZELISK_VERSION="v1.26.0" +ENV USE_BAZEL_VERSION="7.6.1" + +RUN set -e; \ + apt-get update && apt-get install -y curl gnupg; \ + ARCH=$(dpkg --print-architecture); \ + if [ "$ARCH" = "amd64" ]; then \ + BAZELISK_URL="https://github.com/bazelbuild/bazelisk/releases/download/${BAZELISK_VERSION}/bazelisk-linux-amd64"; \ + JAVA_HOME_PATH="/usr/lib/jvm/java-1.17.0-openjdk-amd64"; \ + elif [ "$ARCH" = "arm64" ]; then \ + BAZELISK_URL="https://github.com/bazelbuild/bazelisk/releases/download/${BAZELISK_VERSION}/bazelisk-linux-arm64"; \ + JAVA_HOME_PATH="/usr/lib/jvm/java-1.17.0-openjdk-arm64"; \ + else \ + echo "Unsupported architecture: $ARCH" >&2; exit 1; \ + fi; \ + curl -fsSL -o /usr/local/bin/bazel "$BAZELISK_URL"; \ + chmod +x /usr/local/bin/bazel; \ + echo "export PROTOBUF_BIN=/usr/bin/protoc" > /env; \ + echo "export JAVA_HOME=$JAVA_HOME_PATH" >> /env; \ + echo "export USE_BAZEL_VERSION=$USE_BAZEL_VERSION" >> /env + +# Install SWIG 2.0.4 +RUN curl -fsSL -o swig-2.0.4.tar.gz \ + https://exasol-script-languages-dependencies.s3.eu-central-1.amazonaws.com/swig-2.0.4.tar.gz && \ + tar zxf swig-2.0.4.tar.gz && \ + (cd swig-2.0.4 && ./configure --build=$(arch)-unknown-linux-gnu --prefix=/usr && make -j"$(nproc)" && make install) && \ + rm -rf swig-2.0.4 swig-2.0.4.tar.gz + +# Configure UTF-8 locale +RUN locale-gen en_US.UTF-8 && update-locale LC_ALL=en_US.UTF-8 && ldconfig diff --git a/shared/Dockerfile-udfclient_deps b/shared/Dockerfile-udfclient_deps new file mode 100644 index 000000000..bb5e15a31 --- /dev/null +++ b/shared/Dockerfile-udfclient_deps @@ -0,0 +1,44 @@ +FROM ubuntu:22.04 +ENV DEBIAN_FRONTEND=noninteractive + +# Optional: override Ubuntu mirror +ENV ARCHIVE_UBUNTU_PREFIX="" +RUN sed --in-place --regexp-extended "s|(//)(archive\.ubuntu)|\1$ARCHIVE_UBUNTU_PREFIX\2|" /etc/apt/sources.list + +# Reduce image size by skipping documentation +COPY 01_nodoc /etc/dpkg/dpkg.cfg.d/01_nodoc +COPY scripts /scripts + +# Install dependencies +RUN mkdir -p /build_info/packages +COPY udfclient_deps/packages /build_info/packages/udfclient_deps +RUN /scripts/install_scripts/install_via_apt.pl --file /build_info/packages/udfclient_deps/apt_get_packages --with-versions + +# Create users and groups +RUN set -e; \ + addgroup --gid 1000 exasolution; \ + adduser --disabled-login --uid 1000 --gid 1000 exasolution --gecos ""; \ + addgroup --gid 500 exausers; \ + adduser --disabled-login --uid 500 --gid 500 exadefusr --gecos "" + +# UTF-8 locale environment +ENV LANG=en_US.UTF-8 +ENV LANGUAGE=en_US:en +ENV LC_ALL=en_US.UTF-8 + +# Dynamically set env vars based on architecture +RUN set -e; \ + ARCH=$(dpkg --print-architecture); \ + if [ "$ARCH" = "amd64" ]; then \ + OPENSSL_LIB="/usr/lib/x86_64-linux-gnu"; \ + elif [ "$ARCH" = "arm64" ]; then \ + OPENSSL_LIB="/usr/lib/aarch64-linux-gnu"; \ + else \ + echo "Unsupported architecture: $ARCH" && exit 1; \ + fi; \ + echo "export PROTOBUF_LIBRARY_PREFIX=/usr/lib/" > /env; \ + echo "export PROTOBUF_INCLUDE_PREFIX=/usr/include/" >> /env; \ + echo "export ZMQ_LIBRARY_PREFIX=/usr/lib" >> /env; \ + echo "export ZMQ_INCLUDE_PREFIX=/usr/include" >> /env; \ + echo "export OPENSSL_LIBRARY_PREFIX=$OPENSSL_LIB" >> /env; \ + echo "export OPENSSL_INCLUDE_PREFIX=/usr/include/openssl" >> /env From 915867216c629f749ca08b53154ccc108b56d0f2 Mon Sep 17 00:00:00 2001 From: Ruslan Rusinov Date: Fri, 25 Jul 2025 20:15:11 +0000 Subject: [PATCH 2/3] arm64 adjustments --- .../flavor_base/build_deps/packages/apt_get_packages | 1 + .../flavor_base/udfclient_deps/packages/apt_get_packages | 1 + .../flavor_base/build_deps/packages/apt_get_packages | 1 + .../flavor_base/udfclient_deps/packages/apt_get_packages | 1 + .../flavor_base/build_deps/packages/apt_get_packages | 1 + .../flavor_base_deps/packages/python3_pip_packages | 4 ++-- .../flavor_base/udfclient_deps/packages/apt_get_packages | 1 + .../flavor_base/build_deps/packages/apt_get_packages | 1 + .../flavor_base/udfclient_deps/packages/apt_get_packages | 1 + .../flavor_base/build_deps/packages/apt_get_packages | 1 + .../flavor_base/udfclient_deps/packages/apt_get_packages | 1 + .../flavor_base/build_deps/packages/apt_get_packages | 1 + .../flavor_base/udfclient_deps/packages/apt_get_packages | 1 + 13 files changed, 14 insertions(+), 2 deletions(-) diff --git a/flavors/standard-EXASOL-all-java-11/flavor_base/build_deps/packages/apt_get_packages b/flavors/standard-EXASOL-all-java-11/flavor_base/build_deps/packages/apt_get_packages index a5f0eb671..d4c96dbd2 100644 --- a/flavors/standard-EXASOL-all-java-11/flavor_base/build_deps/packages/apt_get_packages +++ b/flavors/standard-EXASOL-all-java-11/flavor_base/build_deps/packages/apt_get_packages @@ -8,3 +8,4 @@ libpcre3-dev|2:8.39-13ubuntu0.22.04.1 protobuf-compiler|3.12.4-1ubuntu7.22.04.4 chrpath|0.16-2 python3|3.10.6-1~22.04.1 +libleveldb-dev|1.23-3build1 \ No newline at end of file diff --git a/flavors/standard-EXASOL-all-java-11/flavor_base/udfclient_deps/packages/apt_get_packages b/flavors/standard-EXASOL-all-java-11/flavor_base/udfclient_deps/packages/apt_get_packages index afca04e7f..cde95286b 100644 --- a/flavors/standard-EXASOL-all-java-11/flavor_base/udfclient_deps/packages/apt_get_packages +++ b/flavors/standard-EXASOL-all-java-11/flavor_base/udfclient_deps/packages/apt_get_packages @@ -4,3 +4,4 @@ libnss-db|2.2.3pre1-6ubuntu3 libzmq3-dev|4.3.4-2 libprotobuf-dev|3.12.4-1ubuntu7.22.04.4 libssl-dev|3.0.2-0ubuntu1.19 +libleveldb-dev|1.23-3build1 \ No newline at end of file diff --git a/flavors/standard-EXASOL-all-java-17/flavor_base/build_deps/packages/apt_get_packages b/flavors/standard-EXASOL-all-java-17/flavor_base/build_deps/packages/apt_get_packages index 730fe98a7..079d8280d 100644 --- a/flavors/standard-EXASOL-all-java-17/flavor_base/build_deps/packages/apt_get_packages +++ b/flavors/standard-EXASOL-all-java-17/flavor_base/build_deps/packages/apt_get_packages @@ -8,3 +8,4 @@ libpcre3-dev|2:8.39-13ubuntu0.22.04.1 protobuf-compiler|3.12.4-1ubuntu7.22.04.4 chrpath|0.16-2 python3|3.10.6-1~22.04.1 +libleveldb-dev|1.23-3build1 \ No newline at end of file diff --git a/flavors/standard-EXASOL-all-java-17/flavor_base/udfclient_deps/packages/apt_get_packages b/flavors/standard-EXASOL-all-java-17/flavor_base/udfclient_deps/packages/apt_get_packages index afca04e7f..cde95286b 100644 --- a/flavors/standard-EXASOL-all-java-17/flavor_base/udfclient_deps/packages/apt_get_packages +++ b/flavors/standard-EXASOL-all-java-17/flavor_base/udfclient_deps/packages/apt_get_packages @@ -4,3 +4,4 @@ libnss-db|2.2.3pre1-6ubuntu3 libzmq3-dev|4.3.4-2 libprotobuf-dev|3.12.4-1ubuntu7.22.04.4 libssl-dev|3.0.2-0ubuntu1.19 +libleveldb-dev|1.23-3build1 \ No newline at end of file diff --git a/flavors/standard-EXASOL-all-python-3.10/flavor_base/build_deps/packages/apt_get_packages b/flavors/standard-EXASOL-all-python-3.10/flavor_base/build_deps/packages/apt_get_packages index e618a00ae..8bdfa3afa 100644 --- a/flavors/standard-EXASOL-all-python-3.10/flavor_base/build_deps/packages/apt_get_packages +++ b/flavors/standard-EXASOL-all-python-3.10/flavor_base/build_deps/packages/apt_get_packages @@ -7,3 +7,4 @@ build-essential|12.9ubuntu3 libpcre3-dev|2:8.39-13ubuntu0.22.04.1 protobuf-compiler|3.12.4-1ubuntu7.22.04.4 chrpath|0.16-2 +libleveldb-dev|1.23-3build1 \ No newline at end of file diff --git a/flavors/standard-EXASOL-all-python-3.10/flavor_base/flavor_base_deps/packages/python3_pip_packages b/flavors/standard-EXASOL-all-python-3.10/flavor_base/flavor_base_deps/packages/python3_pip_packages index 446ff099c..4a55343de 100644 --- a/flavors/standard-EXASOL-all-python-3.10/flavor_base/flavor_base_deps/packages/python3_pip_packages +++ b/flavors/standard-EXASOL-all-python-3.10/flavor_base/flavor_base_deps/packages/python3_pip_packages @@ -65,11 +65,11 @@ pybase64|1.3.2 pysimdjson|6.0.2 numba|0.59.1 bitarray|2.9.2 -pybloomfiltermmap3|0.5.7 +bloom-filter2|2.0.0 bitsets|0.8.4 pyyaml|6.0.1 exasol-bucketfs|2.0.0 -pysmbc|1.0.25.1 +# pysmbc|1.0.25.1 cryptography|42.0.6 h2|4.1.0 cython|3.0.10 diff --git a/flavors/standard-EXASOL-all-python-3.10/flavor_base/udfclient_deps/packages/apt_get_packages b/flavors/standard-EXASOL-all-python-3.10/flavor_base/udfclient_deps/packages/apt_get_packages index afca04e7f..cde95286b 100644 --- a/flavors/standard-EXASOL-all-python-3.10/flavor_base/udfclient_deps/packages/apt_get_packages +++ b/flavors/standard-EXASOL-all-python-3.10/flavor_base/udfclient_deps/packages/apt_get_packages @@ -4,3 +4,4 @@ libnss-db|2.2.3pre1-6ubuntu3 libzmq3-dev|4.3.4-2 libprotobuf-dev|3.12.4-1ubuntu7.22.04.4 libssl-dev|3.0.2-0ubuntu1.19 +libleveldb-dev|1.23-3build1 \ No newline at end of file diff --git a/flavors/standard-EXASOL-all-r-4.4/flavor_base/build_deps/packages/apt_get_packages b/flavors/standard-EXASOL-all-r-4.4/flavor_base/build_deps/packages/apt_get_packages index a5f0eb671..d4c96dbd2 100644 --- a/flavors/standard-EXASOL-all-r-4.4/flavor_base/build_deps/packages/apt_get_packages +++ b/flavors/standard-EXASOL-all-r-4.4/flavor_base/build_deps/packages/apt_get_packages @@ -8,3 +8,4 @@ libpcre3-dev|2:8.39-13ubuntu0.22.04.1 protobuf-compiler|3.12.4-1ubuntu7.22.04.4 chrpath|0.16-2 python3|3.10.6-1~22.04.1 +libleveldb-dev|1.23-3build1 \ No newline at end of file diff --git a/flavors/standard-EXASOL-all-r-4.4/flavor_base/udfclient_deps/packages/apt_get_packages b/flavors/standard-EXASOL-all-r-4.4/flavor_base/udfclient_deps/packages/apt_get_packages index afca04e7f..cde95286b 100644 --- a/flavors/standard-EXASOL-all-r-4.4/flavor_base/udfclient_deps/packages/apt_get_packages +++ b/flavors/standard-EXASOL-all-r-4.4/flavor_base/udfclient_deps/packages/apt_get_packages @@ -4,3 +4,4 @@ libnss-db|2.2.3pre1-6ubuntu3 libzmq3-dev|4.3.4-2 libprotobuf-dev|3.12.4-1ubuntu7.22.04.4 libssl-dev|3.0.2-0ubuntu1.19 +libleveldb-dev|1.23-3build1 \ No newline at end of file diff --git a/flavors/standard-EXASOL-all/flavor_base/build_deps/packages/apt_get_packages b/flavors/standard-EXASOL-all/flavor_base/build_deps/packages/apt_get_packages index e618a00ae..8bdfa3afa 100644 --- a/flavors/standard-EXASOL-all/flavor_base/build_deps/packages/apt_get_packages +++ b/flavors/standard-EXASOL-all/flavor_base/build_deps/packages/apt_get_packages @@ -7,3 +7,4 @@ build-essential|12.9ubuntu3 libpcre3-dev|2:8.39-13ubuntu0.22.04.1 protobuf-compiler|3.12.4-1ubuntu7.22.04.4 chrpath|0.16-2 +libleveldb-dev|1.23-3build1 \ No newline at end of file diff --git a/flavors/standard-EXASOL-all/flavor_base/udfclient_deps/packages/apt_get_packages b/flavors/standard-EXASOL-all/flavor_base/udfclient_deps/packages/apt_get_packages index afca04e7f..cde95286b 100644 --- a/flavors/standard-EXASOL-all/flavor_base/udfclient_deps/packages/apt_get_packages +++ b/flavors/standard-EXASOL-all/flavor_base/udfclient_deps/packages/apt_get_packages @@ -4,3 +4,4 @@ libnss-db|2.2.3pre1-6ubuntu3 libzmq3-dev|4.3.4-2 libprotobuf-dev|3.12.4-1ubuntu7.22.04.4 libssl-dev|3.0.2-0ubuntu1.19 +libleveldb-dev|1.23-3build1 \ No newline at end of file diff --git a/flavors/template-Exasol-all-r-4/flavor_base/build_deps/packages/apt_get_packages b/flavors/template-Exasol-all-r-4/flavor_base/build_deps/packages/apt_get_packages index a5f0eb671..d4c96dbd2 100644 --- a/flavors/template-Exasol-all-r-4/flavor_base/build_deps/packages/apt_get_packages +++ b/flavors/template-Exasol-all-r-4/flavor_base/build_deps/packages/apt_get_packages @@ -8,3 +8,4 @@ libpcre3-dev|2:8.39-13ubuntu0.22.04.1 protobuf-compiler|3.12.4-1ubuntu7.22.04.4 chrpath|0.16-2 python3|3.10.6-1~22.04.1 +libleveldb-dev|1.23-3build1 \ No newline at end of file diff --git a/flavors/template-Exasol-all-r-4/flavor_base/udfclient_deps/packages/apt_get_packages b/flavors/template-Exasol-all-r-4/flavor_base/udfclient_deps/packages/apt_get_packages index afca04e7f..cde95286b 100644 --- a/flavors/template-Exasol-all-r-4/flavor_base/udfclient_deps/packages/apt_get_packages +++ b/flavors/template-Exasol-all-r-4/flavor_base/udfclient_deps/packages/apt_get_packages @@ -4,3 +4,4 @@ libnss-db|2.2.3pre1-6ubuntu3 libzmq3-dev|4.3.4-2 libprotobuf-dev|3.12.4-1ubuntu7.22.04.4 libssl-dev|3.0.2-0ubuntu1.19 +libleveldb-dev|1.23-3build1 \ No newline at end of file From 89c44627aa72f9753d6590ba4d0d5a118ce48cb9 Mon Sep 17 00:00:00 2001 From: Ruslan Rusinov Date: Mon, 28 Jul 2025 12:43:14 +0000 Subject: [PATCH 3/3] env fixes --- .../build_deps/packages/apt_get_packages | 2 +- .../flavor_base/language_deps/Dockerfile | 23 ++++++++++++++- .../language_deps/packages/apt_get_packages | 2 +- .../flavor_base/language_deps/Dockerfile | 24 +++++++++++++++- .../build_deps/packages/apt_get_packages | 2 +- .../flavor_base/language_deps/Dockerfile | 22 ++++++++++++++- .../build_deps/packages/apt_get_packages | 2 +- .../build_deps/packages/apt_get_packages | 2 +- .../flavor_base/language_deps/Dockerfile | 24 +++++++++++++++- .../language_deps/packages/apt_get_packages | 2 +- .../build_deps/packages/apt_get_packages | 2 +- script-languages | 2 +- shared/Dockerfile-build_deps | 28 +++++++++++++++---- shared/Dockerfile-build_deps-java17 | 25 +++++++++++++++-- shared/Dockerfile-udfclient_deps | 24 ++++++++++------ 15 files changed, 157 insertions(+), 29 deletions(-) diff --git a/flavors/standard-EXASOL-all-java-11/flavor_base/build_deps/packages/apt_get_packages b/flavors/standard-EXASOL-all-java-11/flavor_base/build_deps/packages/apt_get_packages index d4c96dbd2..153ded7df 100644 --- a/flavors/standard-EXASOL-all-java-11/flavor_base/build_deps/packages/apt_get_packages +++ b/flavors/standard-EXASOL-all-java-11/flavor_base/build_deps/packages/apt_get_packages @@ -2,7 +2,7 @@ coreutils|8.32-4.1ubuntu1.2 locales|2.35-0ubuntu3.10 tar|1.34+dfsg-1ubuntu0.1.22.04.2 curl|7.81.0-1ubuntu1.20 -openjdk-11-jdk-headless|11.0.27+6~us1-0ubuntu1~22.04 +openjdk-11-jdk-headless|11.0.28+6-1ubuntu1~22.04.1 build-essential|12.9ubuntu3 libpcre3-dev|2:8.39-13ubuntu0.22.04.1 protobuf-compiler|3.12.4-1ubuntu7.22.04.4 diff --git a/flavors/standard-EXASOL-all-java-11/flavor_base/language_deps/Dockerfile b/flavors/standard-EXASOL-all-java-11/flavor_base/language_deps/Dockerfile index 7502356a6..7e8d2c383 100644 --- a/flavors/standard-EXASOL-all-java-11/flavor_base/language_deps/Dockerfile +++ b/flavors/standard-EXASOL-all-java-11/flavor_base/language_deps/Dockerfile @@ -4,5 +4,26 @@ COPY language_deps/packages /build_info/packages/language_deps RUN /scripts/install_scripts/install_via_apt.pl --file /build_info/packages/language_deps/apt_get_packages --with-versions -ENV JAVA_PREFIX /usr/lib/jvm/java-11-openjdk-amd64 +# Determine architecture and write relevant env vars to /env +RUN ARCH=$(dpkg --print-architecture) && \ + if [ "$ARCH" = "amd64" ]; then \ + JAVA_PREFIX="/usr/lib/jvm/java-11-openjdk-amd64"; \ + OPENSSL_LIB="/usr/lib/x86_64-linux-gnu"; \ + elif [ "$ARCH" = "arm64" ]; then \ + JAVA_PREFIX="/usr/lib/jvm/java-11-openjdk-arm64"; \ + OPENSSL_LIB="/usr/lib/aarch64-linux-gnu"; \ + else \ + echo "Unsupported architecture: $ARCH" && exit 1; \ + fi && \ + echo "export JAVA_PREFIX=$JAVA_PREFIX" >> /env && \ + echo "export ARCH=$ARCH" >> /env && \ + echo "export PROTOBUF_LIBRARY_PREFIX=/usr/lib/" >> /env && \ + echo "export PROTOBUF_INCLUDE_PREFIX=/usr/include/" >> /env && \ + echo "export ZMQ_LIBRARY_PREFIX=/usr/lib" >> /env && \ + echo "export ZMQ_INCLUDE_PREFIX=/usr/include" >> /env && \ + echo "export OPENSSL_LIBRARY_PREFIX=$OPENSSL_LIB" >> /env && \ + echo "export OPENSSL_INCLUDE_PREFIX=/usr/include/openssl" >> /env + +# Optional: make it available in all shells +RUN cat /env >> /etc/environment diff --git a/flavors/standard-EXASOL-all-java-11/flavor_base/language_deps/packages/apt_get_packages b/flavors/standard-EXASOL-all-java-11/flavor_base/language_deps/packages/apt_get_packages index c918931dc..019148f96 100644 --- a/flavors/standard-EXASOL-all-java-11/flavor_base/language_deps/packages/apt_get_packages +++ b/flavors/standard-EXASOL-all-java-11/flavor_base/language_deps/packages/apt_get_packages @@ -1,3 +1,3 @@ ca-certificates|20240203~22.04.1 curl|7.81.0-1ubuntu1.20 -openjdk-11-jdk-headless|11.0.27+6~us1-0ubuntu1~22.04 +openjdk-11-jdk-headless|11.0.28+6-1ubuntu1~22.04.1 diff --git a/flavors/standard-EXASOL-all-java-17/flavor_base/language_deps/Dockerfile b/flavors/standard-EXASOL-all-java-17/flavor_base/language_deps/Dockerfile index 9eb11e54c..892d0d020 100644 --- a/flavors/standard-EXASOL-all-java-17/flavor_base/language_deps/Dockerfile +++ b/flavors/standard-EXASOL-all-java-17/flavor_base/language_deps/Dockerfile @@ -4,4 +4,26 @@ COPY language_deps/packages /build_info/packages/language_deps RUN /scripts/install_scripts/install_via_apt.pl --file /build_info/packages/language_deps/apt_get_packages --with-versions -ENV JAVA_PREFIX /usr/lib/jvm/java-17-openjdk-amd64 +# Determine architecture and write relevant env vars to /env +RUN ARCH=$(dpkg --print-architecture) && \ + if [ "$ARCH" = "amd64" ]; then \ + JAVA_PREFIX="/usr/lib/jvm/java-17-openjdk-amd64"; \ + OPENSSL_LIB="/usr/lib/x86_64-linux-gnu"; \ + elif [ "$ARCH" = "arm64" ]; then \ + JAVA_PREFIX="/usr/lib/jvm/java-17-openjdk-arm64"; \ + OPENSSL_LIB="/usr/lib/aarch64-linux-gnu"; \ + else \ + echo "Unsupported architecture: $ARCH" && exit 1; \ + fi && \ + echo "export JAVA_PREFIX=$JAVA_PREFIX" >> /env && \ + echo "export ARCH=$ARCH" >> /env && \ + echo "export PROTOBUF_LIBRARY_PREFIX=/usr/lib/" >> /env && \ + echo "export PROTOBUF_INCLUDE_PREFIX=/usr/include/" >> /env && \ + echo "export ZMQ_LIBRARY_PREFIX=/usr/lib" >> /env && \ + echo "export ZMQ_INCLUDE_PREFIX=/usr/include" >> /env && \ + echo "export OPENSSL_LIBRARY_PREFIX=$OPENSSL_LIB" >> /env && \ + echo "export OPENSSL_INCLUDE_PREFIX=/usr/include/openssl" >> /env + +# Optional: make it available in all shells +RUN cat /env >> /etc/environment + diff --git a/flavors/standard-EXASOL-all-python-3.10/flavor_base/build_deps/packages/apt_get_packages b/flavors/standard-EXASOL-all-python-3.10/flavor_base/build_deps/packages/apt_get_packages index 8bdfa3afa..67caeb4e7 100644 --- a/flavors/standard-EXASOL-all-python-3.10/flavor_base/build_deps/packages/apt_get_packages +++ b/flavors/standard-EXASOL-all-python-3.10/flavor_base/build_deps/packages/apt_get_packages @@ -2,7 +2,7 @@ coreutils|8.32-4.1ubuntu1.2 locales|2.35-0ubuntu3.10 tar|1.34+dfsg-1ubuntu0.1.22.04.2 curl|7.81.0-1ubuntu1.20 -openjdk-11-jdk-headless|11.0.27+6~us1-0ubuntu1~22.04 +openjdk-11-jdk-headless|11.0.28+6-1ubuntu1~22.04.1 build-essential|12.9ubuntu3 libpcre3-dev|2:8.39-13ubuntu0.22.04.1 protobuf-compiler|3.12.4-1ubuntu7.22.04.4 diff --git a/flavors/standard-EXASOL-all-python-3.10/flavor_base/language_deps/Dockerfile b/flavors/standard-EXASOL-all-python-3.10/flavor_base/language_deps/Dockerfile index c1f8a31e1..9971b1072 100644 --- a/flavors/standard-EXASOL-all-python-3.10/flavor_base/language_deps/Dockerfile +++ b/flavors/standard-EXASOL-all-python-3.10/flavor_base/language_deps/Dockerfile @@ -11,5 +11,25 @@ RUN /scripts/install_scripts/install_via_pip.pl --file /build_info/packages/lang ENV PYTHON3_PREFIX /usr ENV PYTHON3_VERSION python3.10 -ENV JAVA_PREFIX /usr/lib/jvm/java-11-openjdk-amd64 +# Determine architecture and write relevant env vars to /env +RUN ARCH=$(dpkg --print-architecture) && \ + if [ "$ARCH" = "amd64" ]; then \ + JAVA_PREFIX="/usr/lib/jvm/java-11-openjdk-amd64"; \ + OPENSSL_LIB="/usr/lib/x86_64-linux-gnu"; \ + elif [ "$ARCH" = "arm64" ]; then \ + JAVA_PREFIX="/usr/lib/jvm/java-11-openjdk-arm64"; \ + OPENSSL_LIB="/usr/lib/aarch64-linux-gnu"; \ + else \ + echo "Unsupported architecture: $ARCH" && exit 1; \ + fi && \ + echo "export JAVA_PREFIX=$JAVA_PREFIX" >> /env && \ + echo "export ARCH=$ARCH" >> /env && \ + echo "export PROTOBUF_LIBRARY_PREFIX=/usr/lib/" >> /env && \ + echo "export PROTOBUF_INCLUDE_PREFIX=/usr/include/" >> /env && \ + echo "export ZMQ_LIBRARY_PREFIX=/usr/lib" >> /env && \ + echo "export ZMQ_INCLUDE_PREFIX=/usr/include" >> /env && \ + echo "export OPENSSL_LIBRARY_PREFIX=$OPENSSL_LIB" >> /env && \ + echo "export OPENSSL_INCLUDE_PREFIX=/usr/include/openssl" >> /env +# Optional: make it available in all shells +RUN cat /env >> /etc/environment \ No newline at end of file diff --git a/flavors/standard-EXASOL-all-r-4.4/flavor_base/build_deps/packages/apt_get_packages b/flavors/standard-EXASOL-all-r-4.4/flavor_base/build_deps/packages/apt_get_packages index d4c96dbd2..153ded7df 100644 --- a/flavors/standard-EXASOL-all-r-4.4/flavor_base/build_deps/packages/apt_get_packages +++ b/flavors/standard-EXASOL-all-r-4.4/flavor_base/build_deps/packages/apt_get_packages @@ -2,7 +2,7 @@ coreutils|8.32-4.1ubuntu1.2 locales|2.35-0ubuntu3.10 tar|1.34+dfsg-1ubuntu0.1.22.04.2 curl|7.81.0-1ubuntu1.20 -openjdk-11-jdk-headless|11.0.27+6~us1-0ubuntu1~22.04 +openjdk-11-jdk-headless|11.0.28+6-1ubuntu1~22.04.1 build-essential|12.9ubuntu3 libpcre3-dev|2:8.39-13ubuntu0.22.04.1 protobuf-compiler|3.12.4-1ubuntu7.22.04.4 diff --git a/flavors/standard-EXASOL-all/flavor_base/build_deps/packages/apt_get_packages b/flavors/standard-EXASOL-all/flavor_base/build_deps/packages/apt_get_packages index 8bdfa3afa..67caeb4e7 100644 --- a/flavors/standard-EXASOL-all/flavor_base/build_deps/packages/apt_get_packages +++ b/flavors/standard-EXASOL-all/flavor_base/build_deps/packages/apt_get_packages @@ -2,7 +2,7 @@ coreutils|8.32-4.1ubuntu1.2 locales|2.35-0ubuntu3.10 tar|1.34+dfsg-1ubuntu0.1.22.04.2 curl|7.81.0-1ubuntu1.20 -openjdk-11-jdk-headless|11.0.27+6~us1-0ubuntu1~22.04 +openjdk-11-jdk-headless|11.0.28+6-1ubuntu1~22.04.1 build-essential|12.9ubuntu3 libpcre3-dev|2:8.39-13ubuntu0.22.04.1 protobuf-compiler|3.12.4-1ubuntu7.22.04.4 diff --git a/flavors/standard-EXASOL-all/flavor_base/language_deps/Dockerfile b/flavors/standard-EXASOL-all/flavor_base/language_deps/Dockerfile index 314f68fdc..7d8bba723 100644 --- a/flavors/standard-EXASOL-all/flavor_base/language_deps/Dockerfile +++ b/flavors/standard-EXASOL-all/flavor_base/language_deps/Dockerfile @@ -15,5 +15,27 @@ RUN /scripts/install_scripts/install_via_pip.pl --file /build_info/packages/lang ENV PYTHON3_PREFIX /usr ENV PYTHON3_VERSION python3.10 -ENV JAVA_PREFIX /usr/lib/jvm/java-11-openjdk-amd64 + +# Determine architecture and write relevant env vars to /env +RUN ARCH=$(dpkg --print-architecture) && \ + if [ "$ARCH" = "amd64" ]; then \ + JAVA_PREFIX="/usr/lib/jvm/java-11-openjdk-amd64"; \ + OPENSSL_LIB="/usr/lib/x86_64-linux-gnu"; \ + elif [ "$ARCH" = "arm64" ]; then \ + JAVA_PREFIX="/usr/lib/jvm/java-11-openjdk-arm64"; \ + OPENSSL_LIB="/usr/lib/aarch64-linux-gnu"; \ + else \ + echo "Unsupported architecture: $ARCH" && exit 1; \ + fi && \ + echo "export JAVA_PREFIX=$JAVA_PREFIX" >> /env && \ + echo "export ARCH=$ARCH" >> /env && \ + echo "export PROTOBUF_LIBRARY_PREFIX=/usr/lib/" >> /env && \ + echo "export PROTOBUF_INCLUDE_PREFIX=/usr/include/" >> /env && \ + echo "export ZMQ_LIBRARY_PREFIX=/usr/lib" >> /env && \ + echo "export ZMQ_INCLUDE_PREFIX=/usr/include" >> /env && \ + echo "export OPENSSL_LIBRARY_PREFIX=$OPENSSL_LIB" >> /env && \ + echo "export OPENSSL_INCLUDE_PREFIX=/usr/include/openssl" >> /env + +# Optional: make it available in all shells +RUN cat /env >> /etc/environment diff --git a/flavors/standard-EXASOL-all/flavor_base/language_deps/packages/apt_get_packages b/flavors/standard-EXASOL-all/flavor_base/language_deps/packages/apt_get_packages index f1b60dde5..536ff9422 100644 --- a/flavors/standard-EXASOL-all/flavor_base/language_deps/packages/apt_get_packages +++ b/flavors/standard-EXASOL-all/flavor_base/language_deps/packages/apt_get_packages @@ -2,5 +2,5 @@ ca-certificates|20240203~22.04.1 python3.10-dev|3.10.12-1~22.04.10 python3-distutils|3.10.8-1~22.04 curl|7.81.0-1ubuntu1.20 -openjdk-11-jdk-headless|11.0.27+6~us1-0ubuntu1~22.04 +openjdk-11-jdk-headless|11.0.28+6-1ubuntu1~22.04.1 chrpath|0.16-2 diff --git a/flavors/template-Exasol-all-r-4/flavor_base/build_deps/packages/apt_get_packages b/flavors/template-Exasol-all-r-4/flavor_base/build_deps/packages/apt_get_packages index d4c96dbd2..9978ddbe8 100644 --- a/flavors/template-Exasol-all-r-4/flavor_base/build_deps/packages/apt_get_packages +++ b/flavors/template-Exasol-all-r-4/flavor_base/build_deps/packages/apt_get_packages @@ -2,7 +2,7 @@ coreutils|8.32-4.1ubuntu1.2 locales|2.35-0ubuntu3.10 tar|1.34+dfsg-1ubuntu0.1.22.04.2 curl|7.81.0-1ubuntu1.20 -openjdk-11-jdk-headless|11.0.27+6~us1-0ubuntu1~22.04 +openjdk-11-jdk-headless|11.0.28+6-1ubuntu1~22.04.1 build-essential|12.9ubuntu3 libpcre3-dev|2:8.39-13ubuntu0.22.04.1 protobuf-compiler|3.12.4-1ubuntu7.22.04.4 diff --git a/script-languages b/script-languages index fbdf35cd1..7ddf17302 160000 --- a/script-languages +++ b/script-languages @@ -1 +1 @@ -Subproject commit fbdf35cd1af5a882b6bf59da6c64c9643c949a03 +Subproject commit 7ddf1730238976d8c29588eeb0d96287a906e143 diff --git a/shared/Dockerfile-build_deps b/shared/Dockerfile-build_deps index a3c910591..8d183b2c0 100644 --- a/shared/Dockerfile-build_deps +++ b/shared/Dockerfile-build_deps @@ -23,19 +23,37 @@ RUN set -e; \ ARCH=$(dpkg --print-architecture); \ if [ "$ARCH" = "amd64" ]; then \ BAZELISK_URL="https://github.com/bazelbuild/bazelisk/releases/download/${BAZELISK_VERSION}/bazelisk-linux-amd64"; \ - JAVA_HOME_PATH="/usr/lib/jvm/java-1.8.0-openjdk-amd64"; \ elif [ "$ARCH" = "arm64" ]; then \ BAZELISK_URL="https://github.com/bazelbuild/bazelisk/releases/download/${BAZELISK_VERSION}/bazelisk-linux-arm64"; \ - JAVA_HOME_PATH="/usr/lib/jvm/java-1.8.0-openjdk-arm64"; \ else \ echo "Unsupported architecture: $ARCH" >&2; exit 1; \ fi; \ curl -fsSL -o /usr/local/bin/bazel "$BAZELISK_URL"; \ - chmod +x /usr/local/bin/bazel; \ - echo "export PROTOBUF_BIN=/usr/bin/protoc" > /env; \ - echo "export JAVA_HOME=$JAVA_HOME_PATH" >> /env; \ + chmod +x /usr/local/bin/bazel; + +# Determine architecture and write relevant env vars to /env +RUN ARCH=$(dpkg --print-architecture) && \ + if [ "$ARCH" = "amd64" ]; then \ + JAVA_PREFIX="/usr/lib/jvm/java-11-openjdk-amd64"; \ + OPENSSL_LIB="/usr/lib/x86_64-linux-gnu"; \ + elif [ "$ARCH" = "arm64" ]; then \ + JAVA_PREFIX="/usr/lib/jvm/java-11-openjdk-arm64"; \ + OPENSSL_LIB="/usr/lib/aarch64-linux-gnu"; \ + else \ + echo "Unsupported architecture: $ARCH" && exit 1; \ + fi && \ + echo "export JAVA_PREFIX=$JAVA_PREFIX" >> /env && \ + echo "export ARCH=$ARCH" >> /env && \ + echo "export PROTOBUF_LIBRARY_PREFIX=/usr/lib/" >> /env && \ + echo "export PROTOBUF_INCLUDE_PREFIX=/usr/include/" >> /env && \ + echo "export ZMQ_LIBRARY_PREFIX=/usr/lib" >> /env && \ + echo "export ZMQ_INCLUDE_PREFIX=/usr/include" >> /env && \ + echo "export OPENSSL_LIBRARY_PREFIX=$OPENSSL_LIB" >> /env && \ + echo "export OPENSSL_INCLUDE_PREFIX=/usr/include/openssl" >> /env && \ + echo "export PROTOBUF_BIN=/usr/bin/protoc" >> /env && \ echo "export USE_BAZEL_VERSION=$USE_BAZEL_VERSION" >> /env + # Install SWIG 2.0.4 RUN curl -fsSL -o swig-2.0.4.tar.gz \ https://exasol-script-languages-dependencies.s3.eu-central-1.amazonaws.com/swig-2.0.4.tar.gz && \ diff --git a/shared/Dockerfile-build_deps-java17 b/shared/Dockerfile-build_deps-java17 index 8ff3c3d4b..db9866026 100644 --- a/shared/Dockerfile-build_deps-java17 +++ b/shared/Dockerfile-build_deps-java17 @@ -31,9 +31,28 @@ RUN set -e; \ echo "Unsupported architecture: $ARCH" >&2; exit 1; \ fi; \ curl -fsSL -o /usr/local/bin/bazel "$BAZELISK_URL"; \ - chmod +x /usr/local/bin/bazel; \ - echo "export PROTOBUF_BIN=/usr/bin/protoc" > /env; \ - echo "export JAVA_HOME=$JAVA_HOME_PATH" >> /env; \ + chmod +x /usr/local/bin/bazel; + +# Determine architecture and write relevant env vars to /env +RUN ARCH=$(dpkg --print-architecture) && \ + if [ "$ARCH" = "amd64" ]; then \ + JAVA_PREFIX="/usr/lib/jvm/java-17-openjdk-amd64"; \ + OPENSSL_LIB="/usr/lib/x86_64-linux-gnu"; \ + elif [ "$ARCH" = "arm64" ]; then \ + JAVA_PREFIX="/usr/lib/jvm/java-17-openjdk-arm64"; \ + OPENSSL_LIB="/usr/lib/aarch64-linux-gnu"; \ + else \ + echo "Unsupported architecture: $ARCH" && exit 1; \ + fi && \ + echo "export JAVA_PREFIX=$JAVA_PREFIX" >> /env && \ + echo "export ARCH=$ARCH" >> /env && \ + echo "export PROTOBUF_LIBRARY_PREFIX=/usr/lib/" >> /env && \ + echo "export PROTOBUF_INCLUDE_PREFIX=/usr/include/" >> /env && \ + echo "export ZMQ_LIBRARY_PREFIX=/usr/lib" >> /env && \ + echo "export ZMQ_INCLUDE_PREFIX=/usr/include" >> /env && \ + echo "export OPENSSL_LIBRARY_PREFIX=$OPENSSL_LIB" >> /env && \ + echo "export OPENSSL_INCLUDE_PREFIX=/usr/include/openssl" >> /env && \ + echo "export PROTOBUF_BIN=/usr/bin/protoc" >> /env && \ echo "export USE_BAZEL_VERSION=$USE_BAZEL_VERSION" >> /env # Install SWIG 2.0.4 diff --git a/shared/Dockerfile-udfclient_deps b/shared/Dockerfile-udfclient_deps index bb5e15a31..c20531193 100644 --- a/shared/Dockerfile-udfclient_deps +++ b/shared/Dockerfile-udfclient_deps @@ -26,19 +26,25 @@ ENV LANG=en_US.UTF-8 ENV LANGUAGE=en_US:en ENV LC_ALL=en_US.UTF-8 -# Dynamically set env vars based on architecture -RUN set -e; \ - ARCH=$(dpkg --print-architecture); \ +# Determine architecture and write relevant env vars to /env +RUN ARCH=$(dpkg --print-architecture) && \ if [ "$ARCH" = "amd64" ]; then \ + JAVA_PREFIX="/usr/lib/jvm/java-11-openjdk-amd64"; \ OPENSSL_LIB="/usr/lib/x86_64-linux-gnu"; \ elif [ "$ARCH" = "arm64" ]; then \ + JAVA_PREFIX="/usr/lib/jvm/java-11-openjdk-arm64"; \ OPENSSL_LIB="/usr/lib/aarch64-linux-gnu"; \ else \ echo "Unsupported architecture: $ARCH" && exit 1; \ - fi; \ - echo "export PROTOBUF_LIBRARY_PREFIX=/usr/lib/" > /env; \ - echo "export PROTOBUF_INCLUDE_PREFIX=/usr/include/" >> /env; \ - echo "export ZMQ_LIBRARY_PREFIX=/usr/lib" >> /env; \ - echo "export ZMQ_INCLUDE_PREFIX=/usr/include" >> /env; \ - echo "export OPENSSL_LIBRARY_PREFIX=$OPENSSL_LIB" >> /env; \ + fi && \ + echo "export JAVA_PREFIX=$JAVA_PREFIX" >> /env && \ + echo "export ARCH=$ARCH" >> /env && \ + echo "export PROTOBUF_LIBRARY_PREFIX=/usr/lib/" >> /env && \ + echo "export PROTOBUF_INCLUDE_PREFIX=/usr/include/" >> /env && \ + echo "export ZMQ_LIBRARY_PREFIX=/usr/lib" >> /env && \ + echo "export ZMQ_INCLUDE_PREFIX=/usr/include" >> /env && \ + echo "export OPENSSL_LIBRARY_PREFIX=$OPENSSL_LIB" >> /env && \ echo "export OPENSSL_INCLUDE_PREFIX=/usr/include/openssl" >> /env + +# Optional: make it available in all shells +RUN cat /env >> /etc/environment \ No newline at end of file