diff options
author | CoprDistGit <infra@openeuler.org> | 2024-08-06 02:26:06 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2024-08-06 02:26:06 +0000 |
commit | 5957157a0edfe9f07583bdb7530b172da2d7adfd (patch) | |
tree | 3bbe9ee8b02c4b84782d71167ed57549c008ce92 /0002-update-common-submodule.patch | |
parent | 568b42b6ea0df8c498b6d8583c24caf101a47dd8 (diff) |
automatic import of libguestfsopeneuler24.03_LTS
Diffstat (limited to '0002-update-common-submodule.patch')
-rw-r--r-- | 0002-update-common-submodule.patch | 88 |
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++; + |