针对不同系列的 Ubuntu 的启动板和源版本控制

针对不同系列的 Ubuntu 的启动板和源版本控制

我有一个可以同时为 groovy 和 xenial 构建的包。Ubuntu groovy 具有libpng-dev可解析为 的包libpng16。此外它还有libpng12。Xenial 没有libpng-devlibpng16。它只有libpng12-dev。我可以在 xenial 上使用 libpng12 构建应用程序,但我不想在 groovy 上使用 libpng16。

此外 xenial debhelper似乎没有提供debhelper-compat

因此我需要Build-Depends: debhelper-compat (=9), libpng-dev(>=1.2.0)groovy 和Build-Depends: debhelper (>=9.0), libpng12-dev(>=1.2.0)xenial。

我的软件包版本是app-1.0-0ubuntu1_i386.deb

Launchpad 似乎不允许在同一个 PPA 中构建两次相同的源。您可以在系列之间复制二进制文件,但不能重建源。似乎 Launchpad 在做出此决定时忽略了版本的“0-ubuntu1”部分。此外,它不允许上传任何低于现有版本的版本。因此,即使我最终得到一些依赖于系列的Build-Depends:文件debian/control- 我也无法从中受益,因为源只会构建一次。而且我不想仅仅为了向后移植到 xenial 而增加两次应用程序版本。

有没有什么优雅的解决方案可以解决这个问题?

答案1

好的,看来我已经弄清楚了如何设置控制文件,以便pbuilder-dist在 groovy 机器上为 trusty (14.04) 和 groovy (20.10) 构建 deb。

  1. 创建debian/compat包含内部内容的文件9。(声明兼容性的旧方法)
  2. 删除(它与声明兼容性的旧方式不兼容debhelper-compat (=9),Build-Depends:
  3. debhelper (>=9.0)Build-Depends:

${shlibs:Depends}Depends:

相关内容