Private
Public Access
1
0

fix: resolve remaining build failures

debian/rules: Source cargo env before calling cargo
  - Add `. "$HOME/.cargo/env"` to override_dh_auto_build

build-alpine.sh: Use /home/builduser for all paths
  - PKGDIR=/home/builduser/apk-package (accessible by builduser)
  - WORKSPACE_DIR=/home/builduser (for APKBUILD package function)
  - Removed duplicate else line

build-arch.sh: Copy repo to accessible directory
  - Copy repo contents to /home/builduser/repo before makepkg
  - Run makepkg in /home/builduser/repo (not act cache path)
This commit is contained in:
2026-04-27 00:57:03 +00:00
parent 3723d97427
commit 9cb48a01eb
3 changed files with 22 additions and 8 deletions

View File

@ -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

View File

@ -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

1
debian/rules vendored Executable file → Normal file
View File

@ -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: