手动编辑debianrules文件需要简单的构建过程



我是一个新手,试图按照本Ubuntu指南构建一个要放入PPA的deb,但是我在规则文件中遇到了麻烦,我参考了本概述和Debian策略手册。我收集到,在许多情况下,可以保留规则文件,以其非常简短的形式,但是这对我不起作用,可能是因为在能够在上游包上运行make之前需要少量的技巧。

手动构建和安装上游的构建过程是:

  1. cd packagedir/src
  2. cp makefile。unix makefile.my
  3. 在makefile.my
  4. 上运行三个sed行make -f makefile.my
  5. sudo cp -f binaryfile/usr/local/bin/

我已经设法调整了规则文件(添加目标),使其看起来成功地执行了步骤1-4,但是当通过bzr builddeb -- -us -uc命令编译完成时,我遇到了一个错误,说"dpkg-genchanges: error: cannot read files list file: No such file or directory",这让我怀疑我是否真的在做很多不必要的工作。毕竟,构建和安装过程不是很复杂。

所以我的问题是:我可以恢复规则文件,并在构建过程中轻松地实现上面的五个步骤,还是我需要继续沿着我已经采取的道路,手动编辑规则文件?在这两种情况下,我都需要指导如何继续:)

是的,您可以恢复规则文件,并在dh框架中非常容易地实现这些步骤(而不是只是逐字添加这些步骤)。

它可能看起来像

#!/usr/bin/make -f
%:
        dh $@
override_dh_auto_configure:
        sed -e "$my_sed_program" makefile.unix > makefile.my
override_dh_auto_build:
        make -f makefile.my

然后在debian/$packagename.install中:

binaryfile    /usr/bin

这可能不能完全工作;这取决于你的构建过程如何工作的细节,但也许这会让你更接近。

旁注:不要将binaryfile安装到/usr/local/bin中,除非你真的必须这样做;软件包应该不去管/usr/local,让本地系统管理员选择在那里放什么。操作系统知道如何跟踪包所拥有的文件,以及它们在哪里以及它们是否与其他文件冲突,因此将其放在/usr/bin中应该没有任何缺点。

相关内容

  • 没有找到相关文章

最新更新