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?
A Debian source package contains the source material used to construct one or more binary packages. A source package consists of a . dsc file (see Debian source control files – . dsc), one or more compressed tar files, and possibly other files depending on the type and format of source package.
dh-python provides various tools that help packaging Python related files in Debian. pybuild is a tool that implements dh sequencer's dh_auto_foo commands (but it can be used outside dh as well). It builds and installs files.
Pybuild is a newer (as in 2013) and more modular build system for Python packages. Features: Build Python2, Python3, ? PyPy with a one-liner dh command. Support nose/pytest and tox testing.
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).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With