Files
xxxigcc/debian/build-deb.sh
Wang Defa 3399456f48
All checks were successful
Build and Release / build-and-test (arm64, alpine) (push) Successful in -21s
Build and Release / build-and-test (amd64, alpine) (push) Successful in -18s
Build and Release / build-and-test (arm64, ubuntu) (push) Successful in -9s
Build and Release / build-and-test (amd64, ubuntu) (push) Successful in -3s
Build and Release / release (push) Successful in 23s
更新版本号至 3.4.9-xg1,调整相关文档和构建脚本示例
2026-01-06 12:22:17 +08:00

92 lines
2.5 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
set -e
# 参数检查
if [ $# -ne 3 ]; then
echo "Usage: $0 <ARCH> <VERSION> <TARGZ_FILE>"
echo "Example: $0 amd64 3.4.9-xg1 xxxigcc-amd64-ubuntu-3.4.9-xg1.tar.gz"
exit 1
fi
ARCH=$1
VERSION=$2
TARGZ_FILE=$3
PKG_NAME="xxxigcc"
DEB_FILE="${PKG_NAME}_${VERSION}_${ARCH}.deb"
# 转换架构名称Docker 使用的架构名到 Debian 架构名)
case "$ARCH" in
amd64)
DEB_ARCH="amd64"
;;
arm64)
DEB_ARCH="arm64"
;;
*)
echo "Unsupported architecture: $ARCH"
exit 1
;;
esac
echo "📦 Building Debian package: ${DEB_FILE}"
echo " Architecture: ${DEB_ARCH}"
echo " Version: ${VERSION}"
echo " Source: ${TARGZ_FILE}"
# 创建临时目录
BUILD_DIR=$(mktemp -d)
trap "rm -rf $BUILD_DIR" EXIT
# 创建包目录结构
PKG_DIR="${BUILD_DIR}/${PKG_NAME}_${VERSION}_${DEB_ARCH}"
mkdir -p "${PKG_DIR}/DEBIAN"
mkdir -p "${PKG_DIR}/opt/xxxigcc"
mkdir -p "${PKG_DIR}/lib/systemd/system"
# 解压二进制文件
echo "📂 Extracting binaries..."
tar -xzf "${TARGZ_FILE}" -C "${PKG_DIR}/opt/xxxigcc"
# 生成 control 文件
echo "📝 Generating control file..."
sed -e "s/{{VERSION}}/${VERSION}/" \
-e "s/{{ARCH}}/${DEB_ARCH}/" \
debian/control.template > "${PKG_DIR}/DEBIAN/control"
# 复制维护脚本
echo "📋 Copying maintainer scripts..."
cp debian/postinst "${PKG_DIR}/DEBIAN/postinst"
cp debian/prerm "${PKG_DIR}/DEBIAN/prerm"
cp debian/postrm "${PKG_DIR}/DEBIAN/postrm"
chmod 755 "${PKG_DIR}/DEBIAN/postinst"
chmod 755 "${PKG_DIR}/DEBIAN/prerm"
chmod 755 "${PKG_DIR}/DEBIAN/postrm"
# 复制 systemd service 文件
echo "🔧 Installing systemd services..."
cp debian/xxxigcc-server.service "${PKG_DIR}/lib/systemd/system/"
cp debian/xxxigcc-daemon.service "${PKG_DIR}/lib/systemd/system/"
# 设置权限
chmod 755 "${PKG_DIR}/opt/xxxigcc/xxxigServer"
chmod 755 "${PKG_DIR}/opt/xxxigcc/xxxigDaemon"
chmod 755 "${PKG_DIR}/opt/xxxigcc/xxxigMiner"
chmod 644 "${PKG_DIR}/opt/xxxigcc/config.json"
chmod 644 "${PKG_DIR}/opt/xxxigcc/config_cc.json"
chmod 644 "${PKG_DIR}/opt/xxxigcc/index.html"
chmod 644 "${PKG_DIR}/lib/systemd/system/xxxigcc-server.service"
chmod 644 "${PKG_DIR}/lib/systemd/system/xxxigcc-daemon.service"
# 构建 deb 包
echo "🔨 Building package..."
dpkg-deb --build --root-owner-group "${PKG_DIR}" "${DEB_FILE}"
# 检查包
echo "✅ Package built successfully!"
echo "📦 Package: $(pwd)/${DEB_FILE}"
echo "📊 Package info:"
dpkg-deb --info "${DEB_FILE}"
echo ""
echo "🎉 Done!"