我有一堆 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的源码包,它与我想要做的非常相似,但是它的规则文件非常复杂。
最佳答案
您可以使用 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
骨骼.install
usr/bin/skeleton*
关于linux - 从一个来源为数据文件创建多个 Debian 软件包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11347377/