Accepting request 1031599 from Virtualization

Sync with SLE15-SP5 changelog and spec file. Include ocaml compiler fixes for SLE15-SP5

OBS-URL: https://build.opensuse.org/request/show/1031599
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/virt-v2v?expand=0&rev=8
This commit is contained in:
Dominique Leuenberger 2022-10-28 17:30:12 +00:00 committed by Git OBS Bridge
commit 76aaa7b33b
4 changed files with 169 additions and 1 deletions

View File

@ -0,0 +1,70 @@
SLE15-SP5 uses ocamlc version 4.05 where the Pervasives module is
used and it has no Stdlib module.
In ocamlc version 4.07 and newer, Pervasives is deprecated
and Stdlib should be used.
Index: virt-v2v-2.0.7/lib/create_ovf.ml
===================================================================
--- virt-v2v-2.0.7.orig/lib/create_ovf.ml
+++ virt-v2v-2.0.7/lib/create_ovf.ml
@@ -769,7 +769,7 @@ let rec create_ovf source inspect
if verbose () then (
eprintf "OVF:\n";
- doc_to_chan Stdlib.stderr ovf
+ doc_to_chan Pervasives.stderr ovf
);
(* Return the OVF document. *)
Index: virt-v2v-2.0.7/output/output_disk.ml
===================================================================
--- virt-v2v-2.0.7.orig/output/output_disk.ml
+++ virt-v2v-2.0.7/output/output_disk.ml
@@ -109,7 +109,7 @@ module Disk = struct
if verbose () then (
eprintf "resulting local libvirt XML:\n";
- DOM.doc_to_chan Stdlib.stderr doc;
+ DOM.doc_to_chan Pervasives.stderr doc;
eprintf "\n%!";
)
Index: virt-v2v-2.0.7/output/output_json.ml
===================================================================
--- virt-v2v-2.0.7.orig/output/output_json.ml
+++ virt-v2v-2.0.7/output/output_json.ml
@@ -138,7 +138,7 @@ module Json = struct
if verbose () then (
eprintf "resulting JSON:\n";
- output_string Stdlib.stderr doc_string;
+ output_string Pervasives.stderr doc_string;
eprintf "\n\n%!";
);
Index: virt-v2v-2.0.7/output/output_libvirt.ml
===================================================================
--- virt-v2v-2.0.7.orig/output/output_libvirt.ml
+++ virt-v2v-2.0.7/output/output_libvirt.ml
@@ -171,7 +171,7 @@ module Libvirt_ = struct
if verbose () then (
eprintf "resulting XML for libvirt:\n%!";
- DOM.doc_to_chan Stdlib.stderr doc;
+ DOM.doc_to_chan Pervasives.stderr doc;
eprintf "\n%!";
);
Index: virt-v2v-2.0.7/convert/convert.ml
===================================================================
--- virt-v2v-2.0.7.orig/convert/convert.ml
+++ virt-v2v-2.0.7/convert/convert.ml
@@ -130,7 +130,7 @@ and get_mpstats g =
if verbose () then (
(* This is useful for debugging speed / fstrim issues. *)
eprintf "mpstats:\n";
- List.iter (print_mpstat Stdlib.stderr) mpstats
+ List.iter (print_mpstat Pervasives.stderr) mpstats
);
mpstats

90
fix-linker-error.patch Normal file
View File

@ -0,0 +1,90 @@
Resolves the following error.
Similar to libguestfs commit 489b14b75e5f30010d8a8c8d3a10ecc52b629563
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: /usr/lib64/ocaml/guestfs/libmlguestfs.a(libguestfsocaml_a-guestfs-c.o): in function `guestfs_finalize':
/home/abuild/rpmbuild/BUILD/libguestfs-1.44.2/ocaml/guestfs-c.c:86: undefined reference to `rpl_free'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: /home/abuild/rpmbuild/BUILD/libguestfs-1.44.2/ocaml/guestfs-c.c:88: undefined reference to `rpl_free'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: /usr/lib64/ocaml/guestfs/libmlguestfs.a(libguestfsocaml_a-guestfs-c.o): in function `guestfs_int_ocaml_set_event_callback':
/home/abuild/rpmbuild/BUILD/libguestfs-1.44.2/ocaml/guestfs-c.c:239: undefined reference to `rpl_free'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: /usr/lib64/ocaml/guestfs/libmlguestfs.a(libguestfsocaml_a-guestfs-c.o): in function `guestfs_int_ocaml_delete_event_callback':
/home/abuild/rpmbuild/BUILD/libguestfs-1.44.2/ocaml/guestfs-c.c:266: undefined reference to `rpl_free'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: /usr/lib64/ocaml/guestfs/libmlguestfs.a(libguestfsocaml_a-guestfs-c.o): in function `guestfs_int_ocaml_event_to_string':
/home/abuild/rpmbuild/BUILD/libguestfs-1.44.2/ocaml/guestfs-c.c:290: undefined reference to `rpl_free'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: /usr/lib64/ocaml/guestfs/libmlguestfs.a(libguestfsocaml_a-guestfs-c-actions.o):/home/abuild/rpmbuild/BUILD/libguestfs-1.44.2/ocaml/guestfs-c-actions.c:1188: more undefined references to `rpl_free' follow
collect2: error: ld returned 1 exit status
File "caml_startup", line 1:
Error: Error during linking
Index: virt-v2v-1.44.0/gnulib/lib/free.c
===================================================================
--- /dev/null
+++ virt-v2v-1.44.0/gnulib/lib/free.c
@@ -0,0 +1,53 @@
+/* Make free() preserve errno.
+
+ Copyright (C) 2003, 2006, 2009-2021 Free Software Foundation, Inc.
+
+ This file is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License as
+ published by the Free Software Foundation; either version 2.1 of the
+ License, or (at your option) any later version.
+
+ This file is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+/* written by Paul Eggert */
+
+#include <config.h>
+
+/* Specification. */
+#include <stdlib.h>
+
+/* A function definition is only needed if HAVE_FREE_POSIX is not defined. */
+#if !HAVE_FREE_POSIX
+
+# include <errno.h>
+
+void
+rpl_free (void *p)
+# undef free
+{
+# if defined __GNUC__ && !defined __clang__
+ /* An invalid GCC optimization
+ <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98396>
+ would optimize away the assignments in the code below, when link-time
+ optimization (LTO) is enabled. Make the code more complicated, so that
+ GCC does not grok how to optimize it. */
+ int err[2];
+ err[0] = errno;
+ err[1] = errno;
+ errno = 0;
+ free (p);
+ errno = err[errno == 0];
+# else
+ int err = errno;
+ free (p);
+ errno = err;
+# endif
+}
+
+#endif
Index: virt-v2v-1.44.0/gnulib/lib/Makefile.am
===================================================================
--- virt-v2v-1.44.0.orig/gnulib/lib/Makefile.am
+++ virt-v2v-1.44.0/gnulib/lib/Makefile.am
@@ -35,7 +35,8 @@ libgnu_la_SOURCES = \
xstrtoll.c \
xstrtoul.c \
xstrtoull.c \
- xstrtoumax.c
+ xstrtoumax.c \
+ free.c
libutils_la_CFLAGS = \
$(WARN_CFLAGS) $(WERROR_CFLAGS) \
$(GCC_VISIBILITY_HIDDEN)

View File

@ -1,8 +1,15 @@
-------------------------------------------------------------------
Tue Oct 4 14:00:46 MDT 2022 - carnold@suse.com
- jsc#PED-2113 [Virt Tools] Refresh Virtualization Tools for Xen
and KVM Management
-------------------------------------------------------------------
Tue Jul 12 16:03:38 MDT 2022 - carnold@suse.com
- Update to version 2.0.7
* This is a bug fix release
fix-compiler-error-Stdlib.stderr.patch
- Drop patch contained in new tarball
CVE-2022-2211-options-fix-buffer-overflow-in-get_keys.patch
@ -52,7 +59,6 @@ Thu May 12 14:40:29 MDT 2022 - carnold@suse.com
guests. This tool was deprecated and then removed in oVirt 4.3.
* Deprecated tool virt-v2v-copy-to-local has been removed.
This was deprecated in November 2018.
- Drop fix-linker-error.patch
-------------------------------------------------------------------
Thu Jan 6 15:56:46 MST 2022 - carnold@suse.com

View File

@ -28,6 +28,8 @@ Summary: Tools to convert a virtual machine to run on KVM
License: GPL-2.0-or-later
Group: System/Management
URL: https://github.com/libguestfs/virt-v2v
Patch0: fix-linker-error.patch
Patch1: fix-compiler-error-Stdlib.stderr.patch
Source0: https://download.libguestfs.org/virt-v2v/%{source_directory}/%{name}-%{version}.tar.gz
Source1: https://download.libguestfs.org/virt-v2v/%{source_directory}/%{name}-%{version}.tar.gz.sig