0

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

我希望能够从同一个 debian/* 描述中生成 Drupal 包,而不是单独为 Drupal 创建一个单独的 debian/* 子树。

这可以做到吗?我知道使用 RPM 可以覆盖子包的版本,但是如果我将 Version: 6.16 添加到子包的 debian/control 标头中,它 (a) 在 vi​​m 中与其他标头条目不同地突出显示,并且 (b) 有没有效果。

4

2 回答 2

1

有时我应该使用 RTFM。看man dh_installchangelogs。它有一个s后缀是有原因的!

是的,您似乎可以在多二进制源包中覆盖二进制包的版本。

于 2010-07-22T07:07:43.177 回答
0

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

这使您有两个选择 -

  1. 以正确的方式做事 -dpatch为 Drupal 打补丁(可能使用 . 放一个版本号后缀(例如6.17-1yourcompany1)。然后为你自己的软件制作一个包,让你的软件依赖于 Drupal。现在你可以依赖了,drupal6 (=6.17-1yourcompany1)所以你知道每个人实际上都得到了补丁。使用个人存储库来分发您的软件将是一个好主意。

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

于 2010-06-19T06:42:14.667 回答