首页 > 代码库 > 如何修改基于Debian包管理dpkg的程序流程方法概述

如何修改基于Debian包管理dpkg的程序流程方法概述

/*********************************************************************
 * Author  : Samson
 * Date    : 05/14/2014
 * Test platform:
 *              Mint 15-3.8.13.13
 *              GNU bash, version 4.2.45
 * *******************************************************************/

当在Mint系统中需要对某个功能进行修改的时候,那么就要找到对应的源码进行修改,以下就是修改的一个大致的流程。此方法适用于使用Debian的dpkg包管理的系统(如:debian、ubuntu、mint)。


0)、查找要修改的脚本或程序属于哪一个工程源码包中
使用dpkg -S 文件名  可查找出此文件属于哪一个包里面。
如:yygy@:/etc/init$ dpkg -S ssh.conf
openssh-server: /etc/init/ssh.conf

1)、查询当前系统使用的对应工程的版本号
使用dpkg -l | grep 包名 查看当前系统用到的包的版本是多少,以便在下载源代码的时候下载对应的版本;
2)、下载源码
若源上有源代码则可使用,下载对应源代码:
apt-get source 包名

若是从git版本服务器上进行下载,在源上找到那个包,
先git clone 包所在git路径  下载源码等到本地。
再使用 git checkout -b branchnewname建立分支版本。
3)、修改
对需要进行修改的文件进行修改,注意还要修改包源码中的debian目录下的changlog文件中的对应版本及修改作者等信息。
4)、进行编译自验:
dpkg-buildpackage
编译完成后,会生成*.deb包,进行安装到系统中,会替换掉原来的系统中的有关包的程序所包含的。
dpkg -i *.deb
安装完成后,进行相关功能的测试验证。
5)、提交代码到git库
测试无误后,对进行修改后的分支版本进行提交代码到git库中;
提交前,先对编译后的环境中编译时留下的临时文件等垃圾信息进行清理,在进行编译的源码目录中执行命令: debclean
查看修改了的文件,在源代码目录下执行命令:git status  

然后对修改了的文件进行添加到版本提交中: git add  filename/dirname
提交:
git commit -a -m "message for info"
git push origin branchnewname