diff --git a/build-alpine.sh b/build-alpine.sh index d3a1a14..94019df 100644 --- a/build-alpine.sh +++ b/build-alpine.sh @@ -44,8 +44,8 @@ else echo "Skipping cargo build (SKIP_CARGO_BUILD is set)" fi -# Create package directory -PKGDIR=$(pwd)/apk-package +# Create package directory in /home/builduser (accessible by builduser) +PKGDIR=/home/builduser/apk-package mkdir -p "$PKGDIR"/usr/bin mkdir -p "$PKGDIR"/etc/linux_patch_api mkdir -p "$PKGDIR"/etc/init.d @@ -57,8 +57,8 @@ cp configs/linux-patch-api-openrc "$PKGDIR"/etc/init.d/linux-patch-api chmod 755 "$PKGDIR"/etc/init.d/linux-patch-api cp configs/whitelist.yaml.example "$PKGDIR"/etc/linux_patch_api/whitelist.yaml -# Determine workspace path for APKBUILD -WORKSPACE_DIR=$(pwd) +# Use /home/builduser as workspace for APKBUILD +WORKSPACE_DIR=/home/builduser # Create APKBUILD echo "Creating APKBUILD..." @@ -96,6 +96,11 @@ if [ "$(id -u)" = "0" ]; then adduser -D -s /bin/sh builduser 2>/dev/null || true addgroup builduser abuild 2>/dev/null || usermod -aG abuild builduser + # Copy repo contents to builduser home (accessible directory) + cp -r . /home/builduser/repo/ + chown -R builduser:builduser /home/builduser/repo/ + chown -R builduser:builduser /home/builduser/apk-package/ + # Set up builduser home directory for abuild mkdir -p /home/builduser/.abuild cp /root/.abuild/* /home/builduser/.abuild/ 2>/dev/null || true diff --git a/build-arch.sh b/build-arch.sh index 080d755..78fa2ca 100644 --- a/build-arch.sh +++ b/build-arch.sh @@ -64,17 +64,25 @@ echo "Creating .SRCINFO..." # Build package echo "Building Arch package..." -# For CI environments where we may run as root # For CI environments where we may run as root if [ "$(id -u)" = "0" ]; then echo "Running as root - creating build user for makepkg..." useradd -m builduser 2>/dev/null || true - chown -R builduser:builduser "$REPO_DIR" - su - builduser -c "cd $REPO_DIR && makepkg --printsrcinfo > .SRCINFO" - su - builduser -c "cd $REPO_DIR && makepkg -f --noconfirm" + + # Copy repo contents to builduser home (accessible directory) + mkdir -p /home/builduser/repo + cp -r . /home/builduser/repo/ + chown -R builduser:builduser /home/builduser/repo/ + + su - builduser -c "cd /home/builduser/repo && makepkg --printsrcinfo > .SRCINFO" + su - builduser -c "cd /home/builduser/repo && makepkg -f --noconfirm" + + # Copy package to releases + cp /home/builduser/repo/*.pkg.tar.zst releases/ else makepkg --printsrcinfo > .SRCINFO makepkg -f --noconfirm + cp *.pkg.tar.zst releases/ fi # Copy to releases directory diff --git a/debian/rules b/debian/rules old mode 100755 new mode 100644 index 1f6f99b..30a276d --- a/debian/rules +++ b/debian/rules @@ -8,6 +8,7 @@ export DEB_CARGO_BUILD_FLAGS=--release dh $@ override_dh_auto_build: + . "$HOME/.cargo/env" cargo build --release --target x86_64-unknown-linux-gnu override_dh_auto_install: