Files
xxxigcc/debian/build-deb.sh
Wang Defa 20935a6c89
All checks were successful
Build and Release / build-and-test (arm64, alpine) (push) Successful in -11s
Build and Release / build-and-test (amd64, alpine) (push) Successful in -4s
Build and Release / build-and-test (arm64, ubuntu) (push) Successful in 1s
Build and Release / build-and-test (amd64, ubuntu) (push) Successful in 10s
Build and Release / release (push) Successful in 44s
添加 llmdoc 文档系统,升级版本至 3.4.8-xg1
- 初始化 llmdoc 文档系统(overview/architecture/guides/reference)
- 创建 9 个核心文档,涵盖项目概览、安装架构、配置系统等
- 升级 CI 工作流和构建脚本版本号至 3.4.8-xg1
- 添加 .gitignore 文件
2025-12-25 09:06:01 +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.8-xg1 xxxigcc-amd64-ubuntu-3.4.8-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!"