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

时间:2014-06-29 14:06:15

标签: ubuntu makefile debian packaging debhelper

我是一个新手试图在this Ubuntu guide之后建立一个放入PPA的deb,但我遇到了规则文件的麻烦,我在那里咨询this overview和{{3} }。我知道,在很多情况下,可以按照非常短的形式保留规则文件,但是这对我不起作用,可能是因为在能够在上游包上运行make之前需要少量的技巧。 / p>

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

  1. cd packagedir / src
  2. cp makefile.unix makefile.my
  3. 在makefile.my
  4. 上运行三个sed行
  5. make -f makefile.my
  6. sudo cp -f binaryfile / usr / local / bin /
  7. 我已经设法将规则文件(添加目标)调整为似乎成功执行步骤1-4的内容,但是当编译通过bzr builddeb -- -us -uc命令完成时,我遇到了一个错误“dpkg-genchanges:错误:无法读取文件列表文件:没有这样的文件或目录”,这让我想知道我是否真的做了很多不必要的工作。毕竟,构建和安装过程并不复杂。

    所以我的问题是:我可以恢复规则文件,并在构建过程中轻松实现上述五个步骤,或者我是否需要继续我已经采取的方式,手动编辑规则文件?在这两种情况下,我都需要有关如何继续的指导:)

1 个答案:

答案 0 :(得分:1)

是的,您可以恢复规则文件并在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中应该没有任何缺点。