Some checks failed
Solaris Multi-Package Build / build (i386, 172.16.11.20, 2.6) (push) Failing after 10m9s
58 lines
1.4 KiB
Bash
Executable File
58 lines
1.4 KiB
Bash
Executable File
#!/usr/dbpware/bin/bash
|
|
# Usage: ./build-package.sh <package-name>
|
|
set -e
|
|
|
|
PKG="$1"
|
|
if [ -z "$PKG" ]; then
|
|
echo "Usage: $0 <package-name>"
|
|
exit 1
|
|
fi
|
|
|
|
# --- Host-level lock ---
|
|
LOCKDIR="/tmp/build-host.lock"
|
|
while ! mkdir "$LOCKDIR" 2>/dev/null; do
|
|
echo "Another build is running on this host. Waiting..."
|
|
sleep 10
|
|
done
|
|
trap "rmdir '$LOCKDIR'" EXIT
|
|
echo "Acquired host lock, starting build of $PKG"
|
|
|
|
cd "$BUILDPKG_BASE/$PKG"
|
|
|
|
topdir=$(ggrep -E '^topdir=' build.sh | cut -d= -f2)
|
|
version=$(ggrep -E '^version=' build.sh | cut -d= -f2)
|
|
pkgver=$(ggrep -E '^pkgver=' build.sh | cut -d= -f2)
|
|
secname="$topdir"
|
|
|
|
PKGFILE=$(ls -1 ${secname}-${version}-${pkgver}.dbp*.gz 2>/dev/null | head -n1 || true)
|
|
if [ -n "$PKGFILE" ]; then
|
|
echo "Package already built: $PKGFILE. Skipping."
|
|
exit 0
|
|
fi
|
|
|
|
# --- Run the build ---
|
|
bash build.sh all
|
|
EXIT_CODE=$?
|
|
|
|
# --- Find logfile ---
|
|
LOGFILE=$(ls -1 ${secname}-*.log 2>/dev/null | sort | tail -n1)
|
|
|
|
# --- Always output logfile ---
|
|
if [ -f "$LOGFILE" ]; then
|
|
echo
|
|
echo "================ Log output: $LOGFILE ================"
|
|
cat "$LOGFILE"
|
|
echo "====================================================="
|
|
fi
|
|
|
|
# --- Handle logfile ---
|
|
if [ $EXIT_CODE -eq 0 ]; then
|
|
echo "Build succeeded for $PKG, deleting logfile: $LOGFILE"
|
|
rm -f "$LOGFILE" || true
|
|
else
|
|
echo "Build FAILED for $PKG, logfile kept: $LOGFILE"
|
|
exit $EXIT_CODE
|
|
fi
|
|
|
|
echo "=== Finished build of $PKG ==="
|