Search code examples
pythondebianpackagingdeb

What does ${python3:Depends} mean in a debian source-package control file?


I'm trying to build a .deb from a python package. In order to do so I have to configure a control file. The control file contains a line where you can define dependencies for your package, e.g:

Depends: python-appindicator, python3-yaml (>=3.11), ${misc:Depends}, ${python3:Depends}

The dependency definition for python3-yaml is easy to understand, but what do ${misc:Depends} and ${python3:Depends} stand for?


Solution

  • This means that during build process variable ${python3:Depends} will be replaced with guessed py3 dependencies for that package. dh_python3 will help to do that. It's trying to guess what are the dependencies of package which contains such entry by looking for requires.txt file within the build directory, for example at debian/python-foo/usr/lib/python3.4/dist-packages/foo-0.0.1.egg-info/requires.txt and then translating it to the debian-like dependencies. Also ${misc:Depends} means such types of dependencies that are being involved by debhelper itself (by some of dh_* utilities).