This commit is contained in:
parent
655030455f
commit
ae05a32209
|
@ -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"
|
Loading…
Reference in New Issue