|  | #!/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() |