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:
@ -44,8 +44,8 @@ else
|
|||||||
echo "Skipping cargo build (SKIP_CARGO_BUILD is set)"
|
echo "Skipping cargo build (SKIP_CARGO_BUILD is set)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Create package directory
|
# Create package directory in /home/builduser (accessible by builduser)
|
||||||
PKGDIR=$(pwd)/apk-package
|
PKGDIR=/home/builduser/apk-package
|
||||||
mkdir -p "$PKGDIR"/usr/bin
|
mkdir -p "$PKGDIR"/usr/bin
|
||||||
mkdir -p "$PKGDIR"/etc/linux_patch_api
|
mkdir -p "$PKGDIR"/etc/linux_patch_api
|
||||||
mkdir -p "$PKGDIR"/etc/init.d
|
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
|
chmod 755 "$PKGDIR"/etc/init.d/linux-patch-api
|
||||||
cp configs/whitelist.yaml.example "$PKGDIR"/etc/linux_patch_api/whitelist.yaml
|
cp configs/whitelist.yaml.example "$PKGDIR"/etc/linux_patch_api/whitelist.yaml
|
||||||
|
|
||||||
# Determine workspace path for APKBUILD
|
# Use /home/builduser as workspace for APKBUILD
|
||||||
WORKSPACE_DIR=$(pwd)
|
WORKSPACE_DIR=/home/builduser
|
||||||
|
|
||||||
# Create APKBUILD
|
# Create APKBUILD
|
||||||
echo "Creating APKBUILD..."
|
echo "Creating APKBUILD..."
|
||||||
@ -96,6 +96,11 @@ if [ "$(id -u)" = "0" ]; then
|
|||||||
adduser -D -s /bin/sh builduser 2>/dev/null || true
|
adduser -D -s /bin/sh builduser 2>/dev/null || true
|
||||||
addgroup builduser abuild 2>/dev/null || usermod -aG abuild builduser
|
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
|
# Set up builduser home directory for abuild
|
||||||
mkdir -p /home/builduser/.abuild
|
mkdir -p /home/builduser/.abuild
|
||||||
cp /root/.abuild/* /home/builduser/.abuild/ 2>/dev/null || true
|
cp /root/.abuild/* /home/builduser/.abuild/ 2>/dev/null || true
|
||||||
|
|||||||
@ -64,17 +64,25 @@ echo "Creating .SRCINFO..."
|
|||||||
# Build package
|
# Build package
|
||||||
echo "Building Arch package..."
|
echo "Building Arch package..."
|
||||||
|
|
||||||
# For CI environments where we may run as root
|
|
||||||
# For CI environments where we may run as root
|
# For CI environments where we may run as root
|
||||||
if [ "$(id -u)" = "0" ]; then
|
if [ "$(id -u)" = "0" ]; then
|
||||||
echo "Running as root - creating build user for makepkg..."
|
echo "Running as root - creating build user for makepkg..."
|
||||||
useradd -m builduser 2>/dev/null || true
|
useradd -m builduser 2>/dev/null || true
|
||||||
chown -R builduser:builduser "$REPO_DIR"
|
|
||||||
su - builduser -c "cd $REPO_DIR && makepkg --printsrcinfo > .SRCINFO"
|
# Copy repo contents to builduser home (accessible directory)
|
||||||
su - builduser -c "cd $REPO_DIR && makepkg -f --noconfirm"
|
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
|
else
|
||||||
makepkg --printsrcinfo > .SRCINFO
|
makepkg --printsrcinfo > .SRCINFO
|
||||||
makepkg -f --noconfirm
|
makepkg -f --noconfirm
|
||||||
|
cp *.pkg.tar.zst releases/
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Copy to releases directory
|
# Copy to releases directory
|
||||||
|
|||||||
1
debian/rules
vendored
Executable file → Normal file
1
debian/rules
vendored
Executable file → Normal file
@ -8,6 +8,7 @@ export DEB_CARGO_BUILD_FLAGS=--release
|
|||||||
dh $@
|
dh $@
|
||||||
|
|
||||||
override_dh_auto_build:
|
override_dh_auto_build:
|
||||||
|
. "$HOME/.cargo/env"
|
||||||
cargo build --release --target x86_64-unknown-linux-gnu
|
cargo build --release --target x86_64-unknown-linux-gnu
|
||||||
|
|
||||||
override_dh_auto_install:
|
override_dh_auto_install:
|
||||||
|
|||||||
Reference in New Issue
Block a user