將Source code 編譯成 deb

簡介

deb檔要包裝前要寫一堆資訊檔才行,其中包括了 像pkgtools一樣的scriptsdebian也有像Solaris裡的 postinstall preinstall postremove preremove這些scripts可以用, 其中最重要的資訊檔是一個名叫control的檔

需要的一些工具

dpkg

dpkg-deb 這兩個是最基本的

如果想成為Debiandistribution開發者,因為他們有一些遊戲規矩, 包括source code的改版,必要文件等規則, 下面的套件會幫你,如果不想submit你的deb檔給Debian,就不用裝了

dh-make 製做必要資訊檔的sample檔案 這其實還蠻有用的

debhelper dh-make dependency

devscripts 一些scripts

fakeroot 假裝是root的工具

lintian 測試與檢查package檔的工具

建立步驟

deb必須先有source tree,站在source tree的最上面, 解開後直接用

$ dh_make

幫你建一個叫debian的目錄及寫一堆sample後再自己改, cscope 15.6 做例子。

1. 先去cscope.sourceforge.net捉原始檔.tar.gz回來

2. 解開在/home/waynel/cscope-15.6,這邊一定要用 pkgname-version這樣形式的目錄

3. 進去cscope-15.6source code最上層直接執行dh_make, 會創造一個目錄叫debian,然後改這裡面的資訊檔

$ dh_make -e wayne_teng@compal.com -f ../cscope-15.6.tar.gz

在此次執行dh_make之後,上游的套裝軟體將會被打包裝檔為cscope-15.6.tar.gz並放在父目錄中,以便 用diff.gz建立非Debian原有的來源程式碼包裝檔。請注意檔案名稱中的兩個 關鍵點:

· 包裝檔名稱和版本是以_分割的。

· 在之前tar.gzorig.

$ dpkg-buildpackage -rfakeroot

,會自己叫configure創造Makefile, 不然必需自己想辦法創造一個Makefile再叫 dpkg-buildpackage -rfakeroot就會自己創造出xxxx.deb

如果下載的source code裡面有一個目錄debian,就直接執行

$ dpkg-buildpackage

已經多次運行了上邊的命令, 也可以使用下邊的命令快速構建臨時 .deb :

$ fakeroot debian/rules binary

留言

Unknown寫道…
站長的"關於自己"有地方打錯了!

"...若是有疑問, 請amil給..."

您不小心把mail打錯了

這個網誌中的熱門文章

Blocking software access to the Internet

Automatically classify folders by file name (windows Bash)

Esxi increase hard drive size (Ubuntu none LVM)