[packages/xen/DEVEL-4.14] - build with python3 by default
qboosh
qboosh at pld-linux.org
Mon Nov 8 20:39:38 CET 2021
commit 11aefea4ef0005a54d3d0a8058c0ac836af0733d
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Mon Nov 8 20:39:27 2021 +0100
- build with python3 by default
xen-python_scripts.patch | 36 --------------------
xen.spec | 87 ++++++++++++++++++++++++++++++++++++++++++++++--
2 files changed, 84 insertions(+), 39 deletions(-)
---
diff --git a/xen.spec b/xen.spec
index f01352d..9af20a9 100644
--- a/xen.spec
+++ b/xen.spec
@@ -17,6 +17,7 @@
%bcond_without brlapi # brlapi support in Xen qemu
%bcond_with golang # Go library
%bcond_without ocaml # Ocaml libraries for Xen tools
+%bcond_with python2 # CPython 2.x module instead of 3.x
%bcond_without efi # EFI hypervisor
%bcond_without hypervisor # Xen hypervisor build
%bcond_without stubdom # stubdom build
@@ -83,6 +84,7 @@ Source58: xen.efi-boot-update
Source59: vif-openvswitch
Source60: xen-init-list
Source61: xen-toolstack
+# shebang patch for python2-only scripts
Patch0: %{name}-python_scripts.patch
Patch1: %{name}-symbols.patch
Patch2: %{name}-link.patch
@@ -140,8 +142,13 @@ BuildRequires: pandoc
BuildRequires: perl-base
BuildRequires: perl-tools-pod
BuildRequires: pkgconfig
+%if %{with python2}
BuildRequires: python-devel >= 1:2.7
BuildRequires: python-markdown
+%else
+BuildRequires: python3-devel >= 1:3.2
+BuildRequires: python3-markdown
+%endif
BuildRequires: rpm-pythonprov
BuildRequires: rpmbuild(macros) >= 1.647
BuildRequires: seabios
@@ -185,7 +192,11 @@ Requires: gawk
Requires: iptables
Requires: losetup
Requires: net-tools
+%if %{with python2}
Requires: python-%{name} = %{version}-%{release}
+%else
+Requires: python3-%{name} = %{version}-%{release}
+%endif
Requires: rc-scripts
Requires: sed
Requires: systemd-units >= 38
@@ -349,6 +360,32 @@ Xen Python modules for both dom0 and domU virtual machines.
%description -n python-xen-guest -l pl.UTF-8
Moduły Pythona dla maszyn wirtualnych dom0 i domU.
+%package -n python3-xen
+Summary: Xen Python 3 modules
+Summary(pl.UTF-8): Moduły Pythona 3 dla Xena
+Group: Libraries
+Requires: %{name}-libs = %{version}-%{release}
+Obsoletes: python-xen < %{version}-%{release}
+
+%description -n python3-xen
+Xen Python 3 modules.
+
+%description -n python3-xen -l pl.UTF-8
+Moduły Pythona 3 dla Xena.
+
+%package -n python3-xen-guest
+Summary: Xen Python 3 modules for virtual machines
+Summary(pl.UTF-8): Moduły Pythona 3 dla maszyn wirtualnych Xena
+Group: Libraries
+Requires: %{name}-libs-guest = %{version}-%{release}
+Obsoletes: python-xen-guest < %{version}-%{release}
+
+%description -n python3-xen-guest
+Xen Python 3 modules for both dom0 and domU virtual machines.
+
+%description -n python3-xen-guest -l pl.UTF-8
+Moduły Pythona 3 dla maszyn wirtualnych dom0 i domU.
+
%package -n bash-completion-%{name}
Summary: bash-completion for Xen (xl)
Summary(pl.UTF-8): Bashowe dopełnianie poleceń dla Xena (xl)
@@ -407,6 +444,16 @@ ln -s %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} stubdom
ln -s %{SOURCE17} %{SOURCE18} %{SOURCE19} stubdom
ln -s %{SOURCE15} tools/firmware/etherboot/ipxe.tar.gz
+
+%if %{with python2}
+%{__sed} -i -e '1s,/usr/bin/env python$,%{__python},' \
+%else
+%{__sed} -i -e '1s,/usr/bin/env python$,%{__python3},' \
+%endif
+ tools/pygrub/src/pygrub \
+ tools/python/scripts/{convert-legacy-stream,verify-stream-v2} \
+ tools/xenmon/xenmon.py
+
# do not allow fetching anything via git
echo GIT=/bin/false >> Config.mk
@@ -433,7 +480,7 @@ export PATH=$(pwd)/our-ld:$PATH
%configure \
CPPFLAGS="%{rpmcppflags} -I/usr/include/ncurses" \
- PYTHON=%{__python} \
+ %{?with_python2:PYTHON=%{__python}} \
ac_cv_lib_gcrypt_gcry_md_hash_buffer=no \
ac_cv_lib_iconv_libiconv_open=no \
--disable-debug \
@@ -536,10 +583,15 @@ install %{SOURCE59} $RPM_BUILD_ROOT%{_sysconfdir}/xen/scripts/vif-openvswitch
install -d _doc
cp -p tools/pygrub/README _doc/README.pygrub
+%if %{with python2}
%py_comp $RPM_BUILD_ROOT%{py_sitedir}
%py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
%py_postclean
+%else
+%py3_comp $RPM_BUILD_ROOT%{py3_sitedir}
+%py3_ocomp $RPM_BUILD_ROOT%{py3_sitedir}
+%endif
# remove unneeded files
%if %{with hypervisor}
@@ -898,6 +950,7 @@ fi
%{_libdir}/ocaml/xentoollog/*.cm[aixo]*
%endif
+%if %{with python2}
%files -n python-xen
%defattr(644,root,root,755)
%attr(755,root,root) %{py_sitedir}/xenfsimage.so
@@ -913,11 +966,39 @@ fi
%files -n python-xen-guest
%defattr(644,root,root,755)
%dir %{py_sitedir}/xen
-%{py_sitedir}/xen/__init__.py*
+%{py_sitedir}/xen/__init__.py[co]
%dir %{py_sitedir}/xen/lowlevel
-%{py_sitedir}/xen/lowlevel/__init__.py*
+%{py_sitedir}/xen/lowlevel/__init__.py[co]
%attr(755,root,root) %{py_sitedir}/xen/lowlevel/xs.so
+%else
+
+%files -n python3-xen
+%defattr(644,root,root,755)
+%attr(755,root,root) %{py3_sitedir}/xenfsimage.cpython-*.so
+%dir %{py3_sitedir}/xen
+%dir %{py3_sitedir}/xen/__pycache__
+%{py3_sitedir}/xen/util.py
+%{py3_sitedir}/xen/__pycache__/util.cpython-*.py[co]
+%dir %{py3_sitedir}/xen/lowlevel
+%attr(755,root,root) %{py3_sitedir}/xen/lowlevel/xc.cpython-*.so
+%{py3_sitedir}/xen/migration
+%{py3_sitedir}/grub
+%{py3_sitedir}/pygrub-*-py*.egg-info
+%{py3_sitedir}/xen-*-py*.egg-info
+
+%files -n python3-xen-guest
+%defattr(644,root,root,755)
+%dir %{py3_sitedir}/xen
+%dir %{py3_sitedir}/xen/__pycache__
+%{py3_sitedir}/xen/__init__.py*
+%{py3_sitedir}/xen/__pycache__/__init__.cpython-*.py[co]
+%dir %{py3_sitedir}/xen/lowlevel
+%{py3_sitedir}/xen/lowlevel/__init__.py
+%{py3_sitedir}/xen/lowlevel/__pycache__
+%attr(755,root,root) %{py3_sitedir}/xen/lowlevel/xs.cpython-*.so
+%endif
+
%files -n bash-completion-%{name}
%defattr(644,root,root,755)
/etc/bash_completion.d/xl.sh
diff --git a/xen-python_scripts.patch b/xen-python_scripts.patch
index bfceff4..7772c7e 100644
--- a/xen-python_scripts.patch
+++ b/xen-python_scripts.patch
@@ -24,42 +24,6 @@ diff -ur xen-4.13.1/tools/misc/xenpvnetboot xen-4.13.1.py/tools/misc/xenpvnetboo
#
# Copyright (C) 2010 Oracle. All rights reserved.
#
-diff -ur xen-4.13.1/tools/pygrub/src/pygrub xen-4.13.1.py/tools/pygrub/src/pygrub
---- xen-4.13.1/tools/pygrub/src/pygrub 2020-06-07 19:59:07.463276639 +0200
-+++ xen-4.13.1.py/tools/pygrub/src/pygrub 2020-06-07 19:58:48.203256360 +0200
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2
- #
- # pygrub - simple python-based bootloader for Xen
- #
-diff -ur xen-4.13.1/tools/python/scripts/convert-legacy-stream xen-4.13.1.py/tools/python/scripts/convert-legacy-stream
---- xen-4.13.1/tools/python/scripts/convert-legacy-stream 2020-05-14 14:19:32.000000000 +0200
-+++ xen-4.13.1.py/tools/python/scripts/convert-legacy-stream 2020-06-07 19:58:48.203256360 +0200
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2
- # -*- coding: utf-8 -*-
-
- """
-diff -ur xen-4.13.1/tools/python/scripts/verify-stream-v2 xen-4.13.1.py/tools/python/scripts/verify-stream-v2
---- xen-4.13.1/tools/python/scripts/verify-stream-v2 2020-05-14 14:19:32.000000000 +0200
-+++ xen-4.13.1.py/tools/python/scripts/verify-stream-v2 2020-06-07 19:58:48.203256360 +0200
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2
- # -*- coding: utf-8 -*-
-
- """ Verify a v2 format migration stream """
-diff -ur xen-4.13.1/tools/xenmon/xenmon.py xen-4.13.1.py/tools/xenmon/xenmon.py
---- xen-4.13.1/tools/xenmon/xenmon.py 2020-05-14 14:19:32.000000000 +0200
-+++ xen-4.13.1.py/tools/xenmon/xenmon.py 2020-06-07 19:58:48.203256360 +0200
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2
-
- #####################################################################
- # xenmon is a front-end for xenbaked.
diff -ur xen-4.13.1/tools/xentrace/xentrace_format xen-4.13.1.py/tools/xentrace/xentrace_format
--- xen-4.13.1/tools/xentrace/xentrace_format 2020-05-14 14:19:32.000000000 +0200
+++ xen-4.13.1.py/tools/xentrace/xentrace_format 2020-06-07 19:58:48.203256360 +0200
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/xen.git/commitdiff/11aefea4ef0005a54d3d0a8058c0ac836af0733d
More information about the pld-cvs-commit
mailing list