我有一个可以同时为 groovy 和 xenial 构建的包。Ubuntu groovy 具有libpng-dev
可解析为 的包libpng16
。此外它还有libpng12
。Xenial 没有libpng-dev
或libpng16
。它只有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。
- 创建
debian/compat
包含内部内容的文件9
。(声明兼容性的旧方法) - 删除(它与声明兼容性的旧方式不兼容
debhelper-compat (=9),
)Build-Depends:
- 留
debhelper (>=9.0)
在Build-Depends:
我${shlibs:Depends}
有Depends: