I have a package that can be build for both groovy and xenial. Ubuntu groovy have libpng-dev
that resolves to libpng16
. Plus it has libpng12
. Xenial has no libpng-dev
or libpng16
. It has only libpng12-dev
. It's ok for me to build the app with libpng12 on xenial, but I wan't to use libpng16 on groovy.
Also xenial's debhelper
seems to not provide debhelper-compat
.
Thus I need Build-Depends: debhelper-compat (=9), libpng-dev(>=1.2.0)
for groovy and Build-Depends: debhelper (>=9.0), libpng12-dev(>=1.2.0)
for xenial.
My package version is app-1.0-0ubuntu1_i386.deb
Launchpad seems to not allow building same source twice in same PPA. You can copy binaries between series, but not rebuild the source. It seems launchpad ignores that "0-ubuntu1" part of version when make this decision. Also it doesn't allow to upload any version less then it already have. So even if I end up with some series-dependent Build-Depends:
in debian/control
file - I couldn't benefit from this as source will be build only once. And I don't want to increment app version twice just to backport to xenial.
Are there any elegant solution for this problem?
Ok, it seems I figured out how to set up the control file to get the deb build via
pbuilder-dist
for both trusty (14.04) and groovy (20.10) on groovy machine.debian/compat
file with9
inside. (old way of declaring compatibility)debhelper-compat (=9),
fromBuild-Depends:
(it's incompatible with old way of declaring compatibility)debhelper (>=9.0)
inBuild-Depends:
I have
${shlibs:Depends}
inDepends: