天天看點

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

當在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