HACKING ======= virt-manager is tied closely with libvirt, so it's recommended to try and run the latest libvirt code if using virt-manager from an upstream checkout. See http://libvirt.org/downloads.html We use glade-3 for building virt-manager's UI. It is recommended you have a fairly recent version of glade-3: if a small UI change seems to rewrite the entire glade file, you likely have a too old (or too new :) glade version. The following commands will be useful for anyone writing patches: python setup.py test : Run local unit test suite python setup.py pylint : Run a pylint script against the codebase python setup.py test_urls : Test our install media fetching infrastructure Any patches shouldn't change the output of 'test' or 'pylint'. Check requires pylint and python-pep8 to be installed. Our pylint script uses a blacklist rather than a whitelist approach, so it could throw some false positives or useless messages. If you think your patch exposes one of these, bring it up on the mailing list. If 'python-coverage' is installed, you can run 'coverage -r' after 'test' to see a code coverage report. 'test_urls' only needs to be run if the patch is against the url fetching code (virtinst/OSDistro.py). This stuff is notoriously fragile, so running 'test_urls' is a must. If you are debugging a certain url failure, you can use the --match option to specify specific distros to test. 'test*' have a --debug option if you are hitting problems.