2

我有一堆用于 dictd 字典程序的字典文件。每个字典有 2 个文件(一个 dict.dz 和一个 .index 文件),总共有 8 个字典。

字典的安装非常简单,这就是我目前在我的脚本中的内容:

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/rules文件中的内容有何关系。我尝试下载并查看freedict的源包,这与我想要做的非常相似,但它的规则文件非常复杂。

4

1 回答 1

2

您可以使用 dh-make 包并指定“多个二进制文件”。它有点像创建骨架 debian/ 目录的向导。

例如

# 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 中。

例如
骨架.dirs

usr/bin

骨架安装

usr/bin/skeleton*
于 2012-07-05T16:21:05.967 回答