I put 'em all on separate lines so I can add comments; my control tends to look like this for packages that build on multiple versions of ubuntu:
Build-Depends: debhelper (>= 7), # libpng12-dev for ubuntu 16.04, libpng-dev for ubuntu 17.10 and up libpng12-dev | libpng-dev, libvtk6-dev | libvtk5-dev, ... It's a fragile approach, but works well enough here. Sometimes I have to add version specifiers or depend on proxy packages just to test which platform. Ugh. - Dan On Fri, Mar 2, 2018 at 1:53 PM, Daniel Sperka <djspe...@ucdavis.edu> wrote: > I'm updating the packaging for a software package for debian and ubuntu > (via neurodebian). The src package will build (using cowbuilder) under > ubuntu xenial and debian jessie. > > Under stretch, the build fails while updating build-deps: > > pbuilder-satisfydepends-dummy : > Depends: libvtk5-dev which is a virtual package and is not provided by > any available package > Depends: libpng12-dev which is a virtual package and is not provided by > any available package > > It seems that under stretch, libvtk5 has been replaced by libvtk6, and > libpng12 by libpng16. > > How can I express this in a single control file? In other words, my > control file has the following (which works under debian/jessie and > ubuntu/xenial): > > Under xenial/jessie the following is in debian/control: > > Build-Depends: debhelper (>= 5), libqt4-dev (>= 4.3), libqt4-opengl-dev | > libqt4-dev (<< 4.4.0), libqwt5-qt4-dev, libvtk5-dev, libminc-dev, > libqtassistantclient-dev, libpng12-dev, cmake > > It seems that I need to have this line be different under debian/stretch: > > Under xenial/jessie the following is in debian/control: > > Build-Depends: debhelper (>= 5), libqt4-dev (>= 4.3), libqt4-opengl-dev | > libqt4-dev (<< 4.4.0), libqwt5-qt4-dev, libvtk6-dev, libminc-dev, > libqtassistantclient-dev, libpng16-dev, cmake > > > Dan > > > > > > -- > Daniel J. Sperka, Ph. D. > UC Davis Center for Neuroscience