50 lines
1.7 KiB
Bash
Executable File
50 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
ARCH="$1"
|
|
BINARY_PATH="$2"
|
|
VERSION="$3"
|
|
|
|
BUILD_DIR="build"
|
|
DIST_DIR="dist"
|
|
DEB_DIR="debian-package"
|
|
WEB_DIST="${BUILD_DIR}/src/web/dist"
|
|
|
|
echo "Creating .deb package for ${ARCH}..."
|
|
|
|
# Create directories
|
|
mkdir -p "${DIST_DIR}/bin" "${DIST_DIR}/packages"
|
|
|
|
# Copy debian package structure
|
|
cp -r debian/ "${BUILD_DIR}/${DEB_DIR}-${ARCH}/"
|
|
|
|
# Copy binary to correct location
|
|
mkdir -p "${BUILD_DIR}/${DEB_DIR}-${ARCH}/usr/bin"
|
|
cp "${BINARY_PATH}" "${BUILD_DIR}/${DEB_DIR}-${ARCH}/usr/bin/wild-central"
|
|
|
|
# Copy static web files from built web app
|
|
mkdir -p "${BUILD_DIR}/${DEB_DIR}-${ARCH}/var/www/html/wild-central"
|
|
if [ -d "${WEB_DIST}" ]; then
|
|
cp -r "${WEB_DIST}"/* "${BUILD_DIR}/${DEB_DIR}-${ARCH}/var/www/html/wild-central/"
|
|
echo "Copied web app files"
|
|
else
|
|
echo "Warning: Web app dist not found at ${WEB_DIST}"
|
|
fi
|
|
|
|
# Set script permissions
|
|
chmod 755 "${BUILD_DIR}/${DEB_DIR}-${ARCH}/DEBIAN/postinst"
|
|
chmod 755 "${BUILD_DIR}/${DEB_DIR}-${ARCH}/DEBIAN/prerm"
|
|
chmod 755 "${BUILD_DIR}/${DEB_DIR}-${ARCH}/DEBIAN/postrm"
|
|
|
|
# Substitute placeholders in control file
|
|
sed -i "s/VERSION_PLACEHOLDER/${VERSION}/g" "${BUILD_DIR}/${DEB_DIR}-${ARCH}/DEBIAN/control"
|
|
sed -i "s/ARCH_PLACEHOLDER/${ARCH}/g" "${BUILD_DIR}/${DEB_DIR}-${ARCH}/DEBIAN/control"
|
|
|
|
# Build package and copy to dist directories
|
|
dpkg-deb --root-owner-group --build "${BUILD_DIR}/${DEB_DIR}-${ARCH}" "${BUILD_DIR}/wild-central_${VERSION}_${ARCH}.deb"
|
|
cp "${BINARY_PATH}" "${DIST_DIR}/bin/wild-central-${ARCH}"
|
|
cp "${BUILD_DIR}/wild-central_${VERSION}_${ARCH}.deb" "${DIST_DIR}/packages/"
|
|
|
|
echo "Package created: ${DIST_DIR}/packages/wild-central_${VERSION}_${ARCH}.deb"
|
|
echo "Daemon binary copied: ${DIST_DIR}/bin/wild-central-${ARCH}"
|