2

我正在使用 dh_help 构建包模板并尝试遵循 ubuntu 和 debian 打包指南来创建二进制包。

如何告诉 debuild 哪个文件是 conf 文件,例如应该转到 /etc/mypkg.conf ?我试图把它放在 mypkg-0.1/etc/mypkg/fname.conf 但 debuild 忽略它。debian 指南说 etc/ 下的所有文件都被自动视为 conf 文件,但它对我不起作用(http://www.debian.org/doc/maint-guid...ml#s-conffiles)。我尝试将 conf 文件放在 mypkg-1.0/etc/mypkg.conf 和 mypkg-1.0/debain/etc/mypkg.conf 下,但不包括在内。我也尝试在 conffiles 中列出该文件,但我收到一个错误,即在构建包时找不到它。

我也不明白如何在包中包含静态文件。我必须使用安装文件来列出所有文件和文件夹吗?我认为将具有完整路径的所有内容放在 mypkgs-0.1 文件夹下应该像手动使用 dpkg 时一样工作。

谢谢

4

2 回答 2

4

正如viraptor所说,您可以将每个文件的安装命令放入您debian/rules的文件中,以将文件安装到 debian/pkgname 目录中。

或者您可以使用一个debian/install文件来简单地列出所有文件(或仅列出目录),并在您的 dh_install 命令中debian/rules为您执行此操作。

您似乎对如何构建包以及包含哪些文件有些困惑。这是非常笼统的,但是当debian/rules脚本使用标准方法编译程序时./configure && make && make install,它会指示将make install文件安装到debian/pkgname而不是/. 然后它知道下面的所有内容都debian/pkgname应该在最终的.deb中。如果该make install步骤未将所有内容放在正确的位置,则debian/rules脚本需要执行此操作。以前似乎调用install ...fromdebian/rules将文件复制到debian/pkgname目录很常见,但现在使用debian/install文件似乎是首选方法。

于 2011-01-23T02:10:45.900 回答
0

如果您通过标准 debhelper / 文件安装文件,则不必包含软件包版本debian/rules。相反,在安装步骤中执行:

install -cm 644 fname.conf $(CURDIR)/debian/mypkg/etc/mypkg/fname.conf

并且应该正确包含它。

于 2011-01-22T22:12:18.813 回答