(增量)重建Debian / Ubuntu包

时间:2014-08-14 12:54:21

标签: ubuntu build compilation package debian

我已成功按照how to build a Debian package from source问题的说明操作。

但是,我想在修改源代码后重复修改包("增量版本"),并且建议的命令会重建包,但修改后的源文件不会重新编译。 / p>

如何让dpkg-buildpackage(或debian/rules)重建修改后的源文件?这是否可以一般地实现,还是依赖于包构建文件?

具体来说,我试图为chromium-browser

执行此操作

3 个答案:

答案 0 :(得分:1)

您的问题的答案在https://askubuntu.com/a/2879/164798

上找到

简而言之:

  • dpkg-buildpackage -us -uc -nc使用完整的工具链
  • fakeroot debian/rules binary只是编译步骤

您需要从包源目录(debian/目录所在的位置)执行它。

关于如何开始使用Debian构建系统的说明:

  • 对于上游软件包,请下载所有3个文件:.dsc.orig.tar.gz(或.xz等),.diff.gz(或.xz等)。
  • 对于原生软件包,请下载所有2个文件:.dsc.tar.gz(或.xz等。)
  • 如果它位于apt,您可以执行apt-get source "$PACKAGE",这还包括下一步(它为您运行dpkg-source -x)。

解压缩来源:

  • dpkg-source -x "$FULLPACKAGE.dsc"其中FULLPACKAGE是完整的包名(包括完整版)

第一次编译:

  • cd "$ORIGPACKAGE"其中ORIGPACKAGEFULLPACKAGE类似,版本仅限于第一个短划线(-
  • 现在运行dpkg-buildpackage -us -uc -nc
  • 如果您看到Unmet build dependencies:(另请参阅dpkg-checkbuilddeps):
    • 如果您可以使用apt-get build-dep $PACKAGE,请尝试apt。如果不是:
    • 查看debian/control Build-Depends并安装依赖项。如果你想自动化
    • mk-build-deps -i "$FULLPACKAGE.dsc" -t sudo apt-get --no-install-recommends -y(在那里找到:https://www.v13.gr/blog/?p=364)。
    • 如果你不能使用它(为不同的架构等构建),那么试试pbuilder(对不起,我对此还不知道)

之后快速编译更改:

  • 使用fakeroot debian/rules binary

如果您对此感到满意,请使用dpkg-buildpackage -us -uc(如果您使用签名,请将选项留下)。

答案 1 :(得分:0)

根据您的源代码,使用的构建工具应该负责编译新修改的源文件。 debian打包工具调用构建工具,可能是你的案例中的Makefile,并从生成的二进制文件和其他文件构建一个包。

通常,包装应该是软件开发过程的后期步骤。首先编写代码,然后在准备发布时将其打包。

我建议使用pbuilder在系统的虚拟容器中进行包构建,而不是在系统本身上进行。

答案 2 :(得分:0)

您可以在debian git hooks的分支上使用git git-buildpackagerepository来帮助自动执行此操作。