Fix permissions for real this time
This commit is contained in:
2 files changed
+16
-22
No files matched your search
@@ -123,17 +123,20 @@ else
|
|||||||
print_success "GPG signing key and passphrase loaded"
|
print_success "GPG signing key and passphrase loaded"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Build/update the Docker image with host user's UID/GID for proper permissions
|
# Build/update the Docker image
|
||||||
print_info "Building Docker image..."
|
print_info "Building Docker image..."
|
||||||
HOST_UID=$(id -u)
|
docker build -t omarchy-aur-builder:latest -f "$BUILD_DIR/Dockerfile" "$BUILD_DIR"
|
||||||
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..."
|
print_info "Running AUR package build..."
|
||||||
|
|
||||||
|
# Ensure output directory is writable by container user
|
||||||
|
# The container runs as 'builder' user, so we need to make output writable
|
||||||
|
if [ "$(id -u)" -eq 0 ]; then
|
||||||
|
chmod -R 777 "$ARCH_DIR"
|
||||||
|
else
|
||||||
|
sudo chown -R $(id -u):$(id -g) "$ARCH_DIR" 2>/dev/null || chmod -R 777 "$ARCH_DIR"
|
||||||
|
fi
|
||||||
|
|
||||||
# Build Docker arguments
|
# Build Docker arguments
|
||||||
DOCKER_ARGS=(
|
DOCKER_ARGS=(
|
||||||
--rm
|
--rm
|
||||||
|
|||||||
+5
-14
@@ -4,23 +4,14 @@ FROM archlinux:latest
|
|||||||
RUN pacman -Syu --noconfirm && \
|
RUN pacman -Syu --noconfirm && \
|
||||||
pacman -S --noconfirm base-devel git sudo wget jq gnupg
|
pacman -S --noconfirm base-devel git sudo wget jq gnupg
|
||||||
|
|
||||||
# Create build user (required for makepkg)
|
# Create build user (required for makepkg - cannot run as root)
|
||||||
# Note: UID/GID can be overridden at runtime via --build-arg
|
RUN useradd -m -G wheel builder && \
|
||||||
ARG BUILD_UID=1000
|
echo "builder ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
|
||||||
ARG BUILD_GID=1000
|
|
||||||
|
|
||||||
# Only create builder user if not using root (UID 0)
|
USER builder
|
||||||
RUN if [ ${BUILD_UID} -ne 0 ]; then \
|
|
||||||
groupadd -g ${BUILD_GID} builder && \
|
|
||||||
useradd -m -u ${BUILD_UID} -g ${BUILD_GID} -G wheel builder && \
|
|
||||||
echo "builder ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers; \
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Switch to builder user if not root, otherwise stay as root
|
|
||||||
USER ${BUILD_UID}
|
|
||||||
WORKDIR /src
|
WORKDIR /src
|
||||||
|
|
||||||
# Setup GPG directory for whichever user we're using
|
# Setup GPG directory
|
||||||
RUN mkdir -p ~/.gnupg && chmod 700 ~/.gnupg
|
RUN mkdir -p ~/.gnupg && chmod 700 ~/.gnupg
|
||||||
|
|
||||||
# Default command
|
# Default command
|
||||||
|
|||||||
Reference in new issue
Block a user