and*_*ing 15
这是我一直发现缺少文档的地方。我几乎只是通过查看它在其他包中的完成方式来了解它是如何工作的。与 Debian 打包中的大多数内容一样,有几种方法可以做到这一点。我发现最简单的方法是使用debian/package.install文件。这是我使用过的一个包的例子,imaginary (bzr branch)。
首先,我们需要在debian/control. 现在有三段。一个用于源包,一个用于每个二进制包。请注意, foo-data 包应该是Architecture: all. 另请注意,想象力取决于imagination-common (= ${source:Version})。
接下来,我们创建一个debian/imagination.install文件。这包含我们想要在想象包中结束的特定文件或路径。对于这个包,我们需要所有架构相关文件。桌面文件被包含在内,因为它需要用它在其Exec:行中调用的二进制文件来说明。
usr/bin/
usr/lib/
/usr/share/applications/imagination.desktop
Run Code Online (Sandbox Code Playgroud)
我们需要创建一个debian/imagination-common.install文件。这将包含所有与架构无关的文件、图像、翻译、文档等。
/usr/share/doc/
/usr/share/icons/
/usr/share/imagination/
/usr/share/locale/
Run Code Online (Sandbox Code Playgroud)
man dh_install 描述了这里实际发生的事情:
也许你有一个构建多个二进制包的大包。您可以使用上游 Makefile 将其全部安装到 debian/tmp,然后使用 dh_install 将目录和文件从那里复制到正确的包构建目录中。
“正确的包构建目录”意味着在构建过程结束时,结果中的所有内容都将foo.deb在src/debian/foo. 最终foo-data.deb会出现的文件将在src/debian/foo-data. 由于debian/rules本质上只是一个 Makefile,您可以开始想象获得相同结果的其他方法。
| 归档时间: |
|
| 查看次数: |
5581 次 |
| 最近记录: |