【问题标题】:Simplest way of using dpkg-buildpackage with an existing upstream source tarball将 dpkg-buildpackage 与现有上游源 tarball 一起使用的最简单方法
【发布时间】:2013-02-20 06:43:09
【问题描述】:

已经阅读了数百篇教程,但仍然无法理解这一点:

  • 我有一个上游提供的上游包,名为 foo-1.2.3.tar.bz2。
  • 我将文件放在 /tmp/debplayground/ 中。
  • 手动安装该软件包的方法是 cd /tmp/debplayground/ && tar -xvf foo-1.2.3.tar.bz2 && cd foo-1.2.3 && ./configure --prefix=/usr && make && sudo 安装
  • 我希望将我的包命名为“special-foo”。
  • 我只想生成一个二进制包(.deb 文件),对源包不感兴趣。

鉴于上述前提,这是我的问题:

  1. 为了能够通过“dh_make -i --createorig”创建基本的 debian pkg 文件,我需要创建一个名为“special-foo-1.2.3”的文件夹并在其中调用 dh,对吗?但是我需要将 foo-1.2.3.tar.bz2 重命名为 special-foo-1.2.3.tar.bz2 吗?
  2. 我需要解压缩 .tar.bz2 或 dpkg-buildpackage 吗?
  3. 我需要将上游 tarball 相对于 dh_make 创建的 debian/ 文件夹放置在哪里,以便 dpkg-buildpackage 正确调用 ./configure 和 make?

【问题讨论】:

    标签: debian packaging deb


    【解决方案1】:
    1. dh_make 在这方面有点傻。我不会花太多时间弄清楚如何让它快乐。您真正需要关心的是它设置的包装模板。为了回答我认为您的问题,如果您没有创建“本机”包,dpkg-buildpackage 将期望在构建时找到一个名为 ../special-foo_1.2.3.orig.tar.{gz,bz2,lzma} 的文件,以便正确生成源代码的 .diff.gz 部分包,它应该识别对 Debian 包中上游源的任何更改。当您告诉 dh_make 上游 tarball 是什么时,它通常会为您创建一个符号链接。

    2. 您确实需要将原始 .tar.bz2 至少解压缩一次,以便将您的打包信息放在适当的位置(参见 #3)。但是之后你不需要解压它; dpkg-source(在适当时由 dpkg-buildpackage 调用)会在需要生成新差异时在 tmp 目录中自行完成。

    3. 您的debian/ 文件夹应位于包源树的顶层。在您的情况下,它将是 /tmp/debplayground/foo-1.2.3/debian

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多