New upstream development version 1.51.8

This commit is contained in:
Richard W.M. Jones 2023-11-16 13:34:00 +00:00
parent 57a9beeac9
commit 78db150555
4 changed files with 7 additions and 146 deletions

View File

@ -1,26 +0,0 @@
From 0e37e5feeaf4380bc971a3105ead8e779a94fa36 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Mon, 30 Oct 2023 14:31:26 +0000
Subject: [PATCH] appliance: Allow dhcpcd to be used on Red Hat platforms
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2247057
Fixes: https://github.com/libguestfs/libguestfs/issues/121
---
appliance/packagelist.in | 1 +
1 file changed, 1 insertion(+)
diff --git a/appliance/packagelist.in b/appliance/packagelist.in
index d3a945792e..3095234431 100644
--- a/appliance/packagelist.in
+++ b/appliance/packagelist.in
@@ -28,6 +28,7 @@ ifelse(REDHAT,1,
cryptsetup
cryptsetup-luks dnl old name used before Fedora 17
dhclient
+ dhcpcd
gfs-utils
gfs2-utils
glibc-gconv-extra dnl syslinux requires IBM850 iconv converter
--
2.42.0

View File

@ -1,108 +0,0 @@
From f8cbd7140095279e40b36415d5b6fc5c36e96a40 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Fri, 6 Oct 2023 11:15:55 +0100
Subject: [PATCH] daemon: Find -lcamlstr{nat,byt} and -lunix{nat,byt}, and
require -lzstd
OCaml 5.1 changes the names of these libraries for some reason.
Also in OCaml 5.1, if using those libraries you must link with -lzstd.
Since zstd was already described as "required" (although we only used
it in the appliance), there is no official change to the requirements,
but I have added a configure time check for the library.
Thanks: Jerry James <loganjerry@gmail.com>
---
daemon/Makefile.am | 8 +++++---
m4/guestfs-libraries.m4 | 3 +++
m4/guestfs-ocaml.m4 | 41 +++++++++++++++++++++++++++++++++++++++++
3 files changed, 49 insertions(+), 3 deletions(-)
diff --git a/daemon/Makefile.am b/daemon/Makefile.am
index 01c0f6416c..b44d7712f8 100644
--- a/daemon/Makefile.am
+++ b/daemon/Makefile.am
@@ -376,9 +376,11 @@ OCAML_LIBS = \
-lmlstdutils \
-lmlaugeas \
-lmlhivex \
- -lcamlstr \
- -lunix \
- -l$(CAMLRUN) -ldl -lm
+ -l$(CAMLSTR) \
+ -l$(CAMLUNIX) \
+ -l$(CAMLRUN) \
+ $(LIBZSTD_LIBS) \
+ -ldl -lm
CLEANFILES += camldaemon.o
diff --git a/m4/guestfs-libraries.m4 b/m4/guestfs-libraries.m4
index 29d012a378..18c4cd3074 100644
--- a/m4/guestfs-libraries.m4
+++ b/m4/guestfs-libraries.m4
@@ -248,6 +248,9 @@ PKG_CHECK_MODULES([PCRE2], [libpcre2-8], [], [
PCRE_LIBS=`$PCRE2_CONFIG --libs8`
])
+dnl Check for zstd (required since OCaml 5.1)
+PKG_CHECK_MODULES([LIBZSTD], [libzstd])
+
dnl Check for Augeas >= 1.2.0 (required).
PKG_CHECK_MODULES([AUGEAS],[augeas >= 1.2.0])
diff --git a/m4/guestfs-ocaml.m4 b/m4/guestfs-ocaml.m4
index 39a8346f3e..25b06408c1 100644
--- a/m4/guestfs-ocaml.m4
+++ b/m4/guestfs-ocaml.m4
@@ -122,6 +122,47 @@ if test "x$enable_daemon" = "xyes"; then
AC_MSG_ERROR([could not find or link to libasmrun or libcamlrun])
fi
AC_SUBST([CAMLRUN])
+
+ dnl OCaml 5.1 changed -lcamlstr to -lcamlstrnat / -lcamlstrbyt
+ dnl and -lunix to -lunixnat / -lunixbyt so we need to detect
+ dnl the new or old libraries. As above we cannot use AC_CHECK_LIB.
+ AC_MSG_CHECKING([how to link the daemon with -lcamlstr*])
+ if test "x$OCAMLOPT" != "xno"; then
+ choices="camlstrnat camlstr"
+ else
+ choices="camlstrbyt camlstr"
+ fi
+ for f in $choices; do
+ if test -f "$OCAMLLIB/lib$f.a"; then
+ CAMLSTR=$f
+ break
+ fi
+ done
+ if test "x$CAMLSTR" != "x"; then
+ AC_MSG_RESULT([$CAMLSTR])
+ else
+ AC_MSG_ERROR([could not find or link to -lcamlstr*])
+ fi
+ AC_SUBST([CAMLSTR])
+
+ AC_MSG_CHECKING([how to link the daemon with -lunix*])
+ if test "x$OCAMLOPT" != "xno"; then
+ choices="unixnat unix"
+ else
+ choices="unixbyt unix"
+ fi
+ for f in $choices; do
+ if test -f "$OCAMLLIB/lib$f.a"; then
+ CAMLUNIX=$f
+ break
+ fi
+ done
+ if test "x$CAMLUNIX" != "x"; then
+ AC_MSG_RESULT([$CAMLUNIX])
+ else
+ AC_MSG_ERROR([could not find or link to -lunix*])
+ fi
+ AC_SUBST([CAMLUNIX])
fi
dnl Define HIVEX_OPEN_UNSAFE_FLAG based on test above.
--
2.41.0

View File

@ -49,8 +49,8 @@ ExcludeArch: %{ix86}
Summary: Access and modify virtual machine disk images
Name: libguestfs
Epoch: 1
Version: 1.51.7
Release: 6%{?dist}
Version: 1.51.8
Release: 1%{?dist}
License: LGPL-2.1-or-later
# Build only for architectures that have a kernel
@ -84,14 +84,6 @@ Source7: libguestfs.keyring
# Maintainer script which helps with handling patches.
Source8: copy-patches.sh
# Fix linking the daemon on OCaml 5.1
# Upstream in >= 1.51.8
Patch: 0001-daemon-Find-lcamlstr-nat-byt-and-lunix-nat-byt-and-r.patch
# Allow dhcpcd to be used on Red Hat platforms
# Upstream in >= 1.51.8
Patch: 0001-appliance-Allow-dhcpcd-to-be-used-on-Red-Hat-platfor.patch
%if 0%{patches_touch_autotools}
BuildRequires: autoconf, automake, libtool, gettext-devel
%endif
@ -1102,6 +1094,9 @@ rm ocaml/html/.gitignore
%changelog
* Thu Jul 20 2023 Richard W.M. Jones <rjones@redhat.com> - 1:1.51.8-1
- New upstream development version 1.51.8
* Tue Nov 14 2023 Richard W.M. Jones <rjones@redhat.com> - 1:1.51.7-6
- Don't pull in selinux-policy as a requires

View File

@ -1,2 +1,2 @@
SHA512 (libguestfs-1.51.7.tar.gz) = 2d2e76003edcce6850b865c43557d97a7cfa737be81d3aa5cd255307ea2caed677748b49988089f868ec16434778e23eaedb91421d838252170cf20a7fb714f7
SHA512 (libguestfs-1.51.7.tar.gz.sig) = cbecb6818d21e52f57293c2722def29b85ede94d91be0fb43aa8428ed6f2165d44c62173853db441b8ffcd757222f44ee5d6ecf5ef842e444aaed36e119c51ac
SHA512 (libguestfs-1.51.8.tar.gz) = f13a985183d714483a613b233635b052a121babf397fc5d1872f02d3cfdc31d48382fde23077cff55527fb9e1634083b0984e6ac5ce8348ecfcc6f56e5c0c502
SHA512 (libguestfs-1.51.8.tar.gz.sig) = b40ce55831c4e8cffc18fea0ae5533597766dd46bb6fcf8b88aaf7a1a9ea9fc4b41587faf3ddc0b9dec8844ad497873a3501c3c6756b26113974e4cbf26a8e79