目录结构
├── 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 ./