From: Jakub Bogusz Date: Sat, 6 Nov 2021 07:21:39 +0000 (+0100) Subject: - updated to 4.14.3; stick to python2 for now X-Git-Tag: auto/th/xen-4.14.5-1~3 X-Git-Url: http://git.pld-linux.org/?p=packages%2Fxen.git;a=commitdiff_plain;h=a61f325 - updated to 4.14.3; stick to python2 for now --- 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 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)