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

lhotari pushed a commit to branch branch-4.15
in repository https://gitbox.apache.org/repos/asf/bookkeeper.git

commit 4c7b4879b6ff7aee480edd7118f9acc513e429ee
Author: ZhangJian He <[email protected]>
AuthorDate: Wed Jun 12 23:08:31 2024 +0800

    Optimize Release Script for Docker Builds in BookKeeper (#4428)
    
    ### Changes
    
    - Replaced `docker build` with `docker buildx build` to enhance 
cross-platform compatibility.
    - Modified Dockerfile commands to conditionally create user and group only 
if they do not already exist, preventing errors during the build process.
    
    (cherry picked from commit 88bcdc981f8daf42a1a011f0e2db72a134b86218)
    (cherry picked from commit e69dc98fb221af530c053615ff87e12e87342ecf)
---
 dev/release/000-run-docker.sh | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/dev/release/000-run-docker.sh b/dev/release/000-run-docker.sh
index 495227a7e9..845b17ec7e 100755
--- a/dev/release/000-run-docker.sh
+++ b/dev/release/000-run-docker.sh
@@ -33,7 +33,7 @@ export IMAGE_NAME="bookkeeper-release-build"
 
 pushd ${SCRIPT_DIR}
 
-docker build --rm=true -t ${IMAGE_NAME} .
+docker build --platform linux/amd64 --rm=true -t ${IMAGE_NAME} .
 
 popd
 
@@ -47,10 +47,10 @@ else # boot2docker uid and gid
   GROUP_ID=50
 fi
 
-docker build -t "${IMAGE_NAME}-${USER_NAME}" - <<UserSpecificDocker
-FROM --platform=linux/amd64 ${IMAGE_NAME}
-RUN groupadd --non-unique -g ${GROUP_ID} ${USER_NAME} && \
-  useradd -l -g ${GROUP_ID} -u ${USER_ID} -k /root -m ${USER_NAME} && \
+docker buildx build --platform linux/amd64 -t "${IMAGE_NAME}-${USER_NAME}" - 
<<UserSpecificDocker
+FROM ${IMAGE_NAME}
+RUN if ! getent group ${GROUP_ID} > /dev/null; then groupadd --non-unique -g 
${GROUP_ID} ${USER_NAME}; fi && \
+  if ! getent passwd ${USER_NAME} > /dev/null; then useradd -l -g ${GROUP_ID} 
-u ${GROUP_ID} -k /root -m ${USER_NAME}; fi && \
   ([ "$(dirname "$HOME")" = "/home" ] || ln -s /home $(dirname "$HOME")) && \
   mkdir -p /gpg && chown ${USER_ID}:${GROUP_ID} /gpg && chmod 700 /gpg
 ENV  HOME /home/${USER_NAME}

Reply via email to