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