forked from gary/ems
2
0
Fork 0
This commit is contained in:
ahu_gq 2025-06-21 15:30:02 +08:00
commit e25cbd670d
1 changed files with 0 additions and 86 deletions

View File

@ -1,86 +0,0 @@
#!/bin/bash
set -e
# 定义项目名称和版本等信息
PROJECT_NAME="_EMS_C_V1.0.0"
VERSION="1.0.0"
ARCHITECTURE="arm64" # 指定目标架构(飞凌)
DB_PATH="/opt/company_ems/db/sqlite3.db" # 数据库路径
DEB_PACKAGE_NAME="${PROJECT_NAME}_${VERSION}_${ARCHITECTURE}.deb"
DEB_OUTPUT_PATH="/opt/${DEB_PACKAGE_NAME}"
# 返回到项目根目录
cd "$(dirname "$0")/.."
# 创建并进入构建目录
mkdir -p build && cd build
# 清除 build 目录下的所有文件
rm -rf *
# 配置CMake以使用交叉编译
cmake ..
# 编译项目
make -j$(nproc)
# 确保可执行文件存在
if [[ ! -f "_EMS_C_V1.0.0" ]]; then
echo "可执行文件未找到: _EMS_C_V1.0.0"
exit 1
fi
# 准备.deb包目录结构
DEB_BUILD_DIR="/opt/${PROJECT_NAME}_${VERSION}_${ARCHITECTURE}_deb" # 修改为/opt目录
mkdir -p ${DEB_BUILD_DIR}/DEBIAN
mkdir -p ${DEB_BUILD_DIR}/company_ems/bin
mkdir -p ${DEB_BUILD_DIR}/company_ems/db
# mkdir -p ${DEB_BUILD_DIR}/usr/lib # 创建/usr/lib目录
# 创建目标目录(如果不存在)
sudo mkdir -p /opt/company_ems/bin/
# 拷贝可执行文件和其他库文件
cp _EMS_C_V1.0.0 "${DEB_BUILD_DIR}/company_ems/bin/"
# sudo cp -r ./lib/* /usr/lib/ # 拷贝lib下的文件
# sudo ldconfig # 更新库缓存
# 创建小写版本的可执行文件副本
cp "${DEB_BUILD_DIR}/company_ems/bin/_EMS_C_V1.0.0" "${DEB_BUILD_DIR}/company_ems/bin/company_ems_c_v1.0.0"
# 删除大写版本的可执行文件
rm "${DEB_BUILD_DIR}/company_ems/bin/_EMS_C_V1.0.0"
# 复制数据库到预定位置
cp "${DB_PATH}" "${DEB_BUILD_DIR}/company_ems/db/"
# 创建控制文件
cat <<EOF >${DEB_BUILD_DIR}/DEBIAN/control
Package: company-ems
Version: ${VERSION}
Section: base
Priority: optional
Architecture: ${ARCHITECTURE}
Depends: libc6, libsqlite3-0, libxml2, libssl1.1
Maintainer: Your Name <you@example.com>
Description: EMS C Project for ARM
This package is designed for ARM architecture.
EOF
# 删除之前同名的.deb包如果存在
if [[ -f "${DEB_OUTPUT_PATH}" ]]; then
echo "删除之前的deb包: ${DEB_OUTPUT_PATH}"
rm "${DEB_OUTPUT_PATH}"
fi
# 构建.deb包
dpkg-deb --build ${DEB_BUILD_DIR}
# 移动到指定位置
mv "${DEB_BUILD_DIR}.deb" "${DEB_OUTPUT_PATH}"
# 清理
rm -rf ${DEB_BUILD_DIR}
cd ..
echo "Deb包构建完成${PROJECT_NAME}_${VERSION}_${ARCHITECTURE}.deb"