Add support for nbd+unix:// URIs
resolves: RHEL-33956
This commit is contained in:
parent
164bfc174f
commit
e0af17cd3e
@ -0,0 +1,47 @@
|
||||
From 76080541ae09c6242e0a162009c5faec3ba94b41 Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Thu, 29 Feb 2024 21:27:47 +0000
|
||||
Subject: [PATCH] inspector/inspector.c: Remove extra cases covered by default
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
In GCC 14:
|
||||
|
||||
inspector.c: In function ‘do_xpath’:
|
||||
inspector.c:770:3: error: case value ‘5’ not in enumerated type ‘xmlXPathObjectType’ [-Werror=switch]
|
||||
770 | case XPATH_POINT:
|
||||
| ^~~~
|
||||
inspector.c:771:3: error: case value ‘6’ not in enumerated type ‘xmlXPathObjectType’ [-Werror=switch]
|
||||
771 | case XPATH_RANGE:
|
||||
| ^~~~
|
||||
inspector.c:772:3: error: case value ‘7’ not in enumerated type ‘xmlXPathObjectType’ [-Werror=switch]
|
||||
772 | case XPATH_LOCATIONSET:
|
||||
| ^~~~
|
||||
|
||||
We already have a default case here, remove the other cases.
|
||||
|
||||
(cherry picked from commit 9d2ac9c9b48bf34f5fc3485303143302ead4cb4f)
|
||||
---
|
||||
inspector/inspector.c | 8 --------
|
||||
1 file changed, 8 deletions(-)
|
||||
|
||||
diff --git a/inspector/inspector.c b/inspector/inspector.c
|
||||
index 73357c7d7..01abfae0c 100644
|
||||
--- a/inspector/inspector.c
|
||||
+++ b/inspector/inspector.c
|
||||
@@ -764,14 +764,6 @@ do_xpath (const char *query)
|
||||
printf ("\n");
|
||||
break;
|
||||
|
||||
- case XPATH_UNDEFINED: /* grrrrr ... switch-enum is a useless warning */
|
||||
- case XPATH_BOOLEAN:
|
||||
- case XPATH_NUMBER:
|
||||
- case XPATH_POINT:
|
||||
- case XPATH_RANGE:
|
||||
- case XPATH_LOCATIONSET:
|
||||
- case XPATH_USERS:
|
||||
- case XPATH_XSLT_TREE:
|
||||
default:
|
||||
r = (char *) xmlXPathCastToString (xpathObj);
|
||||
printf ("%s\n", r);
|
42
0006-m4-guestfs-c.m4-Re-add-.-configure-enable-werror.patch
Normal file
42
0006-m4-guestfs-c.m4-Re-add-.-configure-enable-werror.patch
Normal file
@ -0,0 +1,42 @@
|
||||
From dbc179ab026897be96651e7f9ca6026a3ebf540d Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Thu, 29 Feb 2024 21:20:59 +0000
|
||||
Subject: [PATCH] m4/guestfs-c.m4: Re-add ./configure --enable-werror
|
||||
|
||||
Somewhere during removal of gnulib and splitting guestfs-tools from
|
||||
libguestfs, this option was lost. Re-add it simply by copying the
|
||||
configure fragment over from libguestfs.
|
||||
|
||||
(cherry picked from commit 42426992a292b45611b00fcff42160854db09922)
|
||||
---
|
||||
m4/guestfs-c.m4 | 17 +++++++++++++++++
|
||||
1 file changed, 17 insertions(+)
|
||||
|
||||
diff --git a/m4/guestfs-c.m4 b/m4/guestfs-c.m4
|
||||
index bc7e3b2aa..67004d0a1 100644
|
||||
--- a/m4/guestfs-c.m4
|
||||
+++ b/m4/guestfs-c.m4
|
||||
@@ -29,6 +29,23 @@ test "x$U" != "x" && AC_MSG_ERROR([Compiler not ANSI compliant])
|
||||
|
||||
AM_PROG_CC_C_O
|
||||
|
||||
+AC_ARG_ENABLE([werror],
|
||||
+ [AS_HELP_STRING([--enable-werror],
|
||||
+ [turn on lots of GCC warnings (for developers)])],
|
||||
+ [case $enableval in
|
||||
+ yes|no) ;;
|
||||
+ *) AC_MSG_ERROR([bad value $enableval for werror option]) ;;
|
||||
+ esac
|
||||
+ gcc_warnings=$enableval],
|
||||
+ [gcc_warnings=no]
|
||||
+)
|
||||
+WARN_CFLAGS="-Wall"
|
||||
+AC_SUBST([WARN_CFLAGS])
|
||||
+if test "x$gcc_warnings" = "xyes"; then
|
||||
+ WERROR_CFLAGS="-Werror"
|
||||
+fi
|
||||
+AC_SUBST([WERROR_CFLAGS])
|
||||
+
|
||||
# Provide a global place to set CFLAGS. (Note that setting AM_CFLAGS
|
||||
# is no use because it doesn't override target_CFLAGS).
|
||||
#---
|
43
0007-make-fs-Use-S-option-with-z.patch
Normal file
43
0007-make-fs-Use-S-option-with-z.patch
Normal file
@ -0,0 +1,43 @@
|
||||
From 51b0bf74b249ac6646b7e083a678553fc40d44d7 Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Thu, 7 Mar 2024 12:00:45 +0000
|
||||
Subject: [PATCH] make-fs: Use -S option with -z
|
||||
|
||||
Basically the file -z option is broken for distributions that enable
|
||||
seccomp support in the 'file' command. Turn off seccomp when we know
|
||||
we'll be using -z.
|
||||
|
||||
We hit this before in the libguestfs daemon:
|
||||
https://github.com/libguestfs/libguestfs/issues/100
|
||||
|
||||
It was reported upstream but the fix was rejected:
|
||||
https://bugs.astron.com/view.php?id=406
|
||||
|
||||
See also libguestfs commit 23986d3c4f4d1f9cbac44cc743d3e6af721e4237
|
||||
("file: Use -S option with -z").
|
||||
|
||||
Note this requires file > 5.32. We could make it work for earlier
|
||||
versions of file with some extra work:
|
||||
https://listman.redhat.com/archives/libguestfs/2023-September/032613.html
|
||||
& libguestfs commit c95d8c4cf64142bb707b42c32cf3e1ba3c4a5eb1
|
||||
|
||||
Reported-by: Jax Young
|
||||
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2266201
|
||||
(cherry picked from commit a706f6f55345b06578fd1ca4af531524dc2131fb)
|
||||
---
|
||||
make-fs/make-fs.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/make-fs/make-fs.c b/make-fs/make-fs.c
|
||||
index 7837b61be..b8aebccfb 100644
|
||||
--- a/make-fs/make-fs.c
|
||||
+++ b/make-fs/make-fs.c
|
||||
@@ -457,7 +457,7 @@ estimate_input (const char *input, uint64_t *estimate_rtn, char **ifmt_rtn)
|
||||
}
|
||||
else {
|
||||
argv[0] = "file";
|
||||
- argv[1] = "-bsLz";
|
||||
+ argv[1] = "-bsSLz";
|
||||
argv[2] = input;
|
||||
argv[3] = NULL;
|
||||
|
@ -0,0 +1,28 @@
|
||||
From cc0ae4acabfc857f2bcee828e725a9d69dab5735 Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Tue, 12 Mar 2024 09:42:30 +0000
|
||||
Subject: [PATCH] sysprep: Make clearer that we do not support Windows
|
||||
|
||||
Thanks: Dan Kenigsberg
|
||||
(cherry picked from commit 82c0fb1231c1a9250104cff278f1c67ab482fa4b)
|
||||
---
|
||||
sysprep/virt-sysprep.pod | 6 ++----
|
||||
1 file changed, 2 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/sysprep/virt-sysprep.pod b/sysprep/virt-sysprep.pod
|
||||
index 0bcdc4dec..b48ac55c1 100644
|
||||
--- a/sysprep/virt-sysprep.pod
|
||||
+++ b/sysprep/virt-sysprep.pod
|
||||
@@ -30,10 +30,8 @@ disk image to be writable as the non-root user running virt-sysprep.
|
||||
|
||||
"Sysprep" stands for "system preparation" tool. The name comes from
|
||||
the Microsoft program F<sysprep.exe> which is used to unconfigure
|
||||
-Windows machines in preparation for cloning them. Having said that,
|
||||
-virt-sysprep does I<not> currently work on Microsoft Windows guests.
|
||||
-We plan to support Windows sysprepping in a future version, and we
|
||||
-already have code to do it.
|
||||
+Windows machines in preparation for cloning them. (Virt-sysprep does
|
||||
+not work on Microsoft Windows guests.)
|
||||
|
||||
=head1 OPTIONS
|
||||
|
@ -0,0 +1,63 @@
|
||||
From a103e367c4fd6bd073c324253833289f6a8ecc3a Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Tue, 12 Mar 2024 10:04:34 +0000
|
||||
Subject: [PATCH] build: Use DISTCLEANFILES for a generated but few rarely
|
||||
updated files
|
||||
|
||||
We rarely change the generated test scripts or the sysprep mli files,
|
||||
so we only need to delete them in 'make distclean', not 'make clean'.
|
||||
|
||||
(cherry picked from commit 35e15c68ac9c4e5361e4cf8a49a60a4bc2708d89)
|
||||
---
|
||||
builder/Makefile.am | 4 +++-
|
||||
customize/Makefile.am | 6 ++++--
|
||||
sysprep/Makefile.am | 2 +-
|
||||
3 files changed, 8 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/builder/Makefile.am b/builder/Makefile.am
|
||||
index 42606aaf3..b474f0c9d 100644
|
||||
--- a/builder/Makefile.am
|
||||
+++ b/builder/Makefile.am
|
||||
@@ -412,8 +412,10 @@ test-console-%.sh:
|
||||
chmod 0755 $@-t
|
||||
mv $@-t $@
|
||||
|
||||
+DISTCLEANFILES += \
|
||||
+ $(console_test_scripts)
|
||||
+
|
||||
CLEANFILES += \
|
||||
- $(console_test_scripts) \
|
||||
console-*.img \
|
||||
console-*.out
|
||||
|
||||
diff --git a/customize/Makefile.am b/customize/Makefile.am
|
||||
index 3a974590f..461629062 100644
|
||||
--- a/customize/Makefile.am
|
||||
+++ b/customize/Makefile.am
|
||||
@@ -285,9 +285,11 @@ test-settings-%.sh:
|
||||
chmod 0755 $@-t
|
||||
mv $@-t $@
|
||||
|
||||
+DISTCLEANFILES += \
|
||||
+ $(password_test_scripts) \
|
||||
+ $(settings_test_scripts)
|
||||
+
|
||||
CLEANFILES += \
|
||||
- $(password_test_scripts) \
|
||||
- $(settings_test_scripts) \
|
||||
password-*.img \
|
||||
password-*.log \
|
||||
settings-*.img
|
||||
diff --git a/sysprep/Makefile.am b/sysprep/Makefile.am
|
||||
index 4b29d4e10..4b1c23ce0 100644
|
||||
--- a/sysprep/Makefile.am
|
||||
+++ b/sysprep/Makefile.am
|
||||
@@ -179,7 +179,7 @@ virt_sysprep_LINK = \
|
||||
$(OBJECTS) -o $@
|
||||
|
||||
# The sysprep_operation_*.mli files are all empty and autogenerated.
|
||||
-CLEANFILES += \
|
||||
+DISTCLEANFILES += \
|
||||
$(patsubst %,sysprep_operation_%.mli,$(operations))
|
||||
|
||||
sysprep_operation_%.mli:
|
@ -0,0 +1,28 @@
|
||||
From 6ea88c2011b02a47058ba6d89af156983bd52a91 Mon Sep 17 00:00:00 2001
|
||||
From: Jerry James <loganjerry@gmail.com>
|
||||
Date: Fri, 12 Apr 2024 20:11:50 +0100
|
||||
Subject: [PATCH] Fix bytecode compilation to output whole exe instead of using
|
||||
-custom
|
||||
|
||||
These binaries are more resistant to being stripped.
|
||||
|
||||
Reported-by: Ilya Leoshkevich
|
||||
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2274708
|
||||
(cherry picked from commit c249fd5caca8f1eed439f83e2bb1af46c8a28a27)
|
||||
---
|
||||
subdir-rules.mk | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/subdir-rules.mk b/subdir-rules.mk
|
||||
index 6bd62b653..051dc9d5a 100644
|
||||
--- a/subdir-rules.mk
|
||||
+++ b/subdir-rules.mk
|
||||
@@ -49,7 +49,7 @@ LOG_DRIVER = env $(SHELL) $(top_srcdir)/build-aux/guestfs-test-driver
|
||||
|
||||
if !HAVE_OCAMLOPT
|
||||
MLARCHIVE = cma
|
||||
-LINK_CUSTOM_OCAMLC_ONLY = -custom
|
||||
+LINK_CUSTOM_OCAMLC_ONLY = -output-complete-exe
|
||||
BEST = c
|
||||
else
|
||||
MLARCHIVE = cmxa
|
@ -0,0 +1,42 @@
|
||||
From 8a942cdd8e6d1aa526844c428660d0bb4ca02770 Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Thu, 4 Apr 2024 09:38:28 +0100
|
||||
Subject: [PATCH] po-docs: Run po4a-translate and sed commands separately
|
||||
|
||||
I noticed that 1-byte translated POD files were being generated in the
|
||||
output directory (po-docs/ja/). This seems to have happened because
|
||||
po4a-translate was generating an error, but because we were
|
||||
immediately pipeing the output into sed the error was suppressed.
|
||||
|
||||
By running them as two separate commands this cannot happen.
|
||||
|
||||
Fixes: commit bd896d68c06d7f66303bd77daa666367b0de5f3a
|
||||
(cherry picked from libguestfs commit d755070346c0498672517c844d7ced52e9263197)
|
||||
|
||||
(cherry picked from commit 8c8da80adf8a9e3c350b010b5724a5ae7d9875b6)
|
||||
---
|
||||
po-docs/language.mk | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/po-docs/language.mk b/po-docs/language.mk
|
||||
index b4e3544ca..ba2e36998 100644
|
||||
--- a/po-docs/language.mk
|
||||
+++ b/po-docs/language.mk
|
||||
@@ -101,13 +101,16 @@ virt-sysprep.1: virt-sysprep.pod sysprep-extra-options.pod sysprep-operations.po
|
||||
# Remove both.
|
||||
# XXX Fix po4a so it doesn't do this.
|
||||
%.pod: $(srcdir)/../$(LINGUA).po
|
||||
+ rm -f $@ $@-t
|
||||
$(guestfs_am_v_po4a_translate)$(PO4A_TRANSLATE) \
|
||||
-f pod \
|
||||
-M utf-8 -L utf-8 \
|
||||
-k 0 \
|
||||
-m $(top_srcdir)/$(shell grep -E '/$(basename $@)(\.|$$)' $(top_srcdir)/po-docs/podfiles) \
|
||||
-p $< \
|
||||
- | $(SED) '0,/^=encoding/d' > $@
|
||||
+ -l $@-t
|
||||
+ $(SED) '0,/^=encoding/d' < $@-t > $@
|
||||
+ rm $@-t
|
||||
|
||||
# XXX Can automake do this properly?
|
||||
install-data-hook:
|
@ -0,0 +1,25 @@
|
||||
From 80806f5438c769b71e92a7669db029f5f243cfce Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Fri, 12 Apr 2024 22:06:55 +0100
|
||||
Subject: [PATCH] po-docs: Remove virt-dib from list of translated man pages
|
||||
|
||||
This page no longer exists.
|
||||
|
||||
Fixes: commit 57423d907270526ea664ff15601cce956353820e
|
||||
(cherry picked from commit 2e797d3bb4c8a13305a948e3d87e4eabfd692e17)
|
||||
---
|
||||
po-docs/language.mk | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/po-docs/language.mk b/po-docs/language.mk
|
||||
index ba2e36998..7328265e6 100644
|
||||
--- a/po-docs/language.mk
|
||||
+++ b/po-docs/language.mk
|
||||
@@ -30,7 +30,6 @@ MANPAGES = \
|
||||
virt-cat.1 \
|
||||
virt-customize.1 \
|
||||
virt-df.1 \
|
||||
- virt-dib.1 \
|
||||
virt-diff.1 \
|
||||
virt-edit.1 \
|
||||
virt-filesystems.1 \
|
65
0013-Update-common-submodule.patch
Normal file
65
0013-Update-common-submodule.patch
Normal file
@ -0,0 +1,65 @@
|
||||
From d0b1b1eaaebdff2cee004304e9d498cd2a720e23 Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Wed, 24 Apr 2024 12:23:34 +0100
|
||||
Subject: [PATCH] Update common submodule
|
||||
|
||||
In particular pick this:
|
||||
|
||||
commit 93a7f3af5c23ece6a8e092827ed5928a8973fd3c
|
||||
Author: Richard W.M. Jones <rjones@redhat.com>
|
||||
Date: Wed Apr 24 12:08:01 2024 +0100
|
||||
|
||||
options: Allow nbd+unix:// URIs
|
||||
|
||||
(cherry picked from commit 21a507d8aeb2d264863e1fbdfadc0ff44455ffb4)
|
||||
---
|
||||
common | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Submodule common 54869c987..93a7f3af5:
|
||||
diff --git a/common/options/uri.c b/common/options/uri.c
|
||||
index 84d393c1e..9180d6a27 100644
|
||||
--- a/common/options/uri.c
|
||||
+++ b/common/options/uri.c
|
||||
@@ -99,7 +99,7 @@ is_uri (const char *arg)
|
||||
return 0;
|
||||
|
||||
for (p--; p >= arg; p--) {
|
||||
- if (!c_islower (*p))
|
||||
+ if (! (c_islower (*p) || *p == '+'))
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -148,7 +148,10 @@ parse (const char *arg, char **path_ret, char **protocol_ret,
|
||||
}
|
||||
*/
|
||||
|
||||
- *protocol_ret = strdup (uri->scheme);
|
||||
+ if (STREQ (uri->scheme, "nbd+unix"))
|
||||
+ *protocol_ret = strdup ("nbd");
|
||||
+ else
|
||||
+ *protocol_ret = strdup (uri->scheme);
|
||||
if (*protocol_ret == NULL) {
|
||||
perror ("strdup: protocol");
|
||||
return -1;
|
||||
@@ -194,7 +197,7 @@ parse (const char *arg, char **path_ret, char **protocol_ret,
|
||||
if (path && path[0] == '/' &&
|
||||
(STREQ (uri->scheme, "gluster") ||
|
||||
STREQ (uri->scheme, "iscsi") ||
|
||||
- STREQ (uri->scheme, "nbd") ||
|
||||
+ STRPREFIX (uri->scheme, "nbd") ||
|
||||
STREQ (uri->scheme, "rbd") ||
|
||||
STREQ (uri->scheme, "sheepdog")))
|
||||
path++;
|
||||
diff --git a/common/progress/progress.c b/common/progress/progress.c
|
||||
index e4b30663f..5848abd70 100644
|
||||
--- a/common/progress/progress.c
|
||||
+++ b/common/progress/progress.c
|
||||
@@ -123,6 +123,7 @@ progress_bar_init (unsigned flags)
|
||||
bar->machine_readable = 1;
|
||||
bar->utf8_mode = 0;
|
||||
bar->have_terminfo = 0;
|
||||
+ bar->fp = NULL;
|
||||
} else {
|
||||
bar->machine_readable = 0;
|
||||
|
@ -7,7 +7,7 @@ set -e
|
||||
# ./copy-patches.sh
|
||||
|
||||
project=guestfs-tools
|
||||
rhel_version=9.4
|
||||
rhel_version=9.5
|
||||
|
||||
# Check we're in the right directory.
|
||||
if [ ! -f $project.spec ]; then
|
||||
|
@ -19,7 +19,7 @@
|
||||
Summary: Tools to access and modify virtual machine disk images
|
||||
Name: guestfs-tools
|
||||
Version: 1.51.6
|
||||
Release: 2%{?dist}
|
||||
Release: 3%{?dist}
|
||||
License: GPL-2.0-or-later AND LGPL-2.0-or-later
|
||||
|
||||
# Build only for architectures that have a kernel
|
||||
@ -45,13 +45,22 @@ Source2: libguestfs.keyring
|
||||
Source3: copy-patches.sh
|
||||
|
||||
# Patches are maintained in the following repository:
|
||||
# https://github.com/rwmjones/guestfs-tools/commits/rhel-9.4
|
||||
# https://github.com/rwmjones/guestfs-tools/commits/rhel-9.5
|
||||
|
||||
# Patches.
|
||||
Patch0001: 0001-Update-common-submodule.patch
|
||||
Patch0002: 0002-builder-Add-a-test-of-the-chown-parameter.patch
|
||||
Patch0003: 0003-RHEL-Reject-use-of-libguestfs-winsupport-features-ex.patch
|
||||
Patch0004: 0004-RHEL-builder-Disable-opensuse-repository.patch
|
||||
Patch0005: 0005-inspector-inspector.c-Remove-extra-cases-covered-by-.patch
|
||||
Patch0006: 0006-m4-guestfs-c.m4-Re-add-.-configure-enable-werror.patch
|
||||
Patch0007: 0007-make-fs-Use-S-option-with-z.patch
|
||||
Patch0008: 0008-sysprep-Make-clearer-that-we-do-not-support-Windows.patch
|
||||
Patch0009: 0009-build-Use-DISTCLEANFILES-for-a-generated-but-few-rar.patch
|
||||
Patch0010: 0010-Fix-bytecode-compilation-to-output-whole-exe-instead.patch
|
||||
Patch0011: 0011-po-docs-Run-po4a-translate-and-sed-commands-separate.patch
|
||||
Patch0012: 0012-po-docs-Remove-virt-dib-from-list-of-translated-man-.patch
|
||||
Patch0013: 0013-Update-common-submodule.patch
|
||||
|
||||
%if 0%{patches_touch_autotools}
|
||||
BuildRequires: autoconf, automake, libtool, gettext-devel
|
||||
@ -410,6 +419,10 @@ end
|
||||
|
||||
|
||||
%changelog
|
||||
* Wed Apr 24 2024 Richard W.M. Jones <rjones@redhat.com> - 1.51.6-3
|
||||
- Add support for nbd+unix:// URIs
|
||||
resolves: RHEL-33956
|
||||
|
||||
* Fri Jan 19 2024 Richard W.M. Jones <rjones@redhat.com> - 1.51.6-2
|
||||
- Rebase to guestfs-tools 1.51.6
|
||||
- Implement --key all:...
|
||||
|
Loading…
Reference in New Issue
Block a user