[ 上一頁 ] [ 目錄 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ A ] [ 下一頁 ]
你會看到在debian/子目錄中還有幾個已經存在的檔案,它們大多數都是以“.ex”結 尾的,表明它們只是例子。仔細看一下它們。如果你希望使用其中任何一個功 能,你需要做的事情是:
看一下相關的文件(提示:Debian政策手冊),
如果需要就修改檔案使其符合你的需求,
修改檔案名稱如果有“.ex”後綴就去掉它,
修改檔案名稱如果有“ex.”前綴就去掉它,
如果需要就修改“rules”檔案。
在下面給出了一些經常會被用到的檔案的解釋。
所有的在原來的套裝軟體和你的debian版本的套裝軟體之間的細節及差异需要寫在這裡。
dh_make建立了一個預設的,如下所示:
gentoo for Debian ----------------- <possible notes regarding this package - if none, delete this file> -- Josip Rodin <joy-mg@debian.org>, Wed, 11 Nov 1998 21:02:14 +0100
由於我們不需要在這裡寫任何東西,我們就把它刪掉了。
關於軟體,有一件事情是很煩人的,那就是當你花費了很多的時間和精力訂製好 一個程式,只要一升級,你所有的訂製就都會被丟棄了。Debian解決這個問題的 方法是標注出設定檔案,這樣當你升級一個套裝軟體時,你將會被詢問是否要保留 你原來的設定檔案。
如果希望對讓一個套裝軟體可以做到這點,只要把每一個設定檔案(通常在/etc)目 錄下的完整路徑逐行加入到一個名叫conffiles的檔案裡面就可以 了。Gentoo有一個設定檔案,/etc/gentoorc,我們把他加入到文 件conffiles中。
如果你自己的程式有一個設定檔案並且會自己覆寫它,那麼最好就不要把它標記 為設定檔案了,因為這樣dpkg就總會會詢問使用者是否要修改它。
如果你的套裝軟體總要求每個使用者修改自己的設定檔案,最好也不要把設定檔案標 記出來了。
你可以用用“maintainer scripts”來處理例子設定檔案,要了解更多的資訊請參 考postinst.ex, preinst.ex, postrm.ex, prerm.ex, 第 5.12 節。
如果你的程式根本沒有conffiles,對你來說從debian/目錄中刪 除conffiles就是很安全的了。
如果你的套裝軟體需要排程工作正常執行才能夠正常操作,你可以在這個檔案中設 置它。
注意這裡並不包裝檔括定期清除日誌的工作;關於它,請參考dh_installlogrotate(1)
和logrotate(8)
。
如果你不需要,那就把它刪了吧。
這個檔案裡指出了我們需要的但一般的安裝程序(make install)並不會自動建立 的目錄。
預設情況下,它的內容如下所示:
usr/bin usr/sbin
注意最前面是沒有斜線的。我們通常把它改成下面的樣子:
usr/bin usr/man/man1
但這些目錄在Makefile中已經建立了,所以我們不需要這個檔案,並且打算把它 刪了。
在這個檔案中,我們可以指定一些讓dh_installdocs幫我們安裝到臨時目錄中的 文件的檔案名稱。
預設的情況下,他會包裝檔含所有已經存在於來源程式碼目錄最高層目錄中的名為“BUGS”、 “README*”、“TODO”等的檔案。
對於gentoo,我們還加入了一些其它的內容:
BUGS CONFIG-CHANGES CREDITS ONEWS README README.gtkrc TODO
我們可以刪掉這個檔案,取而代之的是在rules檔案中 的dh_installdocs命令後列出這裡提到的檔案的名字,如下所示:
dh_installdocs BUGS CONFIG-CHANGES CREDITS ONEWS README \ README.gtkrc TODO
也許並不像你看到的這樣,你自己的套裝軟體可能根本就沒有這些檔案。在這種情 況下,對你來說刪掉這個檔案是很安全的。但是不要刪掉rules檔案中 的dh_installdocs,因為它還要被用於安裝copyright和其它的一些 東西。
如果你的套裝軟體提供了一些可以在安裝時進行位元組編譯的Emacs檔案,你可以使用 這些檔案來設定它們。
透過命令dh_installemacsen(1)
可以把它們安裝到臨
時檔案中,所以如果你要使用它不要忘了去掉rules檔案中那一行上的註解。
如果你不需要這些,刪掉它們。
如果你的套裝軟體是一個需要在系統啟動時執行的背景作業程式,那麼很顯然你沒有采 納我在開始時的建議,不是嗎?:-)
這是一個/etc/init.d/
腳本的通用骨架,所以你不得不對它進行大
規模的修改。透過dh_installinit(1)
可以把它安裝 到臨時目錄中。
如果你不需要這些,刪掉這個檔案。
你的程式應該有一個手冊頁。如果它們沒有,這裡的每一個檔案都是一個模板, 你只要把它填好就可以了。
手冊頁通常用nroff(1)
寫成。manpage.1.ex這
個例子也使用nroff寫的。在man(7)
的手冊頁中可以
找到一個關於如何編寫這樣一個檔案的簡短說明。
如果你更希望些SGML而不時nroff,那麼你可以使用manpage.sgml.ex模板。 如果是這樣,那麼你就必需做下面這些事情:
安裝套裝軟體docbook-to-man
把docbook-to-man加到control檔案的Build-Depends一行。
刪除rules檔案“build”規則中docbook-to-man執行前的註解
另外還要記得把檔案名稱改成類似於gentoo.sgml的樣子!
最後,手冊頁檔案的名字應該包裝檔含它所描述的程式的名字。所以我們需要把 “manpage”改成“gentoo”。這個檔案明中還以一個“.1”作為後綴,這表明它是一個 關於使用者命令的手冊。一定要確保這個節編號是正確的。這裡有一個關於手冊頁 各個節的簡短列表:
Section | Description | Notes 1 User commands Executable commands or scripts. 2 System calls Functions provided by the kernel. 3 Library calls Functions messagein system libraries. 4 Special files Usually found in /dev 5 File formats E.g. /etc/passwd's format 6 Games Or other frivolous programs 7 Macro packages Such as man macros. 8 System administration Programs typically only run by root. 9 Kernel routines Non-standard calls and internals.
所以gentoo的手冊頁應該叫做gentoo.1。在原來的來源程式中,並沒 有gentoo.1的手冊頁,所以我利用例子和上游文件給出的資訊寫了一個。
X視窗系統的使用者通常都會使用支援功能表的視窗管理器,這些功能表可以被訂製用於
啟動程式。如果它們安裝了Debian的menu
套裝軟體,那麼系統就會建立
一套包裝檔含有系統上每一個程式的功能表。
這裡有一個預設的由dh_make建立的menu.ex檔案:
?package(gentoo):needs=X11|text|vc|wm section=Apps/see-menu-manual\ title="gentoo" command="/usr/bin/gentoo"
在冒號之後的第一個字串是“needs”,他指明了程式需要什麼樣的界面。可以把這 個字串改成一個合適的值,比如“text”或是“X11”。
下面是“section”,它指出這個項目應當出現的功能表和子功能表。目前的可選節被列
在檔案/usr/share/doc/debian-policy/menu-policy.html/ch2.html#s2.1
中。
“title”字串是程式的名字。如果你喜歡,可以用大寫字母開頭。但一定要使它保 持簡短。
最後,“command”字串用於執行程式。
現在我們要把功能表項目改成下面的樣子:
?package(gentoo): needs=X11 section=Apps/Tools title="Gentoo" command="gentoo"
你還可以加入其它的字串,比如“longtitle”、“icon”和“hints”等。參考menufile(5)
、update-menus(1)
和/usr/share/doc/debian-policy/menu-policy.html/
可以了解更多資訊。
這個檔案用於設定程式uscan(1)
和uupdate(1)
(在套裝軟體devscripts
中)。它們可以用
於監視你下載來源程式碼的站台。
這裡是我的設定:
# watch control file for uscan # Site Directory Pattern Version Script ftp.obsession.se /gentoo gentoo-(.*)\.tar\.gz debian uupdate
提示:在建立了這個檔案後,可以連線到Internet,並且試著在程式目錄中執行 “uscan”命令。還要讀手冊哦!:)
如果你的套裝軟體還有除了手冊頁以外的其它普通文件和info文件,你需要使
用“doc-base
”檔案來註冊它們,這樣使用者就能夠用如dhelp(1)
、dwww(1)
或是doccentral(1)
等工具來找到它們。
這通常包裝檔括/usr/share/doc/packagename/
中的HTML、PS和PDF檔案。
gentoo的doc-base檔案gentoo.doc-base如下所示:
Document: gentoo Title: Gentoo Manual Author: Emil Brink Abstract: This manual describes what Gentoo is, and how it can be used. Section: Apps/Tools Format: HTML Index: /usr/share/doc/gentoo/html/index.html Files: /usr/share/doc/gentoo/html/*.html
關於安裝的檔案格式,請參考install-docs(8)
和/usr/share/doc/doc-base/doc-base.html/
中
的doc-base
手冊。
這些檔案叫做維護者腳本。它們位於套裝軟體的控制欄位中,並且在你安裝、升級
或刪除套裝軟體時,dpkg
會執行他們。
現在,你應該盡可能避免修改任何維護者腳本,因為它們有一些複雜。要了解關 於它們的更多資訊請參考政策手冊的第6章,而且還應該看看dh_make所提供的例 子檔案。
[ 上一頁 ] [ 目錄 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ A ] [ 下一頁 ]
Debian新維護人員手冊
version 1.2.3, 2005年4月3日.joy-mg@debian.org
lilingv@gmail.com
ycheng@slat.org