summaryrefslogtreecommitdiff
path: root/0002-update-common-submodule.patch
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2024-08-06 02:26:06 +0000
committerCoprDistGit <infra@openeuler.org>2024-08-06 02:26:06 +0000
commit5957157a0edfe9f07583bdb7530b172da2d7adfd (patch)
tree3bbe9ee8b02c4b84782d71167ed57549c008ce92 /0002-update-common-submodule.patch
parent568b42b6ea0df8c498b6d8583c24caf101a47dd8 (diff)
automatic import of libguestfsopeneuler24.03_LTS
Diffstat (limited to '0002-update-common-submodule.patch')
-rw-r--r--0002-update-common-submodule.patch88
1 files changed, 88 insertions, 0 deletions
diff --git a/0002-update-common-submodule.patch b/0002-update-common-submodule.patch
new file mode 100644
index 0000000..7c86882
--- /dev/null
+++ b/0002-update-common-submodule.patch
@@ -0,0 +1,88 @@
+From 89b6c8b458dcb00de83b543c47a6acb049f63f18 Mon Sep 17 00:00:00 2001
+From: Laszlo Ersek <lersek@redhat.com>
+Date: Tue, 21 Mar 2023 16:55:15 +0100
+Subject: [PATCH] update common submodule
+
+HATAYAMA Daisuke (1):
+ progress: fix segmentation fault when TERM variable is "dumb"
+
+Laszlo Ersek (2):
+ detect_kernels: tighten "try" scope
+ detect_kernels: deal with RHEL's kernel-core / kernel-modules-core split
+
+rwmjones (1):
+ Merge pull request #5 from d-hatayama/fix_segfault_progress_bar
+
+Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2175703
+Signed-off-by: Laszlo Ersek <lersek@redhat.com>
+(cherry picked from commit be11d25b3e2770d86699e94c5087e6625477d5ec)
+---
+ common | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Submodule common 360e037d..70c10a07:
+diff --git a/common/mldrivers/linux_kernels.ml b/common/mldrivers/linux_kernels.ml
+index a46146a1..23ff76a5 100644
+--- a/common/mldrivers/linux_kernels.ml
++++ b/common/mldrivers/linux_kernels.ml
+@@ -125,9 +125,9 @@ let detect_kernels (g : G.guestfs) root bootloader apps =
+ *)
+ let modpath, version =
+ let prefix = "/lib/modules/" in
++ let prefix_len = String.length prefix in
+ try
+- let prefix_len = String.length prefix in
+- List.find_map (
++ let modpath, version = List.find_map (
+ fun filename ->
+ let filename_len = String.length filename in
+ if filename_len > prefix_len &&
+@@ -137,17 +137,29 @@ let detect_kernels (g : G.guestfs) root bootloader apps =
+ Some (filename, version)
+ ) else
+ None
+- ) files
++ ) files in
++ (* Fall back to the version in the vmlinuz file name not only if
++ * a candidate pathname couldn't be found under /lib/modules/,
++ * but also in case the candidate pathname doesn't reference a
++ * directory. See RHBZ#2175703.
++ *
++ * Note that this "is_dir" check is deliberately kept outside of
++ * the "find_map"'s mapper function above: we want the first
++ * candidate *to be* a directory, and not the first candidate
++ * *that is* a directory.
++ *)
++ if not (g#is_dir ~followsymlinks:true modpath) then
++ raise Not_found;
++ modpath, version
+ with Not_found ->
+ let version =
+ String.sub vmlinuz 14 (String.length vmlinuz - 14) in
+ let modpath = prefix ^ version in
++ (* Check that the modpath exists. *)
++ if not (g#is_dir ~followsymlinks:true modpath) then
++ raise Not_found;
+ modpath, version in
+
+- (* Check that the modpath exists. *)
+- if not (g#is_dir ~followsymlinks:true modpath) then
+- raise Not_found;
+-
+ (* Find the initramfs which corresponds to the kernel.
+ * Since the initramfs is built at runtime, and doesn't have
+ * to be covered by the RPM file list, this is basically
+diff --git a/common/progress/progress.c b/common/progress/progress.c
+index 4d52b97e..e4b30663 100644
+--- a/common/progress/progress.c
++++ b/common/progress/progress.c
+@@ -318,7 +318,8 @@ progress_bar_set (struct progress_bar *bar,
+ * (b) it's just not possible to use tputs in a sane way here.
+ */
+ /*tputs (UP, 2, putchar);*/
+- fprintf (fp, "%s", UP);
++ if (UP)
++ fprintf (fp, "%s", UP);
+ }
+ bar->count++;
+