1#!/usr/bin/env python3 2""" 3QEMU tooling installer script 4Copyright (c) 2020-2021 John Snow for Red Hat, Inc. 5""" 6 7import setuptools 8from setuptools.command import bdist_egg 9import sys 10import pkg_resources 11 12 13class bdist_egg_guard(bdist_egg.bdist_egg): 14 """ 15 Protect against bdist_egg from being executed 16 17 This prevents calling 'setup.py install' directly, as the 'install' 18 CLI option will invoke the deprecated bdist_egg hook. "pip install" 19 calls the more modern bdist_wheel hook, which is what we want. 20 """ 21 def run(self): 22 sys.exit( 23 'Installation directly via setup.py is not supported.\n' 24 'Please use `pip install .` instead.' 25 ) 26 27 28def main(): 29 """ 30 QEMU tooling installer 31 """ 32 33 # https://medium.com/@daveshawley/safely-using-setup-cfg-for-metadata-1babbe54c108 34 pkg_resources.require('setuptools>=39.2') 35 36 setuptools.setup(cmdclass={'bdist_egg': bdist_egg_guard}) 37 38 39if __name__ == '__main__': 40 main() 41