2012-07-05 71 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