From ab073827cf46e568527f3fe309495c3d6336ffb0 Mon Sep 17 00:00:00 2001 From: Sander van Grieken Date: Sun, 19 Mar 2023 14:29:29 +0100 Subject: [PATCH] build: use uid of user building the build containers --- contrib/android/Dockerfile | 4 +++- contrib/android/build.sh | 2 ++ contrib/build-linux/appimage/Dockerfile | 4 +++- contrib/build-linux/appimage/build.sh | 2 ++ contrib/build-linux/sdist/Dockerfile | 4 +++- contrib/build-linux/sdist/build.sh | 2 ++ contrib/build-wine/Dockerfile | 4 +++- contrib/build-wine/build.sh | 2 ++ 8 files changed, 20 insertions(+), 4 deletions(-) diff --git a/contrib/android/Dockerfile b/contrib/android/Dockerfile index 19ad50903..9188dba08 100644 --- a/contrib/android/Dockerfile +++ b/contrib/android/Dockerfile @@ -2,6 +2,8 @@ FROM debian:bullseye@sha256:43ef0c6c3585d5b406caa7a0f232ff5a19c1402aeb415f68bcd1cf9d10180af8 +ARG UID=1000 + ENV DEBIAN_FRONTEND=noninteractive ENV ANDROID_HOME="/opt/android" @@ -145,7 +147,7 @@ ENV USER="user" ENV HOME_DIR="/home/${USER}" ENV WORK_DIR="${HOME_DIR}/wspace" \ PATH="${HOME_DIR}/.local/bin:${PATH}" -RUN useradd --create-home --shell /bin/bash ${USER} +RUN useradd --uid $UID --create-home --shell /bin/bash ${USER} RUN usermod -append --groups sudo ${USER} RUN echo "%sudo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers WORKDIR ${WORK_DIR} diff --git a/contrib/android/build.sh b/contrib/android/build.sh index eed613c20..a57abb81f 100755 --- a/contrib/android/build.sh +++ b/contrib/android/build.sh @@ -11,6 +11,7 @@ PROJECT_ROOT_OR_FRESHCLONE_ROOT="$PROJECT_ROOT" CONTRIB="$PROJECT_ROOT/contrib" CONTRIB_ANDROID="$CONTRIB/android" DISTDIR="$PROJECT_ROOT/dist" +BUILD_UID=$(/usr/bin/stat -c %u "$PROJECT_ROOT") . "$CONTRIB"/build_tools_util.sh @@ -39,6 +40,7 @@ fi info "building docker image." docker build \ $DOCKER_BUILD_FLAGS \ + --build-arg UID=$BUILD_UID \ -t electrum-android-builder-img \ --file "$CONTRIB_ANDROID/Dockerfile" \ "$PROJECT_ROOT" diff --git a/contrib/build-linux/appimage/Dockerfile b/contrib/build-linux/appimage/Dockerfile index e92b6eb0d..f86285204 100644 --- a/contrib/build-linux/appimage/Dockerfile +++ b/contrib/build-linux/appimage/Dockerfile @@ -4,6 +4,8 @@ FROM debian:buster@sha256:233c3bbc892229c82da7231980d50adceba4db56a08c0b7053a4852782703459 +ARG UID=1000 + ENV LC_ALL=C.UTF-8 LANG=C.UTF-8 ENV DEBIAN_FRONTEND=noninteractive @@ -75,7 +77,7 @@ ENV USER="user" ENV HOME_DIR="/home/${USER}" ENV WORK_DIR="${HOME_DIR}/wspace" \ PATH="${HOME_DIR}/.local/bin:${PATH}" -RUN useradd --create-home --shell /bin/bash ${USER} +RUN useradd --uid $UID --create-home --shell /bin/bash ${USER} RUN usermod -append --groups sudo ${USER} RUN echo "%sudo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers WORKDIR ${WORK_DIR} diff --git a/contrib/build-linux/appimage/build.sh b/contrib/build-linux/appimage/build.sh index 6f48142a2..45a914823 100755 --- a/contrib/build-linux/appimage/build.sh +++ b/contrib/build-linux/appimage/build.sh @@ -11,6 +11,7 @@ PROJECT_ROOT_OR_FRESHCLONE_ROOT="$PROJECT_ROOT" CONTRIB="$PROJECT_ROOT/contrib" CONTRIB_APPIMAGE="$CONTRIB/build-linux/appimage" DISTDIR="$PROJECT_ROOT/dist" +BUILD_UID=$(/usr/bin/stat -c %u "$PROJECT_ROOT") . "$CONTRIB"/build_tools_util.sh @@ -24,6 +25,7 @@ fi info "building docker image." docker build \ $DOCKER_BUILD_FLAGS \ + --build-arg UID=$BUILD_UID \ -t electrum-appimage-builder-img \ "$CONTRIB_APPIMAGE" diff --git a/contrib/build-linux/sdist/Dockerfile b/contrib/build-linux/sdist/Dockerfile index 2caf62cf7..3fe81e0b9 100644 --- a/contrib/build-linux/sdist/Dockerfile +++ b/contrib/build-linux/sdist/Dockerfile @@ -1,5 +1,7 @@ FROM debian:bullseye@sha256:43ef0c6c3585d5b406caa7a0f232ff5a19c1402aeb415f68bcd1cf9d10180af8 +ARG UID=1000 + ENV LC_ALL=C.UTF-8 LANG=C.UTF-8 ENV DEBIAN_FRONTEND=noninteractive @@ -22,7 +24,7 @@ ENV USER="user" ENV HOME_DIR="/home/${USER}" ENV WORK_DIR="${HOME_DIR}/wspace" \ PATH="${HOME_DIR}/.local/bin:${PATH}" -RUN useradd --create-home --shell /bin/bash ${USER} +RUN useradd --uid $UID --create-home --shell /bin/bash ${USER} RUN usermod -append --groups sudo ${USER} RUN echo "%sudo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers WORKDIR ${WORK_DIR} diff --git a/contrib/build-linux/sdist/build.sh b/contrib/build-linux/sdist/build.sh index 361dadcd6..fe97ba0a7 100755 --- a/contrib/build-linux/sdist/build.sh +++ b/contrib/build-linux/sdist/build.sh @@ -11,6 +11,7 @@ PROJECT_ROOT_OR_FRESHCLONE_ROOT="$PROJECT_ROOT" CONTRIB="$PROJECT_ROOT/contrib" CONTRIB_SDIST="$CONTRIB/build-linux/sdist" DISTDIR="$PROJECT_ROOT/dist" +BUILD_UID=$(/usr/bin/stat -c %u "$PROJECT_ROOT") . "$CONTRIB"/build_tools_util.sh @@ -24,6 +25,7 @@ fi info "building docker image." docker build \ $DOCKER_BUILD_FLAGS \ + --build-arg UID=$BUILD_UID \ -t electrum-sdist-builder-img \ "$CONTRIB_SDIST" diff --git a/contrib/build-wine/Dockerfile b/contrib/build-wine/Dockerfile index 9b4dfbbdb..5703e81e6 100644 --- a/contrib/build-wine/Dockerfile +++ b/contrib/build-wine/Dockerfile @@ -1,5 +1,7 @@ FROM debian:bullseye@sha256:43ef0c6c3585d5b406caa7a0f232ff5a19c1402aeb415f68bcd1cf9d10180af8 +ARG UID=1000 + # need ca-certificates before using snapshot packages RUN apt update -qq > /dev/null && apt install -qq --yes --no-install-recommends \ ca-certificates @@ -63,7 +65,7 @@ ENV USER="user" ENV HOME_DIR="/home/${USER}" ENV WORK_DIR="${HOME_DIR}/wspace" \ PATH="${HOME_DIR}/.local/bin:${PATH}" -RUN useradd --create-home --shell /bin/bash ${USER} +RUN useradd --uid $UID --create-home --shell /bin/bash ${USER} RUN usermod -append --groups sudo ${USER} RUN echo "%sudo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers WORKDIR ${WORK_DIR} diff --git a/contrib/build-wine/build.sh b/contrib/build-wine/build.sh index e73dec054..09ff475d1 100755 --- a/contrib/build-wine/build.sh +++ b/contrib/build-wine/build.sh @@ -10,6 +10,7 @@ PROJECT_ROOT="$(dirname "$(readlink -e "$0")")/../.." PROJECT_ROOT_OR_FRESHCLONE_ROOT="$PROJECT_ROOT" CONTRIB="$PROJECT_ROOT/contrib" CONTRIB_WINE="$CONTRIB/build-wine" +BUILD_UID=$(/usr/bin/stat -c %u "$PROJECT_ROOT") . "$CONTRIB"/build_tools_util.sh @@ -26,6 +27,7 @@ fi info "building docker image." docker build \ $DOCKER_BUILD_FLAGS \ + --build-arg UID=$BUILD_UID \ -t electrum-wine-builder-img \ "$CONTRIB_WINE"