On 5/14/20 7:53 AM, John Snow wrote:
> NB: I am choosing Python 3.6 here. Although our minimum requirement is
> 3.5, this code is used only by iotests (so far) under which we have been
> using a minimum version of 3.6.
Preferably with another Ack-by from someone familiar with Python iotests:
Acked-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>
> 3.6 is being preferred here for variable type hint capability, which
> enables us to use mypy for this package.
>
> Signed-off-by: John Snow <jsnow@redhat.com>
> ---
> python/README.rst | 6 ++++++
> python/setup.py | 50 +++++++++++++++++++++++++++++++++++++++++++++++
> 2 files changed, 56 insertions(+)
> create mode 100644 python/README.rst
> create mode 100755 python/setup.py
>
> diff --git a/python/README.rst b/python/README.rst
> new file mode 100644
> index 0000000000..25f6d93fd5
> --- /dev/null
> +++ b/python/README.rst
> @@ -0,0 +1,6 @@
> +QEMU Python Tooling
> +-------------------
> +
> +This package provides QEMU tooling used by the QEMU project to build,
> +configure, and test QEMU. It is not a fully-fledged SDK and it is subject
> +to change at any time.
> diff --git a/python/setup.py b/python/setup.py
> new file mode 100755
> index 0000000000..f897ceac97
> --- /dev/null
> +++ b/python/setup.py
> @@ -0,0 +1,50 @@
> +#!/usr/bin/env3 python
> +"""
> +QEMU tooling installer script
> +Copyright (c) 2020 John Snow for Red Hat, Inc.
> +"""
> +
> +import setuptools
> +
> +def main():
> + """
> + QEMU tooling installer
> + """
> +
> + kwargs = {
> + 'name': 'qemu',
> + 'use_scm_version': {
> + 'root': '..',
> + 'relative_to': __file__,
> + },
> + 'maintainer': 'QEMU Developer Team',
> + 'maintainer_email': 'qemu-devel@nongnu.org',
> + 'url': 'https://www.qemu.org/',
> + 'download_url': 'https://www.qemu.org/download/',
> + 'packages': setuptools.find_namespace_packages(),
> + 'description': 'QEMU Python Build, Debug and SDK tooling.',
> + 'classifiers': [
> + 'Development Status :: 5 - Production/Stable',
> + 'License :: OSI Approved :: GNU General Public License v2 (GPLv2)',
> + 'Natural Language :: English',
> + 'Operating System :: OS Independent',
> + ],
> + 'platforms': [],
> + 'keywords': [],
> + 'setup_requires': [
> + 'setuptools',
> + 'setuptools_scm',
> + ],
> + 'install_requires': [
> + ],
> + 'python_requires': '>=3.6',
> + 'long_description_content_type': 'text/x-rst',
> + }
> +
> + with open("README.rst", "r") as fh:
> + kwargs['long_description'] = fh.read()
> +
> + setuptools.setup(**kwargs)
> +
> +if __name__ == '__main__':
> + main()
>