kiwi-el8/setup.py
Marcus Schäfer 43c3577016
Fixed packaging metadata for pypi
Include the README as long description in the metadata
for pypi. The change causes the description on pypi.org
to show the ReST rendered README instead of a message
that the author of the module hasn't provided a description
2021-02-13 22:33:36 +01:00

107 lines
3.1 KiB
Python
Executable File

#!/usr/bin/env python
# -*- encoding: utf-8 -*-
from os import path
from setuptools import setup
from setuptools.command import sdist as setuptools_sdist
import distutils
import subprocess
from kiwi.version import __version__
here = path.abspath(path.dirname(__file__))
with open(path.join(here, 'README.rst'), encoding='utf-8') as readme:
long_description = readme.read()
class sdist(setuptools_sdist.sdist):
"""
Custom sdist command
Host requirements: git
"""
def run(self):
"""
Run first the git commit format update $Format:%H$
and after that the usual Python sdist
"""
# git attributes
command = ['make', 'git_attributes']
self.announce(
'Running make git_attributes target: %s' % str(command),
level=distutils.log.INFO
)
self.announce(
subprocess.check_output(command).decode(),
level=distutils.log.INFO
)
# standard sdist process
setuptools_sdist.sdist.run(self)
# cleanup attributes
command = ['make', 'clean_git_attributes']
self.announce(
subprocess.check_output(command).decode(),
level=distutils.log.INFO
)
config = {
'name': 'kiwi',
'long_description': long_description,
'long_description_content_type': 'text/x-rst',
'python_requires': '>=3.6',
'description': 'KIWI - Appliance Builder (next generation)',
'author': 'Marcus Schaefer',
'url': 'https://osinside.github.io/kiwi',
'download_url':
'https://download.opensuse.org/repositories/'
'Virtualization:/Appliances:/Builder',
'author_email': 'ms@suse.com',
'version': __version__,
'license' : 'GPLv3+',
'install_requires': [
'docopt>=0.6.2',
'lxml',
'pyxattr',
'requests',
'PyYAML'
],
'packages': ['kiwi'],
'cmdclass': {
'sdist': sdist
},
'entry_points': {
'kiwi.tasks': [
'image_info=kiwi.tasks.image_info',
'image_resize=kiwi.tasks.image_resize',
'result_bundle=kiwi.tasks.result_bundle',
'result_list=kiwi.tasks.result_list',
'system_build=kiwi.tasks.system_build',
'system_create=kiwi.tasks.system_create',
'system_prepare=kiwi.tasks.system_prepare',
'system_update=kiwi.tasks.system_update'
],
'console_scripts': [
'kiwi-ng=kiwi.kiwi:main',
'kiwicompat=kiwi.kiwi_compat:main'
]
},
'include_package_data': True,
'zip_safe': False,
'classifiers': [
# classifier: http://pypi.python.org/pypi?%3Aaction=list_classifiers
'Development Status :: 5 - Production/Stable',
'Intended Audience :: Developers',
'License :: OSI Approved :: '
'GNU General Public License v3 or later (GPLv3+)',
'Operating System :: POSIX :: Linux',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Topic :: System :: Operating System',
]
}
setup(**config)