debputy
=======

The debputy tool is a debian package builder that works with a declarative
manifest format.

The early versions will integrate into the debhelper sequencer dh and will replace
several of debhelper's tools that are covered by debputy.  However, the goal is that
debputy will be a standalone tool capable of packaging work from start to end.

The debputy package builder aims to reduce cognitive load for the packager
and provide better introspection to better support to packagers, linters
and the Debian janitor.

For documentation, please see:
 * [GETTING-STARTED-WITH-dh-debputy.md](GETTING-STARTED-WITH-dh-debputy.md) for getting started (how-to guide).
 * [MANIFEST-FORMAT.md](MANIFEST-FORMAT.md) for details of the format (reference documentation).




Prerequisites
-------------


     apt install python3 python3-debian python3-ruamel.yaml


Running tests
-------------

From the top level directory, run `python -m pytest`.


     debputy$ python -m pytest

(Alternatively, `PYTHONPATH=. py.test` also works)


The naming
----------

The name debputy is a play on the word "deputy" (using the "assistant" or
"authorized to act as substitute for another" definition) and the "deb"
from deb packages.  The idea is that you tell debputy what you want
(via the declarative manifest) and debputy handles the details of how to
do it.
