| #!/usr/bin/env python3 | 
 | """ | 
 | QEMU tooling installer script | 
 | Copyright (c) 2020-2021 John Snow for Red Hat, Inc. | 
 | """ | 
 |  | 
 | import setuptools | 
 | from setuptools.command import bdist_egg | 
 | import sys | 
 | import pkg_resources | 
 |  | 
 |  | 
 | class bdist_egg_guard(bdist_egg.bdist_egg): | 
 |     """ | 
 |     Protect against bdist_egg from being executed | 
 |  | 
 |     This prevents calling 'setup.py install' directly, as the 'install' | 
 |     CLI option will invoke the deprecated bdist_egg hook. "pip install" | 
 |     calls the more modern bdist_wheel hook, which is what we want. | 
 |     """ | 
 |     def run(self): | 
 |         sys.exit( | 
 |             'Installation directly via setup.py is not supported.\n' | 
 |             'Please use `pip install .` instead.' | 
 |         ) | 
 |  | 
 |  | 
 | def main(): | 
 |     """ | 
 |     QEMU tooling installer | 
 |     """ | 
 |  | 
 |     # https://medium.com/@daveshawley/safely-using-setup-cfg-for-metadata-1babbe54c108 | 
 |     pkg_resources.require('setuptools>=39.2') | 
 |  | 
 |     setuptools.setup(cmdclass={'bdist_egg': bdist_egg_guard}) | 
 |  | 
 |  | 
 | if __name__ == '__main__': | 
 |     main() |