This adds very basic support for setuptools so that the OVS Python lib can be added to PyPI.
This currently uses the Open vSwitch version number and the generated dirs.py, though there is no real reason to tie the Python libraries releases or version numbers to the main project's. --- Reposting this patch with the correct date. Apparently my dev VM had a date of Mar 28, causing the patch to show up in the past. My apologies for the multiple posts. python/.gitignore | 2 ++ python/README.rst | 1 + python/automake.mk | 6 ++++++ python/setup.py | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 55 insertions(+) create mode 100644 python/.gitignore create mode 100644 python/README.rst create mode 100644 python/setup.py diff --git a/python/.gitignore b/python/.gitignore new file mode 100644 index 0000000..60ace6f --- /dev/null +++ b/python/.gitignore @@ -0,0 +1,2 @@ +dist/ +*.egg-info diff --git a/python/README.rst b/python/README.rst new file mode 100644 index 0000000..4f4742c --- /dev/null +++ b/python/README.rst @@ -0,0 +1 @@ +Python library for working with Open vSwitch diff --git a/python/automake.mk b/python/automake.mk index f6ab606..7053eff 100644 --- a/python/automake.mk +++ b/python/automake.mk @@ -62,6 +62,12 @@ ovs-install-data-local: $(MKDIR_P) $(DESTDIR)$(pkgdatadir)/python/ovs $(INSTALL_DATA) python/ovs/dirs.py.tmp $(DESTDIR)$(pkgdatadir)/python/ovs/dirs.py rm python/ovs/dirs.py.tmp + +python-sdist: $(srcdir)/python/ovs/version.py $(ovs_pyfiles) python/ovs/dirs.py + (cd python/ && $(PYTHON) setup.py sdist) + +pypi-upload: $(srcdir)/python/ovs/version.py $(ovs_pyfiles) python/ovs/dirs.py + (cd python/ && $(PYTHON) setup.py sdist upload) else ovs-install-data-local: @: diff --git a/python/setup.py b/python/setup.py new file mode 100644 index 0000000..889d215 --- /dev/null +++ b/python/setup.py @@ -0,0 +1,46 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from __future__ import print_function +import sys + +import setuptools + +VERSION = "unknown" + +try: + # Try to set the version from the generated ovs/version.py + execfile("ovs/version.py") +except IOError: + print("Ensure version.py is created by running make python/ovs/version.py", + file=sys.stderr) + sys.exit(-1) + + +setuptools.setup( + name='ovs', + description='Open vSwitch library', + version=VERSION, + url='http://www.openvswitch.org/', + author='Open vSwitch', + author_email='dev@openvswitch.org', + packages=['ovs', 'ovs.db', 'ovs.unixctl'], + keywords=['openvswitch', 'ovs', 'OVSDB'], + license='Apache 2.0', + classifiers=[ + 'Development Status :: 5 - Production/Stable', + 'Topic :: Database :: Front-Ends', + 'Topic :: Software Development :: Libraries :: Python Modules', + 'Topic :: System :: Networking', + 'License :: OSI Approved :: Apache Software License' + ] +) -- 1.9.3 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev