diff --git a/bin/build b/bin/build index 46e9827..b63fdb5 100755 --- a/bin/build +++ b/bin/build @@ -123,9 +123,15 @@ else print_success "GPG signing key and passphrase loaded" fi -# Build/update the Docker image +# Build/update the Docker image with host user's UID/GID for proper permissions print_info "Building Docker image..." -docker build -t omarchy-aur-builder:latest -f "$BUILD_DIR/Dockerfile" "$BUILD_DIR" +HOST_UID=$(id -u) +HOST_GID=$(id -g) +docker build \ + --build-arg BUILD_UID="$HOST_UID" \ + --build-arg BUILD_GID="$HOST_GID" \ + -t omarchy-aur-builder:latest \ + -f "$BUILD_DIR/Dockerfile" "$BUILD_DIR" print_info "Running AUR package build..." # Build Docker arguments @@ -137,7 +143,6 @@ DOCKER_ARGS=( -e GPG_PASSPHRASE -e SINGLE_PACKAGE="$SINGLE_PACKAGE" -v "$BUILD_ROOT/output:/output" - -v "$SRC_DIR:/src" -v "$BUILD_DIR:/build:ro" -v "$BUILD_ROOT/pkgbuilds:/pkgbuilds:ro" ) diff --git a/build/Dockerfile b/build/Dockerfile index 8057fd8..4ad0ced 100644 --- a/build/Dockerfile +++ b/build/Dockerfile @@ -5,7 +5,12 @@ RUN pacman -Syu --noconfirm && \ pacman -S --noconfirm base-devel git sudo wget jq gnupg # Create build user (required for makepkg) -RUN useradd -m -G wheel builder && \ +# Note: UID/GID can be overridden at runtime via --build-arg +ARG BUILD_UID=1000 +ARG BUILD_GID=1000 + +RUN groupadd -g ${BUILD_GID} builder && \ + useradd -m -u ${BUILD_UID} -g ${BUILD_GID} -G wheel builder && \ echo "builder ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers USER builder