Downstream packaging
TuxMake is design to be a standard Python project, and to be installed using standard Python tools. Packaging TuxMake for other systems should be trivial, and if it's not, this is probably a bug in TuxMake, please talk to us.
Build system
TuxMake uses flit, but the source releases
published to PyPI do contain an autogenerated setup.py
. So if you get
releases from PyPI, you can build either using flit
, or using the included
setup.py. But if you get the sources from the git repository, then you will
need to use flit
.
You will notice that there is a Makefile
in the root directory, but that is
mostly used to automate running the tests during development. There are,
however, a few targets that will be of interest for packagers:
make man
will build a manpage that you can distribute with your binary packages (tuxmake.1
in the root directory).make doc
will build the documentation. The output will be in a directory calledpublic
in the root directly.make bash_completion
will generate a bash completion file inbash_completion/tuxmake
, that you can include in your package.
Tests
TuxMake has both unit and integration tests, in test/test_*.py
and
test/integration/
respectively. Both are able to run against an installed
version of TuxMake (as opposed to from the TuxMake sources).
The unit test can be executed with pytest
, and the integration tests can be
run by just calling scripts/run-tests test/integration
.