使用dh make構建debian軟體包

2021-06-09 18:02:23 字數 2290 閱讀 9471

debian軟體包由dpkg軟體包管理工具製作。dpkg遵循由乙個單獨的文字檔案所指定的一系列指令。在基於debian的系統中,如果你使用如下命令:

apt-get source msn-pecan

depends:指定必須先安裝的軟體包,因為當前軟體包依賴該包,如gtk應用程式必須依賴gtk+-2.0,該項用於避免造成嚴重的系統損壞。

suggests:

可以認為是可要可不要的軟體包

conflicts:表示如果安裝當前軟體包必定不能與這個特定的軟體包同時。例如,安裝pidgin軟與gaim軟體相衝突。

provides:debian

有時會定義虛擬軟體包或不存在的軟體包,它提供了一種友好的方式來指向某一特定型別的軟體,可能有許多可用的軟體都屬於這一型別。這有助於使用者尋找乙個現

有的軟體包或乙個著名的軟體包在最新的debian版本中被轉移到了**,而不需要使用者理解這背後的策略。

建立乙個單獨的debian軟體包的過程是非常簡單易懂的,這要感謝debian的自動化幫助指令碼。在本例中,給定乙個已有的源**專案,我們可以

bunzip2 -d msn-pecan-0.18.tar.bz2

tar -xvvf msn-pecan-0.18.tar

並以msn-pecan-0.18作為乙個全

新的debian軟體包的基礎。進入msn-pecan-0.18目錄

# dh_make -e [email protected] -f ../msn-pecan-0.18.tar.gz

此時系統會問你想建立哪種型別的軟體包:

type of package:single binary,multiple binary,library,kernel module or cdbs?

[s/l/m/k/b]

一般來說,大都情況下我們都是為了建立乙個單獨的二進位制軟體包,所以選擇選項「s」(其他型別更為複雜,詳細資訊請檢視dh_make的相關文件)。

maintainer name : root

email-address   : [email protected]

date            : mon, 20 apr 2009 16:29:11 +0800

package name    : msn-pecan

version         : 0.18

license         : blank

type of package : single

hit  to confirm:

done. please edit the files in the debian/ subdirectory now. you should also

check that the msn-pecan makefiles install into $destdir and not in / .

此時你會發現在原始碼目錄中多了乙個debian目錄。

# cd debian

# ls

changelog  dirs                init.d.ex        menu.ex                preinst.ex

compat     docs                init.d.lsb.ex    msn-pecan-default.ex   prerm.ex

control    emacsen-install.ex  manpage.1.ex     msn-pecan.doc-base.ex  readme.debian

cron.d.ex  emacsen-startup.ex  manpage.xml.ex   postrm.ex              watch.ex

你會發現一下多了,很多檔案,這些都是dh_make生成的,可以根據你需要打包的情況,修改control檔案,rules檔案。我一般都是將*.ex 檔案全部的刪除掉。為了記錄每次修改原始碼的記錄,建議修改changelog檔案,其修改格式務必保持如下:

msn-pecan (0.0.18-0~hardy1) hardy-backports; urgency=low

* dalashan cross compile.

-- dalashan   mon, 20 apr 2009 15:53:06 +0800

(注:後面的日期字串,你可以在命令列下使用 date -r 得到)

#dpkg-buildpackage -***keroot -b(只生成二進位製包) -tc(打包完畢後進行clean操作)

最後,你可以使用dpkg -c x.deb 來檢視生成的軟體包裡包含哪些檔案。使用 sudo dpkg -i *.deb 來安裝軟體。

使用Dockerfile構建容器

通過dockerfile構建docker容器,可以只依賴基礎映象,此文以ubuntu作為基礎映象。touch dockerfile from ubuntu 14.04 maintainer tony env refreshed at 2017 05 08run apt get update run ...

使用tflearn 構建RNN

coding utf 8 created on 2018 1 19 import numpy as np import tflearn import tflearn.datasets.mnist as mnist x,y,testx,testy mnist.load data one hot tru...

使用vue cli構建專案。

所以操作皆在命令列下完成 npm install golbal vue clivue init webpack workname workname為專案名 tables areproject name 專案名 不可大寫 project description 專案描述 author 作者vue bu...