2012-07-05 91 views
2

我有一堆dictd詞典程序的詞典文件。每個詞典有2個文件(一個dict.dz和一個.index文件),總共有8個詞典。從一個來源爲數據文件創建多個Debian軟件包

字典的安裝非常簡單,這就是我目前在我的腳本:

install -o root -g root -m 644 /path/to/dictd_dictionaries/* /usr/share/dictd 
/usr/sbin/dictdconfig --write 
service dictd restart 

現在我要打包這個很多文件成.deb軟件包的每一個.deb軟件包字典。我真的很想有一個源代碼.deb包,然後創建所有單獨的包,而不必創建和維護8個單獨的包(隨着時間的推移可能會增加的數量)。

但是我不明白的的debian/packagename.dirs文件如何與在的debian /規則文件發生的事情。我嘗試下載並查看freedict的源代碼包,這與我想要做的非常相似,但其規則文件非常複雜。

回答

2

您可以使用dh-make軟件包並指定「多個二進制」。這有點像創建骨架debian /目錄的嚮導。

E.g.

# dh_make --packagename=skeleton_1.0 
perl: warning: Setting locale failed. 
perl: warning: Please check that your locale settings: 
    LANGUAGE = "en_GB:en", 
    LC_ALL = (unset), 
    LANG = "en_GB.UTF-8" 
    are supported and installed on your system. 
perl: warning: Falling back to the standard locale ("C"). 

Type of package: single binary, indep binary, multiple binary, library, kernel module, kernel patch or cdbs? 
[s/i/m/l/k/n/b] 

在此處輸入「m」將設置它,以便源自以後的包生成多個包。

在dh_make嚮導完成設置之後,您需要維護debian/[packagename] .dirs和debian/[packagename] .install,以便打包程序知道哪些文件放在哪個.deb文件中。

E.g.
skeleton.dirs

usr/bin 

skeleton.install

usr/bin/skeleton* 
+0

謝謝,我想我的問題之前,是我試圖讓規則的makefile創建packagename.install文件。我已經開始手動創建它們,它工作 – happyskeptic 2012-07-06 09:12:40

相關問題