From 915891c2bbd9650d66dcfe92e064d888a7a59f69 Mon Sep 17 00:00:00 2001 From: Gustavo de Souza dos Reis Date: Wed, 19 Jun 2024 13:14:20 -0300 Subject: [PATCH] Add support to package install with `pip`. --- Dockerfile | 12 ++++++++++++ README.md | 5 +++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index cb6ce45..185acf8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,6 +8,7 @@ ARG RUNDIR ARG ENTRYPOINT=/usr/local/bin/lnls-run ARG RUNTIME_PACKAGES ARG RUNTIME_TAR_PACKAGES +ARG RUNTIME_PIP_PACKAGES RUN apt update -y && \ apt install -y --no-install-recommends \ @@ -24,6 +25,11 @@ COPY --from=build-image /usr/local/lib /usr/local/lib COPY --from=build-image /usr/local/bin/lnls-get-n-unpack /usr/local/bin/lnls-get-n-unpack RUN lnls-get-n-unpack -r $RUNTIME_TAR_PACKAGES && \ ldconfig +RUN if [ -n "$RUNTIME_PIP_PACKAGES" ]; then \ + apt update && \ + apt install -y --no-install-recommends pip && \ + pip install $RUNTIME_PIP_PACKAGES; \ + fi COPY --from=build-image /usr/local/bin/lnls-run /usr/local/bin/lnls-run @@ -44,12 +50,18 @@ FROM build-image AS build-stage ARG REPONAME ARG BUILD_PACKAGES ARG BUILD_TAR_PACKAGES +ARG BUILD_PIP_PACKAGES RUN if [ -n "$BUILD_PACKAGES" ]; then \ apt update && \ apt install -y --no-install-recommends $BUILD_PACKAGES; \ fi RUN lnls-get-n-unpack -r $BUILD_TAR_PACKAGES +RUN if [ -n "$BUILD_PIP_PACKAGES" ]; then \ + apt update && \ + apt install -y --no-install-recommends pip && \ + pip install $BUILD_PIP_PACKAGES; \ + fi WORKDIR /opt/${REPONAME} diff --git a/README.md b/README.md index 6bf8830..a6032d2 100644 --- a/README.md +++ b/README.md @@ -65,8 +65,9 @@ stages even when they are not needed. Additional build and runtime packages to be installed can be listed in `args`, under the `BUILD_PACKAGES` and `RUNTIME_PACKAGES` keys, respectively. It is not necessary to quote them - e.g. `BUILD_PACKAGES: python3 python3-requests`. -Packages essential to all (or most) IOCs should be added to [this repository's -`Dockerfile`](./Dockerfile). +Packages that strictly need to be installed via pip can be listed under the +`BUILD_PIP_PACKAGES` and `RUNTIME_PIP_PACKAGES` keys. Packages essential to all +(or most) IOCs should be added to [this repository's `Dockerfile`](./Dockerfile). The template above assumes the containers will be uploaded to the GitHub registry.