Weblate: Generate list of Python dependencies automatically
For maintaining the Weblate installation, we chose to:
* install Python dependencies from Debian repo as much as possible;
* pin dependencies’ versions and install from upstream repositories whenever they are not available in Debian. (The reason for installing from repositories is that the pip repo distributes binaries which have no way to be verified.)
Currently, we’re manually maintaining the Puppet code for installing Weblate dependencies either as Debian packages or Python modules, with the aid of a script. That is hard to maintain and error prone, so we should ideally generate the list of dependencies automatically.
We need have a script that, given a Weblate version and a list of extra packages (example: redis is needed for celery which is needed — see sysadmin#17347 (closed)), will traverse the whole dependency trees and generate whatever is needed to have a fixed list of Debian packages and Python modules installed — and nothing else.