# dbus-deviation: a project for parsing D-Bus introspection XML and processing it in various ways

dbus-deviation is a project for parsing D-Bus introspection XML and processing it in various ways. Its main tool is dbus-interface-diff, which calculates the difference between two D-Bus APIs for the purpose of checking for API breaks. This functionality is also available as a Python module, dbusdeviation.

A second Python module, dbusapi, is provided for parsing D-Bus introspection XML to produce an AST representing a D-Bus interface.

dbus-deviation is licenced under the LGPLv2.1+.

Versions 0.4.0 and earlier were licenced under the same licence as the D-Bus project: your choice of the Academic Free License version 2.1, or the GPLv2+. For version 0.5.0, the licence was changed to LGPLv2.1+ as it’s a more standard licence with simpler implications.

## Download and installation

Tarballs for released versions of dbus-deviation are below. All have been signed with key 4B2EAFA0 (Philip Withnall).

- 2015-04-29: 0.1.0 (signature)
- 2015-05-29: 0.2.0 (signature)
- 2015-05-29: 0.3.0 (signature)
- 2016-02-22: 0.4.0 (signature)
- 2016-03-03: 0.5.0 (signature)
- 2017-01-12: 0.6.0 (signature)

Building and installing follows the standard Python setuptools process:

    tar -xzf ./dbus-deviation-$VERSION.tar.gz
    cd ./dbus-deviation-$VERSION
    ./setup.py build
    ./setup.py --prefix=$PREFIX install

## Documentation

For installation and quick-start information, see the README file.

API documentation is available on pythonhosted, or available here.

Details on all errors produced by dbus-deviation is available here.

## Source code and bugs

### Git repository

The source code for dbus-deviation is stored in git, which can be viewed online or cloned:

    git clone https://github.com/pwithnall/dbus-deviation.git

### Bugs

dbus-deviation uses GitHub’s issue tracking for bugs and enhancement requests.

dbus-deviation has historically used Bugs Everywhere for feature enhancement tracking, so to view all historically open bugs, clone the dbus-deviation git repository and run:

    be list

To file a bug without using GitHub, please contact the authors by e-mail.

## Contact

dbus-deviation is written by Philip Withnall, as part of R&D work by Collabora.

If you have any bug reports, questions, suggestions or criticism of the project, please e-mail me (philip tecnocode co uk).