【linux笔记dpkg-buildpackage打包】把一个helloworld程序打包为deb包

说明

打包发布可以不用编译源代码安装,看起来是更方便的软件拷贝方式,下面是一个dpkg-buildpackage工具的最简打包过程实例

先建立一个helloworld程序

  • main.c
#include <stdio.h>

int main() {
  printf("Hello, World!\n");
  return 0;
}
  • CMakeLists.txt, cmake也有打包工具,这里使用dpkg-buildpackage打包(没跑通cpak QAQ)
cmake_minimum_required(VERSION 3.10)
project(helloworld C)

set(CMAKE_C_STANDARD 99)

add_executable(helloworld main.c)
  • 简单测试下
mkdir build
cd build
cmake ..
make

建立deb打包相关配置文件

  • 在build目录里建立debian,debian下面建立下面几个文件
touch control
touch install
touch rules
touch compat
  • control
Source: helloworld
Section: utils
Priority: optional
Maintainer: Your Name <your.email@example.com>
Build-Depends: debhelper (>= 11)
Standards-Version: 4.1.4
Homepage: http://example.com

Package: helloworld
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: A simple hello world program
 A simple hello world program written in C.
  • install
helloworld usr/bin/
  • rules, 注意这里dh %@这一行前面的缩进,拷贝过去报错的话建议手敲,应该是两个空格
#!/usr/bin/make -f

%:
	dh $@
  • compat
11
  • 生成changelog,使用dch命令,进入一个交互流程,会让你选择自己的编辑器并创建一条日志
dch --create  
  • 最小修改,注意修改第一行的包名和版本号:
    在这里插入图片描述

打包测试

  • build目录下
dpkg-buildpackage -us -uc
  • 会在根目录下生成
    在这里插入图片描述
  • 测试,可以正常安装/运行/卸载
    在这里插入图片描述
  • 测试结束时的目录结构:
    在这里插入图片描述
  • 依赖少什么就装什么,应该没有特殊注意的部分
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值