diff -Nru libvirt-python-3.10.0/AUTHORS libvirt-python-4.0.0/AUTHORS --- libvirt-python-3.10.0/AUTHORS 2017-12-04 17:46:31.000000000 +0000 +++ libvirt-python-4.0.0/AUTHORS 2018-01-19 11:15:12.000000000 +0000 @@ -62,6 +62,7 @@ Oskari Saarenmaa Pavel Boldin Pavel Hrdina + Peng Hao Peter Krempa Philipp Hahn Prabodh Agarwal diff -Nru libvirt-python-3.10.0/ChangeLog libvirt-python-4.0.0/ChangeLog --- libvirt-python-3.10.0/ChangeLog 2017-12-04 17:46:31.000000000 +0000 +++ libvirt-python-4.0.0/ChangeLog 2018-01-19 11:15:12.000000000 +0000 @@ -1,3 +1,105 @@ +2018-01-19 Daniel Veillard + + Release of libvirt-python-4.0.0 + + +2018-01-12 Daniel P. Berrange + + Use python*_sitearch macros instead of manually defining the dir + Note we use python_sitearch not python2_sitearch, since the former + is more portable. + + Reviewed-by: Pavel Hrdina + + +2018-01-12 Daniel P. Berrange + + Fix filtering of RPM provides for .so files + Reviewed-by: Pavel Hrdina + + +2018-01-12 Daniel P. Berrange + + Require libvirt native version matching py version by default + Although we're capable of building against any libvirt >= 0.9.11, 99% of the + time we want RPM builds to be done against matching libvirt version, otherwise + we might silently build against an unexpected/wrong version. + + We don't support building against a native libvirt that's newer than the + python binding, since the generator may incorrectly handle new APIs. So use + == instead of >= too. + + Reviewed-by: Pavel Hrdina + + +2018-01-12 Daniel P. Berrange + + Turn on python3 sub-RPMs for RHEL > 7 + It is expected that future RHEL-8 will have python3 by default, so enable that. + It is unclear whether python2 will still be available, so leave that enabled + for now. + + Reviewed-by: Pavel Hrdina + + +2018-01-12 Daniel P. Berrange + + Adapt to rename of py2 RPMs from python- to python2- prefix + Reviewed-by: Pavel Hrdina + + +2018-01-12 Daniel P. Berrange + + Add emacs mode marker to activate rpm-spec highlighting + Reviewed-by: Pavel Hrdina + + +2018-01-12 Daniel P. Berrange + + Add checks for min supported distros + Be clear about which distros we aim to support with the specfile, so we know + what we can cleanup in the spec later. + + Reviewed-by: Pavel Hrdina + + +2018-01-12 Daniel P. Berrange + + Allow override of which sub-RPMs to build + Allow using + + rpmbuild --define "with_python2 0" + + to override the default logic about which python sub-RPMs to build + + Reviewed-by: Pavel Hrdina + + +2018-01-12 Daniel P. Berrange + + Allow disabling of python2 RPM build + With Fedora modularity, it is possible to have add-on repos for multiple + versions of python3. It is thus desirable to be able to build libvirt-python + in these repos, with only the python3 sub-RPMs enabled. + + Thus also helps if future RHEL/Fedora drop python2 entirely from their default + repos. + + Reviewed-by: Pavel Hrdina + + +2017-12-11 Peng Hao + + libvirt-python : PyObject memory leak + libvirt_virConnectDomainEventTunableCallback leak a PyObject. + + + +2017-12-04 Daniel Veillard + + Release of libvirt-python 3.10.0 + + 2017-11-30 Cédric Bosdonnat Don't hardcode interpreter path diff -Nru libvirt-python-3.10.0/debian/changelog libvirt-python-4.0.0/debian/changelog --- libvirt-python-3.10.0/debian/changelog 2017-12-07 00:24:19.000000000 +0000 +++ libvirt-python-4.0.0/debian/changelog 2018-01-24 00:35:27.000000000 +0000 @@ -1,8 +1,14 @@ -libvirt-python (3.10.0-1~cloud0) xenial-queens; urgency=medium +libvirt-python (4.0.0-1~cloud0) xenial-queens; urgency=medium * New upstream release for the Ubuntu Cloud Archive. - -- Openstack Ubuntu Testing Bot Thu, 07 Dec 2017 00:24:19 +0000 + -- Openstack Ubuntu Testing Bot Wed, 24 Jan 2018 00:35:27 +0000 + +libvirt-python (4.0.0-1) unstable; urgency=medium + + * [98db9b7] New upstream version 4.0.0 + + -- Guido Günther Tue, 23 Jan 2018 17:10:50 +0100 libvirt-python (3.10.0-1) unstable; urgency=medium diff -Nru libvirt-python-3.10.0/libvirt-override.c libvirt-python-4.0.0/libvirt-override.c --- libvirt-python-3.10.0/libvirt-override.c 2017-12-04 17:31:00.000000000 +0000 +++ libvirt-python-4.0.0/libvirt-override.c 2018-01-19 11:12:33.000000000 +0000 @@ -6662,11 +6662,11 @@ if (!pyobj_ret) { DEBUG("%s - ret:%p\n", __FUNCTION__, pyobj_ret); PyErr_Print(); - Py_XDECREF(pyobj_dict); } else { Py_DECREF(pyobj_ret); ret = 0; } + Py_XDECREF(pyobj_dict); LIBVIRT_RELEASE_THREAD_STATE; return ret; diff -Nru libvirt-python-3.10.0/libvirt-python.spec libvirt-python-4.0.0/libvirt-python.spec --- libvirt-python-3.10.0/libvirt-python.spec 2017-12-04 17:46:31.000000000 +0000 +++ libvirt-python-4.0.0/libvirt-python.spec 2018-01-19 11:15:12.000000000 +0000 @@ -1,21 +1,52 @@ +# -*- rpm-spec -*- -%define with_python3 0 -%if 0%{?fedora} -%define with_python3 1 +# This spec file assumes you are building on a Fedora or RHEL version +# that's still supported by the vendor. It may work on other distros +# or versions, but no effort will be made to ensure that going forward +%define min_rhel 6 +%define min_fedora 25 + +%if (0%{?fedora} && 0%{?fedora} >= %{min_fedora}) || (0%{?rhel} && 0%{?rhel} >= %{min_rhel}) + %define supported_platform 1 +%else + %define supported_platform 0 +%endif + +%define _with_python2 1 +%define _with_python3 0 +%if 0%{?fedora} || 0%{?rhel} > 7 +%define _with_python3 1 +%endif + +# Whether py2 packages are assumed to have python2- name prefix +%define py2_versioned_deps 0 +%if 0%{?fedora} || 0%{?rhel} > 7 +%define py2_versioned_deps 1 %endif +%{!?with_python2: %define with_python2 %{_with_python2}} +%{!?with_python3: %define with_python3 %{_with_python3}} + Summary: The libvirt virtualization API python2 binding Name: libvirt-python -Version: 3.10.0 +Version: 4.0.0 Release: 1%{?dist}%{?extra_release} Source0: http://libvirt.org/sources/python/%{name}-%{version}.tar.gz Url: http://libvirt.org License: LGPLv2+ Group: Development/Libraries -BuildRequires: libvirt-devel >= 0.9.11 +BuildRequires: libvirt-devel == %{version} +%if %{with_python2} +%if %{py2_versioned_deps} +BuildRequires: python2-devel +BuildRequires: python2-nose +BuildRequires: python2-lxml +%else BuildRequires: python-devel BuildRequires: python-nose BuildRequires: python-lxml +%endif +%endif %if %{with_python3} BuildRequires: python3-devel BuildRequires: python3-nose @@ -23,7 +54,12 @@ %endif # Don't want provides for python shared objects +%if %{with_python2} %{?filter_provides_in: %filter_provides_in %{python_sitearch}/.*\.so} +%endif +%if %{with_python3} +%{?filter_provides_in: %filter_provides_in %{python3_sitearch}/.*\.so} +%endif %{?filter_setup} %description @@ -32,6 +68,7 @@ supplied by the libvirt library to use the virtualization capabilities of recent versions of Linux (and other OSes). +%if %{with_python2} %package -n python2-libvirt Summary: The libvirt virtualization API python2 binding Url: http://libvirt.org @@ -46,6 +83,7 @@ written in the Python programming language to use the interface supplied by the libvirt library to use the virtualization capabilities of recent versions of Linux (and other OSes). +%endif %if %{with_python3} %package -n python3-libvirt @@ -73,46 +111,59 @@ find examples -type f -exec chmod 0644 \{\} \; %build +%if ! %{supported_platform} +echo "This RPM requires either Fedora >= %{min_fedora} or RHEL >= %{min_rhel}" +exit 1 +%endif + +%if %{with_python2} CFLAGS="$RPM_OPT_FLAGS" %{__python} setup.py build +%endif %if %{with_python3} CFLAGS="$RPM_OPT_FLAGS" %{__python3} setup.py build %endif %install +%if %{with_python2} %{__python} setup.py install --skip-build --root=%{buildroot} +%endif %if %{with_python3} %{__python3} setup.py install --skip-build --root=%{buildroot} %endif %check +%if %{with_python2} %{__python} setup.py test +%endif %if %{with_python3} %{__python3} setup.py test %endif +%if %{with_python2} %files -n python2-libvirt %defattr(-,root,root) %doc ChangeLog AUTHORS NEWS README COPYING COPYING.LESSER examples/ -%{_libdir}/python2*/site-packages/libvirt.py* -%{_libdir}/python2*/site-packages/libvirt_qemu.py* -%{_libdir}/python2*/site-packages/libvirt_lxc.py* -%{_libdir}/python2*/site-packages/libvirtmod* -%{_libdir}/python2*/site-packages/*egg-info +%{python_sitearch}/libvirt.py* +%{python_sitearch}/libvirt_qemu.py* +%{python_sitearch}/libvirt_lxc.py* +%{python_sitearch}/libvirtmod* +%{python_sitearch}/*egg-info +%endif %if %{with_python3} %files -n python3-libvirt %defattr(-,root,root) %doc ChangeLog AUTHORS NEWS README COPYING COPYING.LESSER examples/ -%{_libdir}/python3*/site-packages/libvirt.py* -%{_libdir}/python3*/site-packages/libvirtaio.py* -%{_libdir}/python3*/site-packages/libvirt_qemu.py* -%{_libdir}/python3*/site-packages/libvirt_lxc.py* -%{_libdir}/python3*/site-packages/__pycache__/libvirt.cpython-*.py* -%{_libdir}/python3*/site-packages/__pycache__/libvirt_qemu.cpython-*.py* -%{_libdir}/python3*/site-packages/__pycache__/libvirt_lxc.cpython-*.py* -%{_libdir}/python3*/site-packages/__pycache__/libvirtaio.cpython-*.py* -%{_libdir}/python3*/site-packages/libvirtmod* -%{_libdir}/python3*/site-packages/*egg-info +%{python3_sitearch}/libvirt.py* +%{python3_sitearch}/libvirtaio.py* +%{python3_sitearch}/libvirt_qemu.py* +%{python3_sitearch}/libvirt_lxc.py* +%{python3_sitearch}/__pycache__/libvirt.cpython-*.py* +%{python3_sitearch}/__pycache__/libvirt_qemu.cpython-*.py* +%{python3_sitearch}/__pycache__/libvirt_lxc.cpython-*.py* +%{python3_sitearch}/__pycache__/libvirtaio.cpython-*.py* +%{python3_sitearch}/libvirtmod* +%{python3_sitearch}/*egg-info %endif %changelog diff -Nru libvirt-python-3.10.0/PKG-INFO libvirt-python-4.0.0/PKG-INFO --- libvirt-python-3.10.0/PKG-INFO 2017-12-04 17:46:31.000000000 +0000 +++ libvirt-python-4.0.0/PKG-INFO 2018-01-19 11:15:12.000000000 +0000 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: libvirt-python -Version: 3.10.0 +Version: 4.0.0 Summary: The libvirt virtualization API python binding Home-page: http://www.libvirt.org Author: Libvirt Maintainers diff -Nru libvirt-python-3.10.0/setup.py libvirt-python-4.0.0/setup.py --- libvirt-python-3.10.0/setup.py 2017-12-04 17:46:24.000000000 +0000 +++ libvirt-python-4.0.0/setup.py 2018-01-19 11:13:20.000000000 +0000 @@ -175,8 +175,7 @@ f2 = open('libvirt-python.spec', 'w') for line in f1: f2.write(line - .replace('@PY_VERSION@', self.distribution.get_version()) - .replace('@C_VERSION@', MIN_LIBVIRT)) + .replace('@PY_VERSION@', self.distribution.get_version())) f1.close() f2.close() @@ -335,7 +334,7 @@ _c_modules, _py_modules = get_module_lists() setup(name = 'libvirt-python', - version = '3.10.0', + version = '4.0.0', url = 'http://www.libvirt.org', maintainer = 'Libvirt Maintainers', maintainer_email = 'libvir-list@redhat.com',