rust2rpm

rust2rpm is a tool for automatically generating RPM spec files for Rust crates.

Deveopment

tox (recommended)

Invoking tox will automatically run the test suite for all supported versions of Python. tox -- -vv can be used to show very verbose output.

The tox configuration also includes environments for:

  • black (check code formatting)
  • coverage (run tests and generate coverage report in HTML format in ./htmlcov)
  • docs (build documentation with pdoc in HTML format in ./htmldocs)
  • fixtures (run tests and update test fixtures if necessary)
  • mypy (static analysis)
  • ruff (linter)

pytest

The tests can also be run manually in a virtualenv:

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt pytest
PYTHONPATH=. python3 -m pytest -vv
deactivate

The UPDATE_FIXTURES=1 environment variable can be set to rewrite the test fixtures for expected (!) changes in the spec file generator.

Documentation

Documentation for rust2rpm and its configuration file formats is available in the docs/ directory in AsciiDoc format. The included build script can be used to build man pages from the AsciiDoc sources with asciidoctor.