deb打包相关知识:
对于下载的完整的项目文件:
1.完整的项目包含三个部分,*.orig.tar.xz, *.debian.tar.xz , *.dsc
使用dkpg-source -x *.dsc即可解压*.orig.tar.xz.
2.进入解压后的文件夹下,修改文件及制作patch流程参考链接 quilt常用命令_u011238754的博客-CSDN博客
3.编译及打包。dpkg-buildpackage -uc -b ,成功后在上层目录产生.deb文件。
对于从一个新的C文件到打包的流程。参考链接 使用AutoTools制作deb包流程_u011238754的博客-CSDN博客 使用Automake 建立和使用静态库/动态库 - JavaShuo
总结如下:
1.编写源文件。
2.创建Makefile.am文件。automake根据configure.in中的宏并在perl的帮助下把Makefile.am转成Makefile.in文件。Makefile.am 文件定义所要产生的目标。
3.执行autoscan命令,会生成一个configure.scan文件,将configure.scan改名为configure.in,修改configure.in文件内容。
4.执行autoheader和aclocal命令。
5.使用automake命令。此时会提示缺少NEWS、README、AUTHORS、ChangeLog和COPYING,而使用automake --add-missing会生成COPYING,所以在此之前我们需要手动添加这几个文件: touch NEWS README AUTHORS ChangeLog。
6.执行autoconf命令,使用autoconf命令生成了configure。
7.执行./configure,生成Makefile文件。
======================= 下面步骤是生成deb程序包,Debian系专属 ==================================
8.执行 make dist命令 ,make dist将程序和相关的文档包装为一个压缩文档以供发布。从此,你将再也不想手动写Makefile!!可以看到,目录里多了个beep-0.1.tar.gz文件。这就是我们后续工作的核心
9.解压刚才的tar包,进入到其目录,目录下文件有以下。
aclocal.m4 ChangeLog configure COPYING install-sh Makefile.in NEWS
AUTHORS config.h.in configure.in INSTALL Makefile.am missing README
10.使用dh_make创建debian文件目录。
11.编辑debian/control文件。
12.使用debuild生成deb应用包。此时在上层目录将生成deb包及.DSC文件。
13.安装文件可以使用dpkg -i。