Linux打包C++应用deb脚本

目录结构

├── CMakeLists.txt
├── README.md
├── scripts
│   └── build_deb.sh
├── src
│   └── app.cpp
└── VERSION

打包脚本

复制
#! /bin/bash
PROJECT_NAME="my-app"
PROJECT_PATH=$(cd "$( dirname ${BASH_SOURCE[0]})";cd ..;pwd)
MAINTAINER="jojo"
VERSION=`head -n +1 $PROJECT_PATH/VERSION`
PROJECT_DESCRIPTION="hello world"
# The following context no need to modify
cd $PROJECT_PATH
mkdir -p build
rm -rf $PROJECT_NAME*
mkdir -p $PROJECT_NAME/DEBIAN
cd build
cmake ..
make -j12
make DESTDIR=../$PROJECT_NAME install
CONTROL="../$PROJECT_NAME/DEBIAN/control"
echo "Package: $PROJECT_NAME" | sudo tee $CONTROL
echo "Version: $VERSION" | sudo tee -a $CONTROL
ARCH=`arch`
if [[ $ARCH =~ "x86_64" ]];then
ARCH="amd64"
elif [[ $ARCH =~ "aarch64" ]];then
ARCH="arm64"
else
ARCH="unknown_arch"
fi
echo "Architecture: $ARCH "| sudo tee -a $CONTROL
echo "Maintainer: $MAINTAINER" | sudo tee -a $CONTROL
echo "Description: $PROJECT_DESCRIPTION" | sudo tee -a $CONTROL
cd ..
dpkg-deb -b $PROJECT_NAME ./
posted @   umichan  阅读(98)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示