Compare commits
No commits in common. "c10s" and "c9-beta" have entirely different histories.
5
.gitignore
vendored
5
.gitignore
vendored
@ -1,3 +1,2 @@
|
|||||||
*~
|
SOURCES/guestfs-tools-1.52.2.tar.gz
|
||||||
/guestfs-tools-*.tar.gz
|
SOURCES/libguestfs.keyring
|
||||||
/guestfs-tools-*.tar.gz.sig
|
|
||||||
|
2
.guestfs-tools.metadata
Normal file
2
.guestfs-tools.metadata
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
6eb02f4f70cb224548567ce7e4b67712c8ebb643 SOURCES/guestfs-tools-1.52.2.tar.gz
|
||||||
|
1bbc40f501a7fef9eef2a39b701a71aee2fea7c4 SOURCES/libguestfs.keyring
|
@ -1,4 +1,4 @@
|
|||||||
From dd696d00b4de2d255d66565b7207e04070656585 Mon Sep 17 00:00:00 2001
|
From 1107ededf2cad9982befb4d4b90353117b29d474 Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Tue, 7 Jul 2015 09:28:03 -0400
|
Date: Tue, 7 Jul 2015 09:28:03 -0400
|
||||||
Subject: [PATCH] RHEL: Reject use of libguestfs-winsupport features except for
|
Subject: [PATCH] RHEL: Reject use of libguestfs-winsupport features except for
|
@ -1,4 +1,4 @@
|
|||||||
From c1261a19aa4cd137f2d2c34c3640d971bb62bcb4 Mon Sep 17 00:00:00 2001
|
From 517a2ad502fa3773db50e883c0bece69b03b31ca Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Mon, 21 Nov 2022 13:03:22 +0000
|
Date: Mon, 21 Nov 2022 13:03:22 +0000
|
||||||
Subject: [PATCH] RHEL: builder: Disable opensuse repository
|
Subject: [PATCH] RHEL: builder: Disable opensuse repository
|
@ -1,4 +1,4 @@
|
|||||||
From d3153501860dd9327cdd9c9f5ead0883918b0643 Mon Sep 17 00:00:00 2001
|
From 1cb20d561c6b2e93980ba9c7c7269b32f6d768eb Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Thu, 16 May 2024 12:49:24 +0100
|
Date: Thu, 16 May 2024 12:49:24 +0100
|
||||||
Subject: [PATCH] customize: Implement --inject-blnsvr operation
|
Subject: [PATCH] customize: Implement --inject-blnsvr operation
|
@ -1,4 +1,4 @@
|
|||||||
From 63c5e9f6ce92f789d6b08a70d2f2abdaf9dc3b0c Mon Sep 17 00:00:00 2001
|
From 9cdb27fb0fde8b2eb57453480c4fed4746414aeb Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Tue, 22 Oct 2024 11:01:25 +0100
|
Date: Tue, 22 Oct 2024 11:01:25 +0100
|
||||||
Subject: [PATCH] build: Add new dependency on json-c
|
Subject: [PATCH] build: Add new dependency on json-c
|
@ -1,4 +1,4 @@
|
|||||||
From 2c090e270c1acea49949914c8995c94932e70e12 Mon Sep 17 00:00:00 2001
|
From 02a911960b5916df93bf896afc94c8d250797f17 Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Tue, 22 Oct 2024 11:07:01 +0100
|
Date: Tue, 22 Oct 2024 11:07:01 +0100
|
||||||
Subject: [PATCH] builder: Replace jansson with json-c
|
Subject: [PATCH] builder: Replace jansson with json-c
|
@ -1,4 +1,4 @@
|
|||||||
From 2df96c458b98e9eb994970a8040972a1e22636dd Mon Sep 17 00:00:00 2001
|
From 5879249a32d50ab746f515abc2679b91f64a2098 Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Tue, 22 Oct 2024 15:22:18 +0100
|
Date: Tue, 22 Oct 2024 15:22:18 +0100
|
||||||
Subject: [PATCH] build: Remove Jansson dependency
|
Subject: [PATCH] build: Remove Jansson dependency
|
@ -0,0 +1,151 @@
|
|||||||
|
From 065f95e7afa45bf465e8799baa11c019f9403bd6 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
|
Date: Wed, 19 Feb 2025 15:15:30 +0000
|
||||||
|
Subject: [PATCH] test-data: phony fedora: Add simple static /bin/sh
|
||||||
|
|
||||||
|
This is able to do enough to run commands via g#sh and related calls
|
||||||
|
inside the phony Fedora image.
|
||||||
|
|
||||||
|
(cherry picked from commit 4c5854f54e1da0d96807acb1b047bbf34694a0bb)
|
||||||
|
---
|
||||||
|
cat/test-virt-ls.sh | 1 +
|
||||||
|
test-data/phony-guests/fedora.c | 76 +++++++++++++++++++++--
|
||||||
|
test-data/phony-guests/make-fedora-img.pl | 6 +-
|
||||||
|
3 files changed, 76 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/cat/test-virt-ls.sh b/cat/test-virt-ls.sh
|
||||||
|
index e98faa42b..577a44860 100755
|
||||||
|
--- a/cat/test-virt-ls.sh
|
||||||
|
+++ b/cat/test-virt-ls.sh
|
||||||
|
@@ -24,6 +24,7 @@ skip_if_skipped
|
||||||
|
# Read out the test directory using virt-ls.
|
||||||
|
if [ "$($VG virt-ls --format=raw -a ../test-data/phony-guests/fedora.img /bin)" != "ls
|
||||||
|
rpm
|
||||||
|
+sh
|
||||||
|
test1
|
||||||
|
test2
|
||||||
|
test3
|
||||||
|
diff --git a/test-data/phony-guests/fedora.c b/test-data/phony-guests/fedora.c
|
||||||
|
index c57fa57cc..df097e9e6 100644
|
||||||
|
--- a/test-data/phony-guests/fedora.c
|
||||||
|
+++ b/test-data/phony-guests/fedora.c
|
||||||
|
@@ -16,13 +16,14 @@
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
-/* This is "just enough" of a binary to look like RPM and dracut, as
|
||||||
|
- * far as virt-v2v is concerned.
|
||||||
|
+/* This is "just enough" of a binary to look like /bin/sh, RPM and
|
||||||
|
+ * dracut, as far as virt-v2v is concerned.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
+#include <unistd.h>
|
||||||
|
|
||||||
|
/* NB: This is also defined in make-fedora-img.pl */
|
||||||
|
#define KVER "5.19.0-0.rc1.14.fc37.x86_64"
|
||||||
|
@@ -34,6 +35,27 @@ get_basename (const char *str)
|
||||||
|
return ret == NULL ? str : ret + 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
+static void
|
||||||
|
+add_str (char ***argv, size_t *argc, char *str)
|
||||||
|
+{
|
||||||
|
+ (*argc)++;
|
||||||
|
+ (*argv) = realloc (*argv, *argc * sizeof (char *));
|
||||||
|
+ (*argv)[*argc-1] = str;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static void
|
||||||
|
+add_null (char ***argv, size_t *argc)
|
||||||
|
+{
|
||||||
|
+ add_str (argv, argc, NULL);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static void
|
||||||
|
+add (char ***argv, size_t *argc, const char *s, size_t len)
|
||||||
|
+{
|
||||||
|
+ char *copy = strndup (s, len);
|
||||||
|
+ add_str (argv, argc, copy);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
int
|
||||||
|
main (int argc, char *argv[])
|
||||||
|
{
|
||||||
|
@@ -57,10 +79,54 @@ main (int argc, char *argv[])
|
||||||
|
strcmp (get_basename (argv[0]), "dracut") == 0) {
|
||||||
|
// do nothing, pretend to rebuild the initramfs
|
||||||
|
}
|
||||||
|
+ else if (argc == 3 &&
|
||||||
|
+ strcmp (get_basename (argv[0]), "sh") == 0 &&
|
||||||
|
+ strcmp (argv[1], "-c") == 0) {
|
||||||
|
+ /* Split the command and execute it. Only handles trivial cases. */
|
||||||
|
+ char *cmd = argv[2];
|
||||||
|
+ char **cmdv = NULL;
|
||||||
|
+ size_t i, cmdvlen = 0, n;
|
||||||
|
+ const size_t len = strlen (cmd);
|
||||||
|
+
|
||||||
|
+ for (i = 0; i < len;) {
|
||||||
|
+ switch (cmd[i]) {
|
||||||
|
+ case ' ': case '\t':
|
||||||
|
+ i++;
|
||||||
|
+ continue;
|
||||||
|
+
|
||||||
|
+ case '"':
|
||||||
|
+ n = strcspn (&cmd[i+1], "\"");
|
||||||
|
+ add (&cmdv, &cmdvlen, &cmd[i+1], n);
|
||||||
|
+ i += n+2;
|
||||||
|
+ break;
|
||||||
|
+
|
||||||
|
+ case '\'':
|
||||||
|
+ n = strcspn (&cmd[i+1], "'");
|
||||||
|
+ add (&cmdv, &cmdvlen, &cmd[i+1], n);
|
||||||
|
+ i += n+2;
|
||||||
|
+ break;
|
||||||
|
+
|
||||||
|
+ default:
|
||||||
|
+ n = strcspn (&cmd[i], " \t");
|
||||||
|
+ add (&cmdv, &cmdvlen, &cmd[i], n);
|
||||||
|
+ i += n;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ add_null (&cmdv, &cmdvlen);
|
||||||
|
+
|
||||||
|
+ execvp (cmdv[0], cmdv);
|
||||||
|
+ perror (cmdv[0]);
|
||||||
|
+ exit (EXIT_FAILURE);
|
||||||
|
+ }
|
||||||
|
else {
|
||||||
|
- fprintf (stderr, "phony Fedora: unknown command\n");
|
||||||
|
- exit (1);
|
||||||
|
+ int i;
|
||||||
|
+
|
||||||
|
+ fprintf (stderr, "ERROR: test-data/phony-guests/fedora.c: "
|
||||||
|
+ "unexpected command:\n");
|
||||||
|
+ for (i = 0; i < argc; ++i)
|
||||||
|
+ fprintf (stderr, "argv[%d] = %s\n", i, argv[i]);
|
||||||
|
+ exit (EXIT_FAILURE);
|
||||||
|
}
|
||||||
|
|
||||||
|
- exit (0);
|
||||||
|
+ exit (EXIT_SUCCESS);
|
||||||
|
}
|
||||||
|
diff --git a/test-data/phony-guests/make-fedora-img.pl b/test-data/phony-guests/make-fedora-img.pl
|
||||||
|
index 0de506324..fef8ce032 100755
|
||||||
|
--- a/test-data/phony-guests/make-fedora-img.pl
|
||||||
|
+++ b/test-data/phony-guests/make-fedora-img.pl
|
||||||
|
@@ -369,8 +369,10 @@ $g->ln_s ('/bin/test1', '/bin/test5');
|
||||||
|
$g->mkfifo (0777, '/bin/test6');
|
||||||
|
$g->mknod (0777, 10, 10, '/bin/test7');
|
||||||
|
|
||||||
|
-# Virt-v2v needs an RPM command, or at least something which acts
|
||||||
|
-# similarly, and also a dracut command.
|
||||||
|
+# Virt-v2v needs a /bin/sh, an RPM command and a dracut command, or at
|
||||||
|
+# least something which acts similarly to those.
|
||||||
|
+$g->upload ('fedora-static-bin', '/bin/sh');
|
||||||
|
+$g->chmod (0777, '/bin/sh');
|
||||||
|
$g->upload ('fedora-static-bin', '/bin/rpm');
|
||||||
|
$g->chmod (0777, '/bin/rpm');
|
||||||
|
$g->upload ('fedora-static-bin', '/sbin/dracut');
|
@ -0,0 +1,343 @@
|
|||||||
|
From 777f3ac82c20469c9e438b9fd88a57007fd2c2bb Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
|
Date: Wed, 19 Feb 2025 14:16:13 +0000
|
||||||
|
Subject: [PATCH] drivers: Handle large output from 'rpm -ql' command
|
||||||
|
|
||||||
|
This requires the new guestfs_sh_out API from libguestfs 1.55.6.
|
||||||
|
|
||||||
|
Update common submodule to include:
|
||||||
|
|
||||||
|
Richard W.M. Jones (3):
|
||||||
|
mlstdutils: Reimplement String.find, add String.find_from
|
||||||
|
mlstdutils: Reimplement String.nsplit tail recursively
|
||||||
|
mldrivers: Handle large output from 'rpm -ql' command
|
||||||
|
|
||||||
|
Fixes: https://issues.redhat.com/browse/RHEL-80214
|
||||||
|
Reported-by: Nijin Ashok
|
||||||
|
(cherry picked from commit 5520f1cfae55377c2fe1db3f2974f6006822e0ea)
|
||||||
|
---
|
||||||
|
common | 2 +-
|
||||||
|
m4/guestfs-libraries.m4 | 5 ++---
|
||||||
|
2 files changed, 3 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
Submodule common 766384a45..ee88791e1:
|
||||||
|
diff --git a/common/mldrivers/linux.ml b/common/mldrivers/linux.ml
|
||||||
|
index 4e30a8e1f..0dec15495 100644
|
||||||
|
--- a/common/mldrivers/linux.ml
|
||||||
|
+++ b/common/mldrivers/linux.ml
|
||||||
|
@@ -58,76 +58,84 @@ and do_remove g root packages =
|
||||||
|
|
||||||
|
let file_list_of_package (g : Guestfs.guestfs) root app =
|
||||||
|
let package_format = g#inspect_get_package_format root in
|
||||||
|
- match package_format with
|
||||||
|
- | "deb" ->
|
||||||
|
- let cmd = [| "dpkg"; "-L"; app.G.app2_name |] in
|
||||||
|
- debug "%s" (String.concat " " (Array.to_list cmd));
|
||||||
|
- let files = g#command_lines cmd in
|
||||||
|
- let files = Array.to_list files in
|
||||||
|
+
|
||||||
|
+ let cmd =
|
||||||
|
+ match package_format with
|
||||||
|
+ | "deb" -> sprintf "dpkg -L %s" (quote app.G.app2_name)
|
||||||
|
+
|
||||||
|
+ | "rpm" ->
|
||||||
|
+ (* Since RPM allows multiple packages installed with the same
|
||||||
|
+ * name, always check the full NEVR here (RHBZ#1161250).
|
||||||
|
+ *
|
||||||
|
+ * In RPM < 4.11 query commands that use the epoch number in the
|
||||||
|
+ * package name did not work.
|
||||||
|
+ *
|
||||||
|
+ * For example:
|
||||||
|
+ * RHEL 6 (rpm 4.8.0):
|
||||||
|
+ * $ rpm -q tar-2:1.23-11.el6.x86_64
|
||||||
|
+ * package tar-2:1.23-11.el6.x86_64 is not installed
|
||||||
|
+ * Fedora 20 (rpm 4.11.2):
|
||||||
|
+ * $ rpm -q tar-2:1.26-30.fc20.x86_64
|
||||||
|
+ * tar-1.26-30.fc20.x86_64
|
||||||
|
+ *)
|
||||||
|
+ let is_rpm_lt_4_11 () =
|
||||||
|
+ let ver =
|
||||||
|
+ try
|
||||||
|
+ (* Since we're going to run 'rpm' below anyway, seems safe
|
||||||
|
+ * to run it here and assume the binary works.
|
||||||
|
+ *)
|
||||||
|
+ let cmd = [| "rpm"; "--version" |] in
|
||||||
|
+ debug "%s" (String.concat " " (Array.to_list cmd));
|
||||||
|
+ let ver = g#command_lines cmd in
|
||||||
|
+ let ver =
|
||||||
|
+ if Array.length ver > 0 then ver.(0) else raise Not_found in
|
||||||
|
+ debug "%s" ver;
|
||||||
|
+ let ver = String.nsplit " " ver in
|
||||||
|
+ let ver =
|
||||||
|
+ match ver with
|
||||||
|
+ | [ "RPM"; "version"; ver ] -> ver
|
||||||
|
+ | _ -> raise Not_found in
|
||||||
|
+ if not (PCRE.matches re_version ver) then raise Not_found;
|
||||||
|
+ (int_of_string (PCRE.sub 1), int_of_string (PCRE.sub 2))
|
||||||
|
+ with Not_found ->
|
||||||
|
+ (* 'rpm' not installed? Hmm... *)
|
||||||
|
+ (0, 0) in
|
||||||
|
+ ver < (4, 11)
|
||||||
|
+ in
|
||||||
|
+ let pkg_name =
|
||||||
|
+ if app.G.app2_epoch = Int32.zero || is_rpm_lt_4_11 () then
|
||||||
|
+ sprintf "%s-%s-%s" app.G.app2_name app.G.app2_version
|
||||||
|
+ app.G.app2_release
|
||||||
|
+ else
|
||||||
|
+ sprintf "%s-%ld:%s-%s" app.G.app2_name app.G.app2_epoch
|
||||||
|
+ app.G.app2_version app.G.app2_release in
|
||||||
|
+ sprintf "rpm -ql %s" (quote pkg_name)
|
||||||
|
+
|
||||||
|
+ | format ->
|
||||||
|
+ error (f_"don’t know how to get list of files from package using %s")
|
||||||
|
+ format in
|
||||||
|
+
|
||||||
|
+ debug "file_list_of_package: running: %s" cmd;
|
||||||
|
+
|
||||||
|
+ (* Some packages have a lot of files, too many to list without
|
||||||
|
+ * breaking the maximum message size assumption in libguestfs.
|
||||||
|
+ * To cope with this, use guestfs_sh_out, added in 1.55.6.
|
||||||
|
+ * https://issues.redhat.com/browse/RHEL-80080
|
||||||
|
+ *)
|
||||||
|
+ let tmpfile = Filename.temp_file "v2vcmd" ".out" in
|
||||||
|
+ On_exit.unlink tmpfile;
|
||||||
|
+ g#sh_out cmd tmpfile;
|
||||||
|
+ let files = read_whole_file tmpfile in
|
||||||
|
+
|
||||||
|
+ (* RPM prints "(contains no files)" on stdout when a package
|
||||||
|
+ * has no files in it:
|
||||||
|
+ * https://github.com/rpm-software-management/rpm/issues/962
|
||||||
|
+ *)
|
||||||
|
+ if String.is_prefix files "(contains no files)" then []
|
||||||
|
+ else (
|
||||||
|
+ let files = String.nsplit "\n" files in
|
||||||
|
List.sort compare files
|
||||||
|
-
|
||||||
|
- | "rpm" ->
|
||||||
|
- (* Since RPM allows multiple packages installed with the same
|
||||||
|
- * name, always check the full NEVR here (RHBZ#1161250).
|
||||||
|
- *
|
||||||
|
- * In RPM < 4.11 query commands that use the epoch number in the
|
||||||
|
- * package name did not work.
|
||||||
|
- *
|
||||||
|
- * For example:
|
||||||
|
- * RHEL 6 (rpm 4.8.0):
|
||||||
|
- * $ rpm -q tar-2:1.23-11.el6.x86_64
|
||||||
|
- * package tar-2:1.23-11.el6.x86_64 is not installed
|
||||||
|
- * Fedora 20 (rpm 4.11.2):
|
||||||
|
- * $ rpm -q tar-2:1.26-30.fc20.x86_64
|
||||||
|
- * tar-1.26-30.fc20.x86_64
|
||||||
|
- *)
|
||||||
|
- let is_rpm_lt_4_11 () =
|
||||||
|
- let ver =
|
||||||
|
- try
|
||||||
|
- (* Since we're going to run 'rpm' below anyway, seems safe
|
||||||
|
- * to run it here and assume the binary works.
|
||||||
|
- *)
|
||||||
|
- let cmd = [| "rpm"; "--version" |] in
|
||||||
|
- debug "%s" (String.concat " " (Array.to_list cmd));
|
||||||
|
- let ver = g#command_lines cmd in
|
||||||
|
- let ver = if Array.length ver > 0 then ver.(0) else raise Not_found in
|
||||||
|
- debug "%s" ver;
|
||||||
|
- let ver = String.nsplit " " ver in
|
||||||
|
- let ver =
|
||||||
|
- match ver with
|
||||||
|
- | [ "RPM"; "version"; ver ] -> ver
|
||||||
|
- | _ -> raise Not_found in
|
||||||
|
- if not (PCRE.matches re_version ver) then raise Not_found;
|
||||||
|
- (int_of_string (PCRE.sub 1), int_of_string (PCRE.sub 2))
|
||||||
|
- with Not_found ->
|
||||||
|
- (* 'rpm' not installed? Hmm... *)
|
||||||
|
- (0, 0) in
|
||||||
|
- ver < (4, 11)
|
||||||
|
- in
|
||||||
|
- let pkg_name =
|
||||||
|
- if app.G.app2_epoch = Int32.zero || is_rpm_lt_4_11 () then
|
||||||
|
- sprintf "%s-%s-%s" app.G.app2_name app.G.app2_version
|
||||||
|
- app.G.app2_release
|
||||||
|
- else
|
||||||
|
- sprintf "%s-%ld:%s-%s" app.G.app2_name app.G.app2_epoch
|
||||||
|
- app.G.app2_version app.G.app2_release in
|
||||||
|
- let cmd = [| "rpm"; "-ql"; pkg_name |] in
|
||||||
|
- debug "%s" (String.concat " " (Array.to_list cmd));
|
||||||
|
- let files = g#command_lines cmd in
|
||||||
|
- (* RPM prints "(contains no files)" on stdout when a package
|
||||||
|
- * has no files in it:
|
||||||
|
- * https://github.com/rpm-software-management/rpm/issues/962
|
||||||
|
- *)
|
||||||
|
- if files = [| "(contains no files)" |] then
|
||||||
|
- []
|
||||||
|
- else (
|
||||||
|
- let files = Array.to_list files in
|
||||||
|
- List.sort compare files
|
||||||
|
- )
|
||||||
|
-
|
||||||
|
- | format ->
|
||||||
|
- error (f_"don’t know how to get list of files from package using %s")
|
||||||
|
- format
|
||||||
|
+ )
|
||||||
|
|
||||||
|
let is_file_owned (g : G.guestfs) root path =
|
||||||
|
let package_format = g#inspect_get_package_format root in
|
||||||
|
diff --git a/common/mlstdutils/std_utils.ml b/common/mlstdutils/std_utils.ml
|
||||||
|
index 86b21a7c5..1a36ab772 100644
|
||||||
|
--- a/common/mlstdutils/std_utils.ml
|
||||||
|
+++ b/common/mlstdutils/std_utils.ml
|
||||||
|
@@ -98,24 +98,27 @@ module String = struct
|
||||||
|
and len = length str in
|
||||||
|
len >= sufflen && sub str (len - sufflen) sufflen = suffix
|
||||||
|
|
||||||
|
- let rec find s sub =
|
||||||
|
- let len = length s in
|
||||||
|
+ let find_from str pos sub =
|
||||||
|
let sublen = length sub in
|
||||||
|
- let rec loop i =
|
||||||
|
- if i <= len-sublen then (
|
||||||
|
- let rec loop2 j =
|
||||||
|
- if j < sublen then (
|
||||||
|
- if s.[i+j] = sub.[j] then loop2 (j+1)
|
||||||
|
- else -1
|
||||||
|
- ) else
|
||||||
|
- i (* found *)
|
||||||
|
- in
|
||||||
|
- let r = loop2 0 in
|
||||||
|
- if r = -1 then loop (i+1) else r
|
||||||
|
- ) else
|
||||||
|
- -1 (* not found *)
|
||||||
|
- in
|
||||||
|
- loop 0
|
||||||
|
+ if sublen = 0 then
|
||||||
|
+ 0
|
||||||
|
+ else (
|
||||||
|
+ let found = ref 0 in
|
||||||
|
+ let len = length str in
|
||||||
|
+ try
|
||||||
|
+ for i = pos to len - sublen do
|
||||||
|
+ let j = ref 0 in
|
||||||
|
+ while unsafe_get str (i + !j) = unsafe_get sub !j do
|
||||||
|
+ incr j;
|
||||||
|
+ if !j = sublen then begin found := i; raise Exit; end;
|
||||||
|
+ done;
|
||||||
|
+ done;
|
||||||
|
+ -1
|
||||||
|
+ with
|
||||||
|
+ Exit -> !found
|
||||||
|
+ )
|
||||||
|
+
|
||||||
|
+ let find str sub = find_from str 0 sub
|
||||||
|
|
||||||
|
let rec replace s s1 s2 =
|
||||||
|
let len = length s in
|
||||||
|
@@ -145,7 +148,7 @@ module String = struct
|
||||||
|
else if n >= len then str, ""
|
||||||
|
else sub str 0 n, sub str n (len-n)
|
||||||
|
|
||||||
|
- let rec split sep str =
|
||||||
|
+ let split sep str =
|
||||||
|
let seplen = length sep in
|
||||||
|
let strlen = length str in
|
||||||
|
let i = find str sep in
|
||||||
|
@@ -154,20 +157,36 @@ module String = struct
|
||||||
|
sub str 0 i, sub str (i + seplen) (strlen - i - seplen)
|
||||||
|
)
|
||||||
|
|
||||||
|
- and nsplit ?(max = 0) sep str =
|
||||||
|
+ let nsplit ?(max = 0) sep str =
|
||||||
|
if max < 0 then
|
||||||
|
invalid_arg "String.nsplit: max parameter should not be negative";
|
||||||
|
|
||||||
|
- (* If we reached the limit, OR if the pattern does not match the string
|
||||||
|
- * at all, return the rest of the string as a single element list.
|
||||||
|
- *)
|
||||||
|
- if max = 1 || find str sep = -1 then
|
||||||
|
- [str]
|
||||||
|
- else (
|
||||||
|
- let s1, s2 = split sep str in
|
||||||
|
- let max = if max = 0 then 0 else max - 1 in
|
||||||
|
- s1 :: nsplit ~max sep s2
|
||||||
|
- )
|
||||||
|
+ let len = String.length str in
|
||||||
|
+ let seplen = String.length sep in
|
||||||
|
+
|
||||||
|
+ let rec loop iters posn acc =
|
||||||
|
+ (* If we reached the limit, OR if the pattern does not match
|
||||||
|
+ * the string at all, return the rest of the string.
|
||||||
|
+ *)
|
||||||
|
+ if max > 0 && iters = max then (
|
||||||
|
+ let rest =
|
||||||
|
+ if posn = 0 then str else String.sub str posn (len-posn) in
|
||||||
|
+ List.rev (rest :: acc)
|
||||||
|
+ )
|
||||||
|
+ else (
|
||||||
|
+ let end_ = find_from str posn sep in
|
||||||
|
+ if end_ = -1 then (
|
||||||
|
+ let rest =
|
||||||
|
+ if posn = 0 then str else String.sub str posn (len-posn) in
|
||||||
|
+ List.rev (rest :: acc)
|
||||||
|
+ )
|
||||||
|
+ else (
|
||||||
|
+ let acc = String.sub str posn (end_-posn) :: acc in
|
||||||
|
+ loop (iters+1) (end_+seplen) acc
|
||||||
|
+ )
|
||||||
|
+ )
|
||||||
|
+ in
|
||||||
|
+ loop 1 0 []
|
||||||
|
|
||||||
|
let rec lines_split str =
|
||||||
|
let buf = Buffer.create 16 in
|
||||||
|
diff --git a/common/mlstdutils/std_utils.mli b/common/mlstdutils/std_utils.mli
|
||||||
|
index a39ac5f3b..7bd55fbae 100644
|
||||||
|
--- a/common/mlstdutils/std_utils.mli
|
||||||
|
+++ b/common/mlstdutils/std_utils.mli
|
||||||
|
@@ -82,6 +82,10 @@ module String : sig
|
||||||
|
val find : string -> string -> int
|
||||||
|
(** [find str sub] searches for [sub] as a substring of [str]. If
|
||||||
|
found it returns the index. If not found, it returns [-1]. *)
|
||||||
|
+ val find_from : string -> int -> string -> int
|
||||||
|
+ (** [find_from str start sub] searches for [sub] as a substring of [str],
|
||||||
|
+ starting at index [start]. If found it returns the index.
|
||||||
|
+ If not found, it returns [-1]. *)
|
||||||
|
val replace : string -> string -> string -> string
|
||||||
|
(** [replace str s1 s2] replaces all instances of [s1] appearing in
|
||||||
|
[str] with [s2]. *)
|
||||||
|
diff --git a/common/mlstdutils/std_utils_tests.ml b/common/mlstdutils/std_utils_tests.ml
|
||||||
|
index 3f5bb1a86..4e368152f 100644
|
||||||
|
--- a/common/mlstdutils/std_utils_tests.ml
|
||||||
|
+++ b/common/mlstdutils/std_utils_tests.ml
|
||||||
|
@@ -113,13 +113,19 @@ let test_string_nsplit ctx =
|
||||||
|
assert_equal_stringlist [""] (String.nsplit " " "");
|
||||||
|
assert_equal_stringlist ["abc"] (String.nsplit " " "abc");
|
||||||
|
assert_equal_stringlist ["a"; "b"; "c"] (String.nsplit " " "a b c");
|
||||||
|
+ assert_equal_stringlist ["abc"; "d"; "e"] (String.nsplit " " "abc d e");
|
||||||
|
assert_equal_stringlist ["a"; "b"; "c"; ""] (String.nsplit " " "a b c ");
|
||||||
|
assert_equal_stringlist [""; "a"; "b"; "c"] (String.nsplit " " " a b c");
|
||||||
|
assert_equal_stringlist [""; "a"; "b"; "c"; ""] (String.nsplit " " " a b c ");
|
||||||
|
assert_equal_stringlist ["a b c d"] (String.nsplit ~max:1 " " "a b c d");
|
||||||
|
assert_equal_stringlist ["a"; "b c d"] (String.nsplit ~max:2 " " "a b c d");
|
||||||
|
assert_equal_stringlist ["a"; "b"; "c d"] (String.nsplit ~max:3 " " "a b c d");
|
||||||
|
- assert_equal_stringlist ["a"; "b"; "c"; "d"] (String.nsplit ~max:10 " " "a b c d")
|
||||||
|
+ assert_equal_stringlist ["a"; "b"; "c"; "d"] (String.nsplit ~max:10 " " "a b c d");
|
||||||
|
+
|
||||||
|
+ (* Test that nsplit can handle large strings. *)
|
||||||
|
+ let xs = Array.to_list (Array.make 10_000_000 "xyz") in
|
||||||
|
+ let xs_concat = String.concat " " xs in
|
||||||
|
+ assert_equal_stringlist xs (String.nsplit " " xs_concat)
|
||||||
|
|
||||||
|
(* Test Std_utils.String.lines_split. *)
|
||||||
|
let test_string_lines_split ctx =
|
||||||
|
diff --git a/m4/guestfs-libraries.m4 b/m4/guestfs-libraries.m4
|
||||||
|
index 80f9425f0..7c66853dd 100644
|
||||||
|
--- a/m4/guestfs-libraries.m4
|
||||||
|
+++ b/m4/guestfs-libraries.m4
|
||||||
|
@@ -19,9 +19,8 @@ dnl Any C libraries required by the libguestfs C library (not the daemon).
|
||||||
|
|
||||||
|
dnl Of course we need libguestfs.
|
||||||
|
dnl
|
||||||
|
-dnl We need libguestfs 1.49.8 for guestfs_inspect_get_build_id in
|
||||||
|
-dnl virt-drivers.
|
||||||
|
-PKG_CHECK_MODULES([LIBGUESTFS], [libguestfs >= 1.49.8])
|
||||||
|
+dnl We need libguestfs >= 1:1.54.0-4.el9_6 for guestfs_sh_out.
|
||||||
|
+PKG_CHECK_MODULES([LIBGUESTFS], [libguestfs >= 1.54.0])
|
||||||
|
|
||||||
|
dnl Test if it's GNU or XSI strerror_r.
|
||||||
|
AC_FUNC_STRERROR_R
|
@ -7,7 +7,7 @@ set -e
|
|||||||
# ./copy-patches.sh
|
# ./copy-patches.sh
|
||||||
|
|
||||||
project=guestfs-tools
|
project=guestfs-tools
|
||||||
rhel_version=10.0
|
rhel_version=9.6
|
||||||
|
|
||||||
# Check we're in the right directory.
|
# Check we're in the right directory.
|
||||||
if [ ! -f $project.spec ]; then
|
if [ ! -f $project.spec ]; then
|
17
SOURCES/guestfs-tools-1.52.2.tar.gz.sig
Normal file
17
SOURCES/guestfs-tools-1.52.2.tar.gz.sig
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQJFBAABCAAvFiEE93dPsa0HSn6Mh2fqkXOPc+G3aKAFAmb+mWcRHHJpY2hAYW5u
|
||||||
|
ZXhpYS5vcmcACgkQkXOPc+G3aKBPWRAAmHJHvz8GRAsFEpZS6/6FjgxjASRTtMZO
|
||||||
|
02vo8KZLpF3pX0zjsgcYPsTgj90kQ8z9rsdXk70HbOvnJIuVShuT9Q/bGiYf60YB
|
||||||
|
CEvRy3b5HMgsk4Dk46Ux0RpOHTFmVKOxSdNrk1G0qRMjIYdy19KxRnMJyQXv4QRg
|
||||||
|
y6RYOt2Zm6Luj53Id+zTLiqnz5Z8PBkupWH3y1zSrN3OcASIvSKYnPUA/c63+Fzk
|
||||||
|
YZHGIf3DCHEAnzHfPMaF58L+Np3ZaC4vGBfnDfLiyTd/d2J/Ci18LcI9hC9l6SV1
|
||||||
|
ePlNBH/LV1+YYuWLhd9XPVsCiKi2zY3/DMxoxZcYhl+JalVTeK6FZk2Abe+0c9XZ
|
||||||
|
wAaQG+aLqweDHNiLJ0AxoPqinWsa2EpciZMKAzzCGM83IABm+pKSZlN077riiYNa
|
||||||
|
YRZIw/i6LFfuQSxBaav+/d6cOpxx4AklmaV1ymu4Xr2JTm4u93O72722oyhCzbAn
|
||||||
|
3DQac1H5XgJsBh6Un9Ybl3PkUGS2AlCCDTFbyWDB8i9aiWv5m/yuLD4c6hk9sRWQ
|
||||||
|
DNiH0AKaem/cPt33FV3C2viyppmGnhZDNrrKKzJCxCkRY7XU2rzEJ1SmU9CACCOj
|
||||||
|
ick58Flv52CYSeonC+7uO9jqlDcgVmJIDitCCHhIl1Kipr1mzCMQV1Vq0LP3Hv8f
|
||||||
|
MSbFdmbrh5I=
|
||||||
|
=Gu1k
|
||||||
|
-----END PGP SIGNATURE-----
|
@ -19,7 +19,7 @@
|
|||||||
Summary: Tools to access and modify virtual machine disk images
|
Summary: Tools to access and modify virtual machine disk images
|
||||||
Name: guestfs-tools
|
Name: guestfs-tools
|
||||||
Version: 1.52.2
|
Version: 1.52.2
|
||||||
Release: 2%{?dist}
|
Release: 3%{?dist}
|
||||||
License: GPL-2.0-or-later AND LGPL-2.0-or-later
|
License: GPL-2.0-or-later AND LGPL-2.0-or-later
|
||||||
|
|
||||||
# Build only for architectures that have a kernel
|
# Build only for architectures that have a kernel
|
||||||
@ -45,7 +45,7 @@ Source2: libguestfs.keyring
|
|||||||
Source3: copy-patches.sh
|
Source3: copy-patches.sh
|
||||||
|
|
||||||
# Patches are maintained in the following repository:
|
# Patches are maintained in the following repository:
|
||||||
# https://github.com/rwmjones/guestfs-tools/commits/rhel-10.0
|
# https://github.com/rwmjones/guestfs-tools/commits/rhel-9.6
|
||||||
|
|
||||||
# Patches.
|
# Patches.
|
||||||
Patch0001: 0001-RHEL-Reject-use-of-libguestfs-winsupport-features-ex.patch
|
Patch0001: 0001-RHEL-Reject-use-of-libguestfs-winsupport-features-ex.patch
|
||||||
@ -54,6 +54,8 @@ Patch0003: 0003-customize-Implement-inject-blnsvr-operation.patch
|
|||||||
Patch0004: 0004-build-Add-new-dependency-on-json-c.patch
|
Patch0004: 0004-build-Add-new-dependency-on-json-c.patch
|
||||||
Patch0005: 0005-builder-Replace-jansson-with-json-c.patch
|
Patch0005: 0005-builder-Replace-jansson-with-json-c.patch
|
||||||
Patch0006: 0006-build-Remove-Jansson-dependency.patch
|
Patch0006: 0006-build-Remove-Jansson-dependency.patch
|
||||||
|
Patch0007: 0007-test-data-phony-fedora-Add-simple-static-bin-sh.patch
|
||||||
|
Patch0008: 0008-drivers-Handle-large-output-from-rpm-ql-command.patch
|
||||||
|
|
||||||
%if 0%{patches_touch_autotools}
|
%if 0%{patches_touch_autotools}
|
||||||
BuildRequires: autoconf, automake, libtool, gettext-devel
|
BuildRequires: autoconf, automake, libtool, gettext-devel
|
||||||
@ -62,7 +64,7 @@ BuildRequires: autoconf, automake, libtool, gettext-devel
|
|||||||
# Basic build requirements.
|
# Basic build requirements.
|
||||||
BuildRequires: gcc, gcc-c++
|
BuildRequires: gcc, gcc-c++
|
||||||
BuildRequires: make
|
BuildRequires: make
|
||||||
BuildRequires: libguestfs-devel >= 1:1.49.8-1
|
BuildRequires: libguestfs-devel >= 1:1.54.0-4.el9
|
||||||
BuildRequires: libguestfs-xfs
|
BuildRequires: libguestfs-xfs
|
||||||
BuildRequires: perl(Pod::Simple)
|
BuildRequires: perl(Pod::Simple)
|
||||||
BuildRequires: perl(Pod::Man)
|
BuildRequires: perl(Pod::Man)
|
||||||
@ -111,9 +113,8 @@ BuildRequires: gnupg2
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
# Ensure a minimum version of libguestfs is installed. This contains
|
# Ensure a minimum version of libguestfs is installed. This contains
|
||||||
# a workaround for openssl bug RHBZ#2133884 and the hang where we
|
# new APIs sh-out and command-out, required by virt-drivers.
|
||||||
# called setenv between fork and exec.
|
Requires: libguestfs >= 1:1.54.0-4.el9
|
||||||
Requires: libguestfs >= 1.49.6-1
|
|
||||||
|
|
||||||
# For virt-builder:
|
# For virt-builder:
|
||||||
Requires: curl
|
Requires: curl
|
||||||
@ -412,163 +413,90 @@ end
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Feb 25 2025 Richard W.M. Jones <rjones@redhat.com> - 1.52.2-3
|
||||||
|
- Fix virt-drivers fails on opensuse guest if kernel-source is installed
|
||||||
|
resolves: RHEL-80214
|
||||||
|
|
||||||
* Wed Oct 30 2024 Richard W.M. Jones <rjones@redhat.com> - 1.52.2-2
|
* Wed Oct 30 2024 Richard W.M. Jones <rjones@redhat.com> - 1.52.2-2
|
||||||
- Rebase to guestfs-tools 1.52.2
|
- Rebase to guestfs-tools 1.52.2
|
||||||
resolves: RHEL-56812
|
resolves: RHEL-56811
|
||||||
- Replace Jansson with json-c
|
- Replace Jansson with json-c
|
||||||
resolves: RHEL-65295
|
resolves: RHEL-65294
|
||||||
|
|
||||||
* Tue Aug 27 2024 Richard W.M. Jones <rjones@redhat.com> - 1.52.1-1
|
* Tue Aug 27 2024 Richard W.M. Jones <rjones@redhat.com> - 1.51.6-5
|
||||||
- New stable version 1.52.1
|
|
||||||
- Rebase on top of patches from RHEL 9.5
|
|
||||||
- Reboot Windows between each firstboot script to improve reliability
|
- Reboot Windows between each firstboot script to improve reliability
|
||||||
resolves: RHEL-56319
|
resolves: RHEL-55759
|
||||||
- customize: Implement --inject-blnsvr operation
|
|
||||||
resolves: RHEL-56330
|
* Thu May 16 2024 Richard W.M. Jones <rjones@redhat.com> - 1.51.6-4
|
||||||
- Add support for nbd+unix:// URIs
|
- Add support for nbd+unix:// URIs
|
||||||
resolves: RHEL-56332
|
resolves: RHEL-33956
|
||||||
|
- customize: Implement --inject-blnsvr operation
|
||||||
|
resolves: RHEL-36634
|
||||||
|
|
||||||
* Tue Jun 25 2024 Troy Dawson <tdawson@redhat.com> - 1.52.0-6
|
* Fri Jan 19 2024 Richard W.M. Jones <rjones@redhat.com> - 1.51.6-2
|
||||||
- Bump release for June 2024 mass rebuild
|
- Rebase to guestfs-tools 1.51.6
|
||||||
|
- Implement --key all:...
|
||||||
|
resolves: RHEL-19030
|
||||||
|
- Fix crash because of off-by-one error
|
||||||
|
resolves: RHEL-19062
|
||||||
|
- Fix virt-customize --chown invalid format
|
||||||
|
resolves: RHEL-21899
|
||||||
|
|
||||||
* Wed Jun 19 2024 Richard W.M. Jones <rjones@redhat.com> - 1.52.0-5
|
* Thu Jun 08 2023 Laszlo Ersek <lersek@redhat.com> - 1.50.1-3
|
||||||
- OCaml 5.2.0 ppc64le fix
|
- let virt-inspector recognize "--key /dev/mapper/VG-LV:key:password"
|
||||||
|
- reenable "make check"; we now use "-cpu max" (libguestfs 30f74f38bd6e)
|
||||||
|
resolves: rhbz#2209280
|
||||||
|
|
||||||
* Fri May 31 2024 Richard W.M. Jones <rjones@redhat.com> - 1.52.0-4
|
* Thu Apr 06 2023 Richard W.M. Jones <rjones@redhat.com> - 1.50.1-1
|
||||||
- Rebuild for OCaml 5.2
|
- Rebase to guestfs-tools 1.50.1
|
||||||
|
resolves: rhbz#2168626
|
||||||
|
- Fix virt-drivers inspection of RHEL 9.2 guests
|
||||||
|
resolves: rhbz#2184963
|
||||||
|
|
||||||
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.52.0-3
|
* Thu Nov 24 2022 Richard W.M. Jones <rjones@redhat.com> - 1.48.2-8
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
- Support Rocky Linux in virt-customize
|
||||||
|
resolves: rhbz#2133443
|
||||||
|
- Disable OpenSUSE repo in virt-builder
|
||||||
|
resolves: rhbz#2145160
|
||||||
|
|
||||||
* Fri Jan 19 2024 Richard W.M. Jones <rjones@redhat.com> - 1.52.0-2
|
* Fri Jul 15 2022 Richard W.M. Jones <rjones@redhat.com> - 1.48.2-5
|
||||||
- Fix virt-customize --chown invalid format error
|
- Rebase to guestfs-tools 1.48.2
|
||||||
- New upstream github repository.
|
resolves: rhbz#2059286
|
||||||
|
- Default to --selinux-relabel in various tools
|
||||||
|
resolves: rhbz#2075718, rhbz#2089748
|
||||||
|
- Add lvm system.devices cleanup operation to virt-sysprep
|
||||||
|
resolves: rhbz#2072493
|
||||||
|
- Refactor virt-customize --install, --update options in common submodule
|
||||||
|
- Add support for Clevis & Tang
|
||||||
|
resolves: rhbz#1809453
|
||||||
|
- Fix CVE-2022-2211 Denial of Service in --key parameter
|
||||||
|
resolves: rhbz#2102721
|
||||||
|
- Fix virt-sysprep and LUKS-on-LVM guests
|
||||||
|
resolves: rhbz#2106286
|
||||||
|
|
||||||
* Thu Jan 4 2024 Richard W.M. Jones <rjones@redhat.com> - 1.52.0-1
|
* Sat Dec 04 2021 Richard W.M. Jones <rjones@redhat.com> - 1.46.1-6
|
||||||
- New stable version 1.52.0
|
- Clean up NetworkManager connection files
|
||||||
|
- Add the copy-patches.sh script from virt-v2v
|
||||||
|
resolves: rhbz#1980922
|
||||||
|
|
||||||
* Tue Dec 19 2023 Richard W.M. Jones <rjones@redhat.com> - 1.51.7-1
|
* Tue Nov 23 2021 Richard W.M. Jones <rjones@redhat.com> - 1.46.1-5
|
||||||
- New development version 1.51.7
|
- Fix detection of Kylin Desktop
|
||||||
|
resolves: rhbz#2025950
|
||||||
|
|
||||||
* Mon Dec 18 2023 Richard W.M. Jones <rjones@redhat.com> - 1.51.6-5
|
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 1.46.1-4.1
|
||||||
- OCaml 5.1.1 + s390x code gen fix for Fedora 40
|
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
||||||
|
Related: rhbz#1991688
|
||||||
|
|
||||||
* Tue Dec 12 2023 Richard W.M. Jones <rjones@redhat.com> - 1.51.6-4
|
* Wed Jun 2 2021 Richard W.M. Jones <rjones@redhat.com> - 1.46.1-3.el9.1
|
||||||
- Bump release and rebuild
|
|
||||||
|
|
||||||
* Tue Dec 12 2023 Richard W.M. Jones <rjones@redhat.com> - 1.51.6-3
|
|
||||||
- OCaml 5.1.1 rebuild for Fedora 40
|
|
||||||
|
|
||||||
* Sat Dec 9 2023 Richard W.M. Jones <rjones@redhat.com> - 1.51.6-2
|
|
||||||
- New development version 1.51.6
|
|
||||||
|
|
||||||
* Mon Nov 27 2023 Richard W.M. Jones <rjones@redhat.com> - 1.51.5-2
|
|
||||||
- Fix build for libxml2 2.12.1
|
|
||||||
|
|
||||||
* Thu Nov 02 2023 Richard W.M. Jones <rjones@redhat.com> - 1.51.5-1
|
|
||||||
- New development version 1.51.5
|
|
||||||
|
|
||||||
* Thu Oct 05 2023 Richard W.M. Jones <rjones@redhat.com> - 1.51.4-2
|
|
||||||
- OCaml 5.1 rebuild for Fedora 40
|
|
||||||
|
|
||||||
* Thu Jul 20 2023 Richard W.M. Jones <rjones@redhat.com> - 1.51.4-1
|
|
||||||
- New development version 1.51.4
|
|
||||||
|
|
||||||
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.51.3-2
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
|
||||||
|
|
||||||
* Fri Jul 14 2023 Richard W.M. Jones <rjones@redhat.com> - 1.51.3-1
|
|
||||||
- New development version 1.51.3
|
|
||||||
|
|
||||||
* Mon Jun 05 2023 Richard W.M. Jones <rjones@redhat.com> - 1.51.2-2
|
|
||||||
- Migrated to SPDX license
|
|
||||||
|
|
||||||
* Thu Apr 06 2023 Richard W.M. Jones <rjones@redhat.com> - 1.51.2-1
|
|
||||||
- New development version 1.51.2
|
|
||||||
|
|
||||||
* Tue Feb 21 2023 Richard W.M. Jones <rjones@redhat.com> - 1.51.1-2
|
|
||||||
- Fix BR hwdata-devel for PCI IDs data
|
|
||||||
|
|
||||||
* Mon Feb 20 2023 Richard W.M. Jones <rjones@redhat.com> - 1.51.1-1
|
|
||||||
- New development version 1.51.1
|
|
||||||
- virt-drivers: Add BuildRequires and runtime Recommends on hwdata.
|
|
||||||
|
|
||||||
* Tue Feb 14 2023 Richard W.M. Jones <rjones@redhat.com> - 1.50.0-2
|
|
||||||
- Remove virt-dib (RHBZ#2169550)
|
|
||||||
|
|
||||||
* Tue Feb 07 2023 Richard W.M. Jones <rjones@redhat.com> - 1.50.0-1
|
|
||||||
- New upstream stable version 1.50.0
|
|
||||||
|
|
||||||
* Thu Jan 26 2023 Richard W.M. Jones <rjones@redhat.com> - 1.49.10-1
|
|
||||||
- New upstream development version 1.49.10
|
|
||||||
|
|
||||||
* Thu Jan 19 2023 Richard W.M. Jones <rjones@redhat.com> - 1.49.9-1
|
|
||||||
- New upstream development version 1.49.9
|
|
||||||
- New tool: virt-drivers
|
|
||||||
- Add BR glibc-static for tests on x86_64.
|
|
||||||
|
|
||||||
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.49.8-3
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
|
||||||
|
|
||||||
* Tue Jan 17 2023 Richard W.M. Jones <rjones@redhat.com> - 1.49.8-2
|
|
||||||
- New upstream development version 1.49.8
|
|
||||||
- +BR libosinfo-devel
|
|
||||||
|
|
||||||
* Sat Dec 10 2022 Richard W.M. Jones <rjones@redhat.com> - 1.49.7-2
|
|
||||||
- New upstream development version 1.49.7
|
|
||||||
|
|
||||||
* Fri Nov 25 2022 Richard W.M. Jones <rjones@redhat.com> - 1.49.6-1
|
|
||||||
- New upstream development version 1.49.6
|
|
||||||
- Enable opensuse repository again
|
|
||||||
|
|
||||||
* Mon Nov 21 2022 Richard W.M. Jones <rjones@redhat.com> - 1.49.5-2
|
|
||||||
- Disable opensuse repository
|
|
||||||
|
|
||||||
* Wed Oct 12 2022 Richard W.M. Jones <rjones@redhat.com> - 1.49.5-1
|
|
||||||
- New upstream development version 1.49.5
|
|
||||||
|
|
||||||
* Mon Aug 01 2022 Richard W.M. Jones <rjones@redhat.com> - 1.49.4-1
|
|
||||||
- New upstream development version 1.49.4
|
|
||||||
|
|
||||||
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.49.3-2
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
|
||||||
|
|
||||||
* Fri Jul 01 2022 Richard W.M. Jones <rjones@redhat.com> - 1.49.3-1
|
|
||||||
- New upstream development version 1.49.3
|
|
||||||
|
|
||||||
* Thu May 26 2022 Richard W.M. Jones <rjones@redhat.com> - 1.49.2-1
|
|
||||||
- New upstream development version 1.49.2
|
|
||||||
|
|
||||||
* Thu May 12 2022 Richard W.M. Jones <rjones@redhat.com> - 1.49.1-1
|
|
||||||
- New upstream development version 1.49.1
|
|
||||||
|
|
||||||
* Mon Mar 14 2022 Richard W.M. Jones <rjones@redhat.com> - 1.48.0-1
|
|
||||||
- New upstream stable branch version 1.48.0
|
|
||||||
|
|
||||||
* Tue Mar 08 2022 Richard W.M. Jones <rjones@redhat.com> - 1.47.5-1
|
|
||||||
- New upstream development version 1.47.8
|
|
||||||
- Add new guestfs-tools-release-notes-1.48(1) man page.
|
|
||||||
|
|
||||||
* Tue Mar 01 2022 Richard W.M. Jones <rjones@redhat.com> - 1.47.4-1
|
|
||||||
- New upstream development version 1.47.4
|
|
||||||
|
|
||||||
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.47.3-2
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
|
||||||
|
|
||||||
* Sat Dec 04 2021 Richard W.M. Jones <rjones@redhat.com> - 1.47.3-1
|
|
||||||
- New upstream development version 1.47.3
|
|
||||||
|
|
||||||
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.47.2-2
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
|
||||||
|
|
||||||
* Wed Jun 16 2021 Richard W.M. Jones <rjones@redhat.com> - 1.47.2-1
|
|
||||||
- New upstream development version 1.47.2
|
|
||||||
|
|
||||||
* Wed Jun 2 2021 Richard W.M. Jones <rjones@redhat.com> - 1.46.1-3
|
|
||||||
- Add gating tests (for RHEL 9)
|
- Add gating tests (for RHEL 9)
|
||||||
|
|
||||||
|
* Mon May 17 2021 Richard W.M. Jones <rjones@redhat.com> - 1.46.1-3
|
||||||
|
- Fix virt-win-reg --version
|
||||||
|
resolves: rhbz#1961160
|
||||||
|
|
||||||
* Thu May 13 2021 Richard W.M. Jones <rjones@redhat.com> - 1.46.1-2
|
* Thu May 13 2021 Richard W.M. Jones <rjones@redhat.com> - 1.46.1-2
|
||||||
- BR perl-generators so deps of virt-win-reg subpackage are correct.
|
- BR perl-generators so deps of virt-win-reg subpackage are correct.
|
||||||
|
resolves: rhbz#1960191
|
||||||
|
|
||||||
* Sat May 08 2021 Richard W.M. Jones <rjones@redhat.com> - 1.46.1-1
|
* Sat May 08 2021 Richard W.M. Jones <rjones@redhat.com> - 1.46.1-1
|
||||||
- New stable branch version 1.46.1.
|
- New stable branch version 1.46.1.
|
@ -1,6 +0,0 @@
|
|||||||
--- !Policy
|
|
||||||
product_versions:
|
|
||||||
- rhel-*
|
|
||||||
decision_context: osci_compose_gate
|
|
||||||
rules:
|
|
||||||
- !PassingTestCaseRule {test_case_name: xen-ci.brew-build.tier1.functional}
|
|
Binary file not shown.
2
sources
2
sources
@ -1,2 +0,0 @@
|
|||||||
SHA512 (guestfs-tools-1.52.2.tar.gz) = a4c0b4fbefcc7787a31a5869f12a6ce46b3de21ad19f1ac9563fac03806b227a4f6e872e6416e2dfe4c246582b04356d7dc3d70b0d694011ee9bdef6ba9c5ac3
|
|
||||||
SHA512 (guestfs-tools-1.52.2.tar.gz.sig) = 5958d6e61274e7843d76112db587da685484635b69f2c053345986ef312fbb8d7b63430acdee1acb30cb523068fe7dec3fd5c82ef57a0a0bf62d14100cc09956
|
|
Loading…
Reference in New Issue
Block a user