blob: c5bc45919a4d8988640a5c80cc71fe53b9dce609 [file] [log] [blame]
John Snowea1213b2021-05-27 17:16:54 -04001#!/usr/bin/env python3
2"""
3QEMU tooling installer script
4Copyright (c) 2020-2021 John Snow for Red Hat, Inc.
5"""
6
7import setuptools
John Snow2ddaeb72022-02-07 16:30:39 -05008from setuptools.command import bdist_egg
9import sys
John Snowea1213b2021-05-27 17:16:54 -040010import pkg_resources
11
12
John Snow2ddaeb72022-02-07 16:30:39 -050013class 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
John Snowea1213b2021-05-27 17:16:54 -040028def 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
John Snow2ddaeb72022-02-07 16:30:39 -050036 setuptools.setup(cmdclass={'bdist_egg': bdist_egg_guard})
John Snowea1213b2021-05-27 17:16:54 -040037
38
39if __name__ == '__main__':
40 main()