[libvirt] [PATCH python v2] Add python3 to the automated build and RPM

Daniel P. Berrange berrange at redhat.com
Thu Dec 12 11:26:30 UTC 2013


From: "Daniel P. Berrange" <berrange at redhat.com>

This updates autobuild.sh to test the python3 build process.
The RPM specfile is changed to build a libvirt-python3 RPM
on Fedora > 18

Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
---
 autobuild.sh           | 14 +++++++++----
 libvirt-python.spec.in | 53 +++++++++++++++++++++++++++++++++++++++++++++-----
 2 files changed, 58 insertions(+), 9 deletions(-)

diff --git a/autobuild.sh b/autobuild.sh
index b3beaf1..5dffe96 100755
--- a/autobuild.sh
+++ b/autobuild.sh
@@ -7,11 +7,17 @@ set -ve
 rm -rf MANIFEST dist build
 
 
-python setup.py sdist
+python2 setup.py sdist
 
-python setup.py build
-python setup.py test
-python setup.py install --root="$AUTOBUILD_INSTALL_ROOT"
+python2 setup.py build
+python2 setup.py test
+python2 setup.py install --root="$AUTOBUILD_INSTALL_ROOT"
+
+if test -f /usr/bin/python3 ; then
+  python3 setup.py build
+  python3 setup.py test
+  python3 setup.py install --root="$AUTOBUILD_INSTALL_ROOT"
+fi
 
 type -p /usr/bin/rpmbuild > /dev/null 2>&1 || exit 0
 
diff --git a/libvirt-python.spec.in b/libvirt-python.spec.in
index 7c6257e..ac399cb 100644
--- a/libvirt-python.spec.in
+++ b/libvirt-python.spec.in
@@ -1,5 +1,10 @@
 
-Summary: The libvirt virtualization API python binding
+%define with_python3 0
+%if 0%{?fedora} > 18
+%define with_python3 1
+%endif
+
+Summary: The libvirt virtualization API python2 binding
 Name: libvirt-python
 Version: @PY_VERSION@
 Release: 1%{?dist}%{?extra_release}
@@ -9,6 +14,17 @@ License: LGPLv2+
 Group: Development/Libraries
 BuildRequires: libvirt-devel >= @C_VERSION@
 BuildRequires: python-devel
+%if %{with_python3}
+BuildRequires: python3-devel
+%endif
+
+%if %{with_python3}
+%package -n libvirt-python3
+Summary: The libvirt virtualization API python3 binding
+Url: http://libvirt.org
+License: LGPLv2+
+Group: Development/Libraries
+%endif
 
 # Don't want provides for python shared objects
 %{?filter_provides_in: %filter_provides_in %{python_sitearch}/.*\.so}
@@ -20,22 +36,49 @@ 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).
 
+%if %{with_python3}
+%description -n libvirt-python3
+The libvirt-python package contains a module that permits applications
+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
+
 %prep
 %setup -q
 
 %build
 CFLAGS="$RPM_OPT_FLAGS" %{__python} setup.py build
+%if %{with_python3}
+CFLAGS="$RPM_OPT_FLAGS" %{__python3} setup.py build
+%endif
 
 %install
 %{__python} setup.py install --skip-build --root=%{buildroot}
+%if %{with_python3}
+%{__python3} setup.py install --skip-build --root=%{buildroot}
+%endif
 rm -f %{buildroot}%{_libdir}/python*/site-packages/*egg-info
 
 %files
 %defattr(-,root,root)
 %doc ChangeLog AUTHORS NEWS README COPYING COPYING.LESSER examples/
-%{_libdir}/python*/site-packages/libvirt.py*
-%{_libdir}/python*/site-packages/libvirt_qemu.py*
-%{_libdir}/python*/site-packages/libvirt_lxc.py*
-%{_libdir}/python*/site-packages/libvirtmod*
+%{_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*
+
+%if %{with_python3}
+%files -n libvirt-python3
+%defattr(-,root,root)
+%doc ChangeLog AUTHORS NEWS README COPYING COPYING.LESSER examples/
+%{_libdir}/python3*/site-packages/libvirt.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/libvirtmod*
+%endif
 
 %changelog
-- 
1.8.3.1




More information about the libvir-list mailing list