我需要为我们的软件制作.deb,其中包括Drupal的副本。我不得不补丁Drupal,所以我无法使用Distro的库存Drupal。我希望结果是一个名为drupal6-rs_6.16_all.deb的文件,但是因为在我的控制文件中,它是一个子弹,所以它是“继承”我的主包装的版本,所以我最终得到了一个pongage drupal6-rs_6.0.6.6.0.6.6.6.6.0.6.6 _all.deb(6.0.6是我们自己的代码库的版本)。

我希望能够从同一Debian/*描述中生成Drupal包,而不是单独制作Debian/* Subtree。

可以做到吗?我知道,使用RPM可以覆盖子弹的版本,但是如果我添加版本:6.16到Subpakage的Debian/Control标题中,它(a)在VIM中以不同的方式突出显示到其他标头条目,并且(b)具有(b)没有效果。

有帮助吗?

解决方案

有时我应该RTFM。看着 man dh_installchangelogs. 。有一个原因 s 后缀!

是的,看来你 能够 覆盖多二进制源软件包中的二进制软件包的版本。

其他提示

因为只有一个 debian/changelog 每个源软件包文件,我相信每个源软件包只能有一个版本。如果您查看Debian软件包跟踪系统,它始终是指一个版本编号 - 源软件包的版本编号。因此,源软件包构建的二进制软件包具有相同的版本号。

这为您提供了两个选择 -

  1. 以正确的方式做事 - 补丁Drupal(也许与 dpatch, ,由于Debian中的Drupal包已经使用了它),并本身将其作为单独的源包。放置版本号后缀(例如 6.17-1yourcompany1)。然后为自己的软件制作包裹,并使您的软件取决于Drupal。现在你可以依靠 drupal6 (=6.17-1yourcompany1) 所以你知道大家 拥有 实际上得到了补丁。使用个人存储库来分发您的软件是一个好主意。

  2. 您拥有的另一个替代方法是使用hacky方法。由于您不想使用单独 debian/ 文件夹,使用一个。无论您是制作两个二进制文件还是从源软件包中合并到大包中的所有内容(所有内容),都可以决定要使用哪个版本号 - Drupal或您的代码库。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top