[packages/xen/DEVEL-4.14] - updated to 4.14.3; stick to python2 for now

qboosh qboosh at pld-linux.org
Sun Nov 7 21:13:22 CET 2021


commit a61f325288f030eb6163edc8f8fec6c2db4c1cb9
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Sat Nov 6 08:21:39 2021 +0100

    - updated to 4.14.3; stick to python2 for now

 xen-golang-32bit.patch                   | 94 ++++++++++++++++++++++++++++++++
 xen-net-disable-iptables-on-bridge.patch | 13 ++---
 xen-python_scripts.patch                 |  7 +--
 xen.spec                                 | 49 ++++++++++++-----
 4 files changed, 138 insertions(+), 25 deletions(-)
---
diff --git a/xen.spec b/xen.spec
index 2f2e65e..f01352d 100644
--- a/xen.spec
+++ b/xen.spec
@@ -15,6 +15,7 @@
 %bcond_without	sdl			# SDL support in Xen qemu
 %bcond_without	bluetooth		# bluetooth support in Xen qemu
 %bcond_without	brlapi			# brlapi support in Xen qemu
+%bcond_with	golang			# Go library
 %bcond_without	ocaml			# Ocaml libraries for Xen tools
 %bcond_without	efi			# EFI hypervisor
 %bcond_without	hypervisor		# Xen hypervisor build
@@ -40,13 +41,13 @@
 Summary:	Xen - a virtual machine monitor
 Summary(pl.UTF-8):	Xen - monitor maszyny wirtualnej
 Name:		xen
-Version:	4.13.4
+Version:	4.14.3
 Release:	1
 License:	GPL v2, interface parts on BSD-like
 Group:		Applications/System
 # for available versions see https://www.xenproject.org/developers/teams/hypervisor.html
 Source0:	https://downloads.xenproject.org/release/xen/%{version}/%{name}-%{version}.tar.gz
-# Source0-md5:	2ea8d0237b48b05af915131d7280b890
+# Source0-md5:	c6ec0bf5fb2969c1aab4c8c8a9b47950
 # used by stubdoms
 Source10:	%{xen_extfiles_url}/lwip-1.3.0.tar.gz
 # Source10-md5:	36cc57650cffda9a0269493be2a169bb
@@ -100,6 +101,7 @@ Patch13:	sysmacros.patch
 Patch14:	gcc9.patch
 Patch15:	gcc10.patch
 Patch16:	ocaml-4.12.patch
+Patch17:	%{name}-golang-32bit.patch
 URL:		http://www.xen.org/products/xenhyp.html
 BuildRequires:	autoconf >= 2.67
 %ifarch %{ix86} %{x8664}
@@ -116,11 +118,12 @@ BuildRequires:	checkpolicy
 BuildRequires:	cmake >= 2.4
 BuildRequires:	e2fsprogs-devel
 BuildRequires:	fig2dev
-BuildRequires:	gcc >= 6:4.1
+BuildRequires:	gcc >= 6:4.8
 %ifarch %{x8664}
 BuildRequires:	gcc-multilib-32 >= 6:4.1
 %endif
 BuildRequires:	gettext-tools
+%{?with_golang:BuildRequires:	golang >= 1.11}
 BuildRequires:	libaio-devel
 %ifarch %{arm} aarch64
 BuildRequires:	libfdt-devel >= 1.4.0
@@ -137,7 +140,7 @@ BuildRequires:	pandoc
 BuildRequires:	perl-base
 BuildRequires:	perl-tools-pod
 BuildRequires:	pkgconfig
-BuildRequires:	python-devel >= 1:2.6
+BuildRequires:	python-devel >= 1:2.7
 BuildRequires:	python-markdown
 BuildRequires:	rpm-pythonprov
 BuildRequires:	rpmbuild(macros) >= 1.647
@@ -395,6 +398,9 @@ Nadzorca Xen w postaci, która może być uruchomiona wprost z firmware
 %patch15 -p1
 %endif
 %patch16 -p1
+%ifarch %{ix86} %{arm}
+%patch17 -p1
+%endif
 
 # stubdom sources
 ln -s %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} stubdom
@@ -427,9 +433,11 @@ export PATH=$(pwd)/our-ld:$PATH
 
 %configure \
 	CPPFLAGS="%{rpmcppflags} -I/usr/include/ncurses" \
+	PYTHON=%{__python} \
 	ac_cv_lib_gcrypt_gcry_md_hash_buffer=no \
 	ac_cv_lib_iconv_libiconv_open=no \
 	--disable-debug \
+	%{!?with_golang:--disable-golang} \
 	%{__enable_disable qemu_traditional qemu-traditional} \
 	--with-system-seabios=/usr/share/seabios/bios.bin \
 %ifarch %{x8664}
@@ -536,7 +544,7 @@ cp -p tools/pygrub/README _doc/README.pygrub
 # remove unneeded files
 %if %{with hypervisor}
 %{__mv} xen/xen-syms $RPM_BUILD_ROOT/boot/%{name}-syms-%{version}
-%{__rm} $RPM_BUILD_ROOT/boot/xen-4.13.gz
+%{__rm} $RPM_BUILD_ROOT/boot/xen-4.14.gz
 %{__rm} $RPM_BUILD_ROOT/boot/xen-4.gz
 %endif
 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/xen
@@ -630,6 +638,7 @@ fi
 %attr(755,root,root) %{_bindir}/qemu-img-xen
 %attr(755,root,root) %{_bindir}/qemu-nbd-xen
 %endif
+%attr(755,root,root) %{_bindir}/vchan-socket-proxy
 %attr(755,root,root) %{_bindir}/xen-cpuid
 %attr(755,root,root) %{_bindir}/xenalyze
 %attr(755,root,root) %{_bindir}/xencons
@@ -643,6 +652,7 @@ fi
 %attr(755,root,root) %{_sbindir}/xenbaked
 %attr(755,root,root) %{_sbindir}/xenconsoled
 %attr(755,root,root) %{_sbindir}/xencov
+%attr(755,root,root) %{_sbindir}/xenhypfs
 %attr(755,root,root) %{_sbindir}/xenlockprof
 %attr(755,root,root) %{_sbindir}/xenmon
 %attr(755,root,root) %{_sbindir}/xenperf
@@ -678,6 +688,7 @@ fi
 %{_libexecdir}/%{name}/boot/xen-shim
 %endif
 %attr(744,root,root) %{_libexecdir}/%{name}/boot/hvmloader
+%{_mandir}/man1/xenhypfs.1*
 %{_mandir}/man1/xentop.1*
 %{_mandir}/man1/xentrace_format.1*
 %{_mandir}/man1/xl.1*
@@ -727,11 +738,11 @@ fi
 %files libs
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libxenfsimage.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libxenfsimage.so.4.13
+%attr(755,root,root) %ghost %{_libdir}/libxenfsimage.so.4.14
 %attr(755,root,root) %{_libdir}/libxencall.so.*.*
 %attr(755,root,root) %ghost %{_libdir}/libxencall.so.1
 %attr(755,root,root) %{_libdir}/libxenctrl.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libxenctrl.so.4.13
+%attr(755,root,root) %ghost %{_libdir}/libxenctrl.so.4.14
 %attr(755,root,root) %{_libdir}/libxendevicemodel.so.*.*
 %attr(755,root,root) %ghost %{_libdir}/libxendevicemodel.so.1
 %attr(755,root,root) %{_libdir}/libxenevtchn.so.*.*
@@ -741,19 +752,21 @@ fi
 %attr(755,root,root) %{_libdir}/libxengnttab.so.*.*
 %attr(755,root,root) %ghost %{_libdir}/libxengnttab.so.1
 %attr(755,root,root) %{_libdir}/libxenguest.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libxenguest.so.4.13
+%attr(755,root,root) %ghost %{_libdir}/libxenguest.so.4.14
+%attr(755,root,root) %{_libdir}/libxenhypfs.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libxenhypfs.so.1
 %attr(755,root,root) %{_libdir}/libxenlight.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libxenlight.so.4.13
+%attr(755,root,root) %ghost %{_libdir}/libxenlight.so.4.14
 %attr(755,root,root) %{_libdir}/libxenstat.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libxenstat.so.4.13
+%attr(755,root,root) %ghost %{_libdir}/libxenstat.so.4.14
 %attr(755,root,root) %{_libdir}/libxentoolcore.so.*.*
 %attr(755,root,root) %ghost %{_libdir}/libxentoolcore.so.1
 %attr(755,root,root) %{_libdir}/libxentoollog.so.*.*
 %attr(755,root,root) %ghost %{_libdir}/libxentoollog.so.1
 %attr(755,root,root) %{_libdir}/libxenvchan.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libxenvchan.so.4.13
+%attr(755,root,root) %ghost %{_libdir}/libxenvchan.so.4.14
 %attr(755,root,root) %{_libdir}/libxlutil.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libxlutil.so.4.13
+%attr(755,root,root) %ghost %{_libdir}/libxlutil.so.4.14
 %dir %{_libdir}/xenfsimage
 %dir %{_libdir}/xenfsimage/ext2fs-lib
 %dir %{_libdir}/xenfsimage/fat
@@ -779,6 +792,7 @@ fi
 %attr(755,root,root) %{_libdir}/libxenforeignmemory.so
 %attr(755,root,root) %{_libdir}/libxengnttab.so
 %attr(755,root,root) %{_libdir}/libxenguest.so
+%attr(755,root,root) %{_libdir}/libxenhypfs.so
 %attr(755,root,root) %{_libdir}/libxenlight.so
 %attr(755,root,root) %{_libdir}/libxenstat.so
 %attr(755,root,root) %{_libdir}/libxenstore.so
@@ -802,6 +816,7 @@ fi
 %{_pkgconfigdir}/xenforeignmemory.pc
 %{_pkgconfigdir}/xengnttab.pc
 %{_pkgconfigdir}/xenguest.pc
+%{_pkgconfigdir}/xenhypfs.pc
 %{_pkgconfigdir}/xenlight.pc
 %{_pkgconfigdir}/xenstat.pc
 %{_pkgconfigdir}/xenstore.pc
@@ -819,6 +834,7 @@ fi
 %{_libdir}/libxenforeignmemory.a
 %{_libdir}/libxengnttab.a
 %{_libdir}/libxenguest.a
+%{_libdir}/libxenhypfs.a
 %{_libdir}/libxenlight.a
 %{_libdir}/libxenvchan.a
 %{_libdir}/libxenstat.a
@@ -827,6 +843,10 @@ fi
 %{_libdir}/libxentoollog.a
 %{_libdir}/libxlutil.a
 
+# -n golang-xen
+# XXX: location?
+#%{_datadir}/gocode/src/golang.xenproject.org/xenlight
+
 %if %{with ocaml}
 %files -n ocaml-xen
 %defattr(644,root,root,755)
@@ -882,12 +902,13 @@ fi
 %defattr(644,root,root,755)
 %attr(755,root,root) %{py_sitedir}/xenfsimage.so
 %dir %{py_sitedir}/xen
+%{py_sitedir}/xen/util.py[co]
 %dir %{py_sitedir}/xen/lowlevel
 %attr(755,root,root) %{py_sitedir}/xen/lowlevel/xc.so
 %{py_sitedir}/xen/migration
 %{py_sitedir}/grub
-%{py_sitedir}/pygrub-*.egg-info
-%{py_sitedir}/xen-*.egg-info
+%{py_sitedir}/pygrub-*-py*.egg-info
+%{py_sitedir}/xen-*-py*.egg-info
 
 %files -n python-xen-guest
 %defattr(644,root,root,755)
diff --git a/xen-golang-32bit.patch b/xen-golang-32bit.patch
new file mode 100644
index 0000000..957191a
--- /dev/null
+++ b/xen-golang-32bit.patch
@@ -0,0 +1,94 @@
+Adjust types and sizes for 32-bit pointers
+--- xen-4.14.3/tools/golang/xenlight/gengotypes.py.orig	2021-09-10 14:30:40.000000000 +0200
++++ xen-4.14.3/tools/golang/xenlight/gengotypes.py	2021-11-07 17:39:55.516237472 +0100
+@@ -426,7 +426,7 @@
+     s += 'x.{0} = nil\n'.format(goname)
+     s += 'if n := int(xc.{0}); n > 0 {{\n'.format(clenvar)
+     s += '{0} := '.format(cslice)
+-    s +='(*[1<<28]C.{0})(unsafe.Pointer(xc.{1}))[:n:n]\n'.format(ctypename, cname)
++    s +='(*[(1<<22)]C.{0})(unsafe.Pointer(xc.{1}))[:n:n]\n'.format(ctypename, cname)
+     s += 'x.{0} = make([]{1}, n)\n'.format(goname, gotypename)
+     s += 'for i, v := range {0} {{\n'.format(cslice)
+ 
+@@ -603,7 +603,7 @@
+         s += 'xc.{0} = (*C.{1})(C.malloc(C.size_t({2}*{3})))\n'.format(cname,ctypename,
+                                                                    golenvar,golenvar)
+         s += 'xc.{0} = C.int({1})\n'.format(clenvar,golenvar)
+-        s += 'c{0} := (*[1<<28]C.{1})(unsafe.Pointer(xc.{2}))[:{3}:{4}]\n'.format(goname,
++        s += 'c{0} := (*[(1<<22)]C.{1})(unsafe.Pointer(xc.{2}))[:{3}:{4}]\n'.format(goname,
+                                                                       ctypename,cname,
+                                                                       golenvar,golenvar)
+         s += 'for i,v := range x.{0} {{\n'.format(goname)
+@@ -613,10 +613,10 @@
+         return s
+ 
+     s += 'if {0} := len(x.{1}); {2} > 0 {{\n'.format(golenvar,goname,golenvar)
+-    s += 'xc.{0} = (*C.{1})(C.malloc(C.ulong({2})*C.sizeof_{3}))\n'.format(cname,ctypename,
++    s += 'xc.{0} = (*C.{1})(C.malloc(C.size_t({2})*C.sizeof_{3}))\n'.format(cname,ctypename,
+                                                                    golenvar,ctypename)
+     s += 'xc.{0} = C.int({1})\n'.format(clenvar,golenvar)
+-    s += 'c{0} := (*[1<<28]C.{1})(unsafe.Pointer(xc.{2}))[:{3}:{4}]\n'.format(goname,
++    s += 'c{0} := (*[(1<<22)]C.{1})(unsafe.Pointer(xc.{2}))[:{3}:{4}]\n'.format(goname,
+                                                                          ctypename,cname,
+                                                                          golenvar,golenvar)
+     s += 'for i,v := range x.{0} {{\n'.format(goname)
+--- xen-4.14.3/tools/golang/xenlight/xenlight.go.orig	2021-09-10 14:30:40.000000000 +0200
++++ xen-4.14.3/tools/golang/xenlight/xenlight.go	2021-11-07 17:46:36.600731277 +0100
+@@ -478,7 +478,7 @@ type StringList []string
+ 
+ func (sl *StringList) fromC(csl *C.libxl_string_list) error {
+ 	size := int(C.libxl_string_list_length(csl))
+-	list := (*[1 << 30]*C.char)(unsafe.Pointer(csl))[:size:size]
++	list := (*[1 << 28]*C.char)(unsafe.Pointer(csl))[:size:size]
+ 
+ 	*sl = make([]string, size)
+ 
+@@ -492,8 +492,8 @@ func (sl *StringList) fromC(csl *C.libxl
+ func (sl StringList) toC(csl *C.libxl_string_list) error {
+ 	var char *C.char
+ 	size := len(sl)
+-	*csl = (C.libxl_string_list)(C.malloc(C.ulong(size) * C.ulong(unsafe.Sizeof(char))))
+-	clist := (*[1 << 30]*C.char)(unsafe.Pointer(csl))[:size:size]
++	*csl = (C.libxl_string_list)(C.malloc(C.size_t(size) * C.size_t(unsafe.Sizeof(char))))
++	clist := (*[1 << 28]*C.char)(unsafe.Pointer(csl))[:size:size]
+ 
+ 	for i, v := range sl {
+ 		clist[i] = C.CString(v)
+@@ -537,8 +537,8 @@ func (bm *Bitmap) toC(cbm *C.libxl_bitma
+ 	size := len(bm.bitmap)
+ 	cbm.size = C.uint32_t(size)
+ 	if cbm.size > 0 {
+-		cbm._map = (*C.uint8_t)(C.malloc(C.ulong(cbm.size) * C.sizeof_uint8_t))
+-		cs := (*[1 << 31]C.uint8_t)(unsafe.Pointer(cbm._map))[:size:size]
++		cbm._map = (*C.uint8_t)(C.malloc(C.size_t(cbm.size) * C.sizeof_uint8_t))
++		cs := (*[1 << 30]C.uint8_t)(unsafe.Pointer(cbm._map))[:size:size]
+ 
+ 		copy(cs, bm.bitmap)
+ 	}
+@@ -605,7 +605,7 @@ func (Ctx *Context) ListCpupool() (list
+ 	}
+ 
+ 	// Magic
+-	cpupoolListSlice := (*[1 << 30]C.libxl_cpupoolinfo)(unsafe.Pointer(c_cpupool_list))[:nbPool:nbPool]
++	cpupoolListSlice := (*[1 << 26]C.libxl_cpupoolinfo)(unsafe.Pointer(c_cpupool_list))[:nbPool:nbPool]
+ 	for i := range cpupoolListSlice {
+ 		var info Cpupoolinfo
+ 		_ = info.fromC(&cpupoolListSlice[i])
+@@ -1081,7 +1081,7 @@ func (Ctx *Context) ListDomain() (glist
+ 		return
+ 	}
+ 
+-	gslice := (*[1 << 30]C.libxl_dominfo)(unsafe.Pointer(clist))[:nbDomain:nbDomain]
++	gslice := (*[1 << 24]C.libxl_dominfo)(unsafe.Pointer(clist))[:nbDomain:nbDomain]
+ 	for i := range gslice {
+ 		var info Dominfo
+ 		_ = info.fromC(&gslice[i])
+@@ -1105,7 +1105,7 @@ func (Ctx *Context) ListVcpu(id Domid) (
+ 		return
+ 	}
+ 
+-	gslice := (*[1 << 30]C.libxl_vcpuinfo)(unsafe.Pointer(clist))[:nbVcpu:nbVcpu]
++	gslice := (*[1 << 25]C.libxl_vcpuinfo)(unsafe.Pointer(clist))[:nbVcpu:nbVcpu]
+ 	for i := range gslice {
+ 		var info Vcpuinfo
+ 		_ = info.fromC(&gslice[i])
diff --git a/xen-net-disable-iptables-on-bridge.patch b/xen-net-disable-iptables-on-bridge.patch
index 2f33eb4..a2e7a8c 100644
--- a/xen-net-disable-iptables-on-bridge.patch
+++ b/xen-net-disable-iptables-on-bridge.patch
@@ -9,13 +9,12 @@
  call_hooks vif post
  
  log debug "Successful vif-bridge $command for $dev, bridge $bridge."
-diff -dur -x '*.orig' -x '*.rej' -x '*~' xen-4.2.0.orig/tools/hotplug/Linux/xen-network-common.sh xen-4.2.0/tools/hotplug/Linux/xen-network-common.sh
---- xen-4.2.0.orig/tools/hotplug/Linux/xen-network-common.sh	2012-09-17 12:21:18.000000000 +0200
-+++ xen-4.2.0/tools/hotplug/Linux/xen-network-common.sh	2012-10-22 13:05:02.000000000 +0200
-@@ -115,6 +115,13 @@
- 	brctl addbr ${bridge}
- 	brctl stp ${bridge} off
- 	brctl setfd ${bridge} 0
+--- xen-4.14.3/tools/hotplug/Linux/xen-network-common.sh.orig	2021-11-06 16:48:34.064333399 +0100
++++ xen-4.14.3/tools/hotplug/Linux/xen-network-common.sh	2021-11-06 16:52:40.099667177 +0100
+@@ -118,6 +118,13 @@ create_bridge () {
+         else
+             ip link add name ${bridge} type bridge stp_state 0 forward_delay 0
+         fi
 +	# Setting these to zero stops guest<->LAN traffic
 +	# traversing the bridge from hitting the *tables
 +	# rulesets. guest<->host traffic still gets processed
diff --git a/xen-python_scripts.patch b/xen-python_scripts.patch
index 20cb194..bfceff4 100644
--- a/xen-python_scripts.patch
+++ b/xen-python_scripts.patch
@@ -7,11 +7,10 @@ diff -ur xen-4.13.1/tools/misc/xencons xen-4.13.1.py/tools/misc/xencons
  
  ##############################################
  # Console client for Xen guest OSes
-diff -ur xen-4.13.1/tools/misc/xencov_split xen-4.13.1.py/tools/misc/xencov_split
---- xen-4.13.1/tools/misc/xencov_split	2020-05-14 14:19:32.000000000 +0200
-+++ xen-4.13.1.py/tools/misc/xencov_split	2020-06-07 19:58:48.203256360 +0200
+--- xen-4.14.3/tools/misc/xencov_split.orig	2021-11-06 16:33:29.985897878 +0100
++++ xen-4.14.3/tools/misc/xencov_split	2021-11-06 16:46:44.168262090 +0100
 @@ -1,4 +1,4 @@
--#!/usr/bin/python
+-#!/usr/bin/env python
 +#!/usr/bin/python2
  
  import sys, os, os.path as path, struct, errno
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/xen.git/commitdiff/a61f325288f030eb6163edc8f8fec6c2db4c1cb9



More information about the pld-cvs-commit mailing list