我正在使用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时一样。
由于
答案 0 :(得分:4)
正如viraptor所说,您可以将每个文件的install命令放入debian/rules
,以将文件安装到debian / pkgname目录中。
或者您可以使用debian/install
文件简单列出所有文件(或只是目录),并在debian/rules
中使用dh_install命令为您执行此操作。
您似乎对如何构建软件包以及包含哪些文件感到困惑。这是非常通用的,但是当debian/rules
脚本使用标准./configure && make && make install
方法编译程序时,它会指示make install
将文件安装到debian/pkgname
而不是/
}。然后它知道debian/pkgname
下的所有内容都应该是最终的.deb中的内容。如果make install
步骤未将所有内容放在正确的位置,则debian/rules
脚本需要执行此操作。以前似乎从install ...
调用debian/rules
将文件复制到debian/pkgname
目录很常见,但现在使用debian/install
文件似乎是首选方法。
答案 1 :(得分:0)
如果您通过标准debhelper / debian/rules
文件安装文件,则不必包含软件包版本。相反,在安装步骤中执行:
install -cm 644 fname.conf $(CURDIR)/debian/mypkg/etc/mypkg/fname.conf
它应该包含在内。