You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by ma...@apache.org on 2024/07/29 22:19:01 UTC

(superset) 01/01: chore(docker): move mysql os-level deps (GPL) to dev image only

This is an automated email from the ASF dual-hosted git repository.

maximebeauchemin pushed a commit to branch no_mysql_lean
in repository https://gitbox.apache.org/repos/asf/superset.git

commit 67aa5a1dce421361a41e3766b4491895cdcef25c
Author: Maxime Beauchemin <ma...@gmail.com>
AuthorDate: Mon Jul 29 15:14:32 2024 -0700

    chore(docker): move mysql os-level deps (GPL) to dev image only
    
    Since mysql client libs are GPL-licensed, we don't want to package them in our default images. Prior to this PR, the `default-libmysqlclient-dev` apt-get package would get installed in the `lean` docker image, though the pypi `mysqlclient` package that depends on this os-level dep was only installed in the `dev` layer.
    
    After this PR, all GPL/mysql related package won't be in `lean`, but still be in `dev` for convenience and CI script that test against mysql.
---
 Dockerfile | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/Dockerfile b/Dockerfile
index e83c81471d..dd2d6d7f2a 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -75,7 +75,6 @@ RUN mkdir -p ${PYTHONPATH} superset/static requirements superset-frontend apache
     && useradd --user-group -d ${SUPERSET_HOME} -m --no-log-init --shell /bin/bash superset \
     && apt-get update -qq && apt-get install -yqq --no-install-recommends \
         curl \
-        default-libmysqlclient-dev \
         libsasl2-dev \
         libsasl2-modules-gssapi-mit \
         libpq-dev \
@@ -160,6 +159,11 @@ RUN apt-get update -qq \
     && apt-get autoremove -yqq --purge wget bzip2 && rm -rf /var/[log,tmp]/* /tmp/* /var/lib/apt/lists/*
 # Cache everything for dev purposes...
 
+# Installing mysql client os-level dependencies in dev image only because GPL
+RUN apt-get install -yqq --no-install-recommends \
+        default-libmysqlclient-dev \
+    && rm -rf /var/lib/apt/lists/*
+
 COPY --chown=superset:superset requirements/development.txt requirements/
 RUN --mount=type=cache,target=/root/.cache/pip \
     apt-get update -qq && apt-get install -yqq --no-install-recommends \