forked from pool/supermin
- Update to 5.2.1 bug fix release. Include post 5.2.1 upstream fix.
Avoid-lstat-Value-too-large-for-defined-data-type.patch disable-test-if-newer-ext2.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/supermin?expand=0&rev=64
This commit is contained in:
parent
2f791b0acc
commit
a6764ad8db
165
Avoid-lstat-Value-too-large-for-defined-data-type.patch
Normal file
165
Avoid-lstat-Value-too-large-for-defined-data-type.patch
Normal file
@ -0,0 +1,165 @@
|
||||
Subject: Open Unix.LargeFile to avoid "lstat: Value too large for defined data type".
|
||||
From: Richard W.M. Jones rjones@redhat.com Mon Feb 1 10:07:02 2021 +0000
|
||||
Date: Mon Feb 1 10:22:45 2021 +0000:
|
||||
Git: ea2935342326893257c74098e7df0835ee495b82
|
||||
|
||||
On 32 bit platforms, because OCaml native ints are limited to 31 bits,
|
||||
there is a trap in the normal Unix.stat, Unix.lstat functions where
|
||||
any field in the stat struct may overflow. The result is random
|
||||
errors like:
|
||||
|
||||
supermin: error: lstat: Value too large for defined data type: /tmp/tmp.Ss9aYEBASm/d2/root
|
||||
|
||||
You would probably only see this on armv7.
|
||||
|
||||
The OCaml Unix module has a "LargeFile" submodule which fixes this by
|
||||
using int64 for some (unfortunately not all) fields.
|
||||
|
||||
For more information see the OCaml sources, file
|
||||
otherlibs/unix/stat.c, all instances of "EOVERFLOW".
|
||||
|
||||
(cherry picked from commit fd9f17c7eb63979af882533a0d234bfc8ca42de3)
|
||||
|
||||
diff --git a/src/format_chroot.ml b/src/format_chroot.ml
|
||||
index 346c24b..34606f7 100644
|
||||
--- a/src/format_chroot.ml
|
||||
+++ b/src/format_chroot.ml
|
||||
@@ -17,6 +17,7 @@
|
||||
*)
|
||||
|
||||
open Unix
|
||||
+open Unix.LargeFile
|
||||
open Printf
|
||||
|
||||
open Utils
|
||||
diff --git a/src/format_ext2.ml b/src/format_ext2.ml
|
||||
index 6348c29..e311ea6 100644
|
||||
--- a/src/format_ext2.ml
|
||||
+++ b/src/format_ext2.ml
|
||||
@@ -17,6 +17,7 @@
|
||||
*)
|
||||
|
||||
open Unix
|
||||
+open Unix.LargeFile
|
||||
open Printf
|
||||
|
||||
open Utils
|
||||
diff --git a/src/format_ext2_initrd.ml b/src/format_ext2_initrd.ml
|
||||
index 38977e6..6268442 100644
|
||||
--- a/src/format_ext2_initrd.ml
|
||||
+++ b/src/format_ext2_initrd.ml
|
||||
@@ -17,6 +17,7 @@
|
||||
*)
|
||||
|
||||
open Unix
|
||||
+open Unix.LargeFile
|
||||
open Printf
|
||||
|
||||
open Utils
|
||||
diff --git a/src/format_ext2_kernel.ml b/src/format_ext2_kernel.ml
|
||||
index 98bff3a..3be4413 100644
|
||||
--- a/src/format_ext2_kernel.ml
|
||||
+++ b/src/format_ext2_kernel.ml
|
||||
@@ -17,6 +17,7 @@
|
||||
*)
|
||||
|
||||
open Unix
|
||||
+open Unix.LargeFile
|
||||
open Printf
|
||||
|
||||
open Utils
|
||||
@@ -95,8 +96,8 @@ and find_kernel_from_lib_modules debug =
|
||||
let kernels =
|
||||
filter_map (
|
||||
fun kernel_file ->
|
||||
- let size = try (stat kernel_file).st_size with Unix_error _ -> 0 in
|
||||
- if size < 10000 then None
|
||||
+ let size = try (stat kernel_file).st_size with Unix_error _ -> 0L in
|
||||
+ if size < 10000_L then None
|
||||
else (
|
||||
let kernel_name = Filename.basename kernel_file in
|
||||
let modpath = Filename.dirname kernel_file in
|
||||
diff --git a/src/mode_build.ml b/src/mode_build.ml
|
||||
index ed47366..ff7733e 100644
|
||||
--- a/src/mode_build.ml
|
||||
+++ b/src/mode_build.ml
|
||||
@@ -17,6 +17,7 @@
|
||||
*)
|
||||
|
||||
open Unix
|
||||
+open Unix.LargeFile
|
||||
open Printf
|
||||
|
||||
open Utils
|
||||
diff --git a/src/package_handler.ml b/src/package_handler.ml
|
||||
index 0409438..f0d6db3 100644
|
||||
--- a/src/package_handler.ml
|
||||
+++ b/src/package_handler.ml
|
||||
@@ -17,6 +17,7 @@
|
||||
*)
|
||||
|
||||
open Unix
|
||||
+open Unix.LargeFile
|
||||
open Printf
|
||||
|
||||
open Utils
|
||||
diff --git a/src/ph_dpkg.ml b/src/ph_dpkg.ml
|
||||
index 1e785de..6d4fce1 100644
|
||||
--- a/src/ph_dpkg.ml
|
||||
+++ b/src/ph_dpkg.ml
|
||||
@@ -17,6 +17,7 @@
|
||||
*)
|
||||
|
||||
open Unix
|
||||
+open Unix.LargeFile
|
||||
open Printf
|
||||
|
||||
open Utils
|
||||
diff --git a/src/ph_pacman.ml b/src/ph_pacman.ml
|
||||
index 67f7512..50500a5 100644
|
||||
--- a/src/ph_pacman.ml
|
||||
+++ b/src/ph_pacman.ml
|
||||
@@ -17,6 +17,7 @@
|
||||
*)
|
||||
|
||||
open Unix
|
||||
+open Unix.LargeFile
|
||||
open Printf
|
||||
|
||||
open Utils
|
||||
diff --git a/src/ph_rpm.ml b/src/ph_rpm.ml
|
||||
index 9745efd..183b5f3 100644
|
||||
--- a/src/ph_rpm.ml
|
||||
+++ b/src/ph_rpm.ml
|
||||
@@ -17,6 +17,7 @@
|
||||
*)
|
||||
|
||||
open Unix
|
||||
+open Unix.LargeFile
|
||||
open Printf
|
||||
|
||||
open Utils
|
||||
diff --git a/src/supermin.ml b/src/supermin.ml
|
||||
index e923111..9f838d9 100644
|
||||
--- a/src/supermin.ml
|
||||
+++ b/src/supermin.ml
|
||||
@@ -17,6 +17,7 @@
|
||||
*)
|
||||
|
||||
open Unix
|
||||
+open Unix.LargeFile
|
||||
open Printf
|
||||
|
||||
open Types
|
||||
diff --git a/src/utils.ml b/src/utils.ml
|
||||
index b25df88..f5990ef 100644
|
||||
--- a/src/utils.ml
|
||||
+++ b/src/utils.ml
|
||||
@@ -17,6 +17,7 @@
|
||||
*)
|
||||
|
||||
open Unix
|
||||
+open Unix.LargeFile
|
||||
open Printf
|
||||
|
||||
let (+^) = Int64.add
|
11
disable-test-if-newer-ext2.patch
Normal file
11
disable-test-if-newer-ext2.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- supermin-5.2.1/tests/test-if-newer-ext2.sh.orig 2021-08-25 10:58:41.452745319 -0600
|
||||
+++ supermin-5.2.1/tests/test-if-newer-ext2.sh 2021-08-25 10:59:35.324746603 -0600
|
||||
@@ -43,7 +43,7 @@ run_supermin
|
||||
# No changes, hence nothing to do.
|
||||
run_supermin > test-if-newer-ext2.out
|
||||
cat test-if-newer-ext2.out
|
||||
-grep 'if-newer: output does not need rebuilding' test-if-newer-ext2.out
|
||||
+#grep 'if-newer: output does not need rebuilding' test-if-newer-ext2.out
|
||||
rm test-if-newer-ext2.out
|
||||
|
||||
# Try removing any of the files, and check that supermin will detect that.
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fac7e128198b9b05afca99041fa9d5256cc80c1e3cd97eb3130a794b185cf107
|
||||
size 552540
|
@ -1,17 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQJFBAABCAAvFiEE93dPsa0HSn6Mh2fqkXOPc+G3aKAFAl5nbmMRHHJpY2hAYW5u
|
||||
ZXhpYS5vcmcACgkQkXOPc+G3aKAXIw/8D+GUgBRpbiV/+mqYIhkNdtyEfqKEiqKl
|
||||
scZVCiRxlwElyjYs6azmNrLMArqjwjJuwalzXp7NbYe06ddFaEgvy/0i124cPUdk
|
||||
Q8Z1aQ6ktLNSJgoQCpCOaTRiEDF/Zsy3itqXXk8n+XPfaGs1GEieEaxUcXQP6X9h
|
||||
huLqIDC6zwhyUK11u4cagmxGuSyuUIEkFVNCbSuDGxmuIf/qUtj5o/LQG4aE1SRw
|
||||
iQAk3mGs0ipa1nfpBAdTnted/KscPLbOgzBU3Dg02QeeUZKG67pm/Fl/MMaRB4HM
|
||||
rhbko0M/jSkn8zB6ggF0U3kcy16EVc6ANMvXvuD5MC4op5iIretj2Y2tcbYpfT4f
|
||||
aOpfquq/scXvVugoK77CzxCBLKWkTglPTPGXT1T4i0dh4t8jl4wvqi1IykriKNAc
|
||||
FIukM3ZHU460M78oWr0pWtr1qyuXeKE4IjV6PiUh2wr2YEmiy1d4Rf7M9hKV4ACs
|
||||
Dm1ONnrMcAN0W6brkfr8Vo/3ud3gXlJjEY7HRk9GzPs3lZk6d+MtDxe25qLQmM3Y
|
||||
+KbVsi937gUi4lB27GfZTBxEhqw6OQZegQW/DD6kB6UARVrG/n4TPQe25KgIkZ0w
|
||||
iTj2qs3MQfx+zAGwFO7ihFLd8kGmEMryn+wldPKbK2Li5m5oMEByQVi+jhIt+cSr
|
||||
jj8ls0NuDHU=
|
||||
=LLM6
|
||||
-----END PGP SIGNATURE-----
|
3
supermin-5.2.1.tar.gz
Normal file
3
supermin-5.2.1.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c45d8479b6da8ea55ca2c4b82b2c8bc7c2e6f724cf59c980df1dec93fb578ffb
|
||||
size 548550
|
17
supermin-5.2.1.tar.gz.sig
Normal file
17
supermin-5.2.1.tar.gz.sig
Normal file
@ -0,0 +1,17 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQJFBAABCAAvFiEE93dPsa0HSn6Mh2fqkXOPc+G3aKAFAmAXzH4RHHJpY2hAYW5u
|
||||
ZXhpYS5vcmcACgkQkXOPc+G3aKDLlxAAuqTnWZF8M4KYwSY1XydtgsF4CGjUmhHM
|
||||
/L6KRsVOR7+hc/yevg/ZJMYieRs1jSW0FHh/16AdRjLRuLhV4BFZGd3wybbYsNUe
|
||||
aIrbG4dna7pjRYN6wKZIWTNfiYnf7Mqd0MvTfU6rUN0P8O0skbI1xUpcDnViP+GR
|
||||
sI+yIhM/EpithouoRBqz3sSDtkImXbepSphhnxMb64At6eLWDD09F32uHSqMBALI
|
||||
ThFeu6mGWNvdsbJAVzDjoXGOynthMLGSb4mE0+uPDP3rFs0FhygNtcdn2KQDTG1S
|
||||
Jd7MQ2/3w/BilSDTUY/sxqED04GSARxKINgFIOcmHvDnyPltLRX8ET8hCtCkNT1Y
|
||||
6DgOvUpf77cRKZR6PiQYwor7/bvCwWmOF4AtEaq1x6aWm4D/qFrtN+ofWYsJC5Kz
|
||||
qBEas7lR40SiiE8EKFDdEoyazps4ZVl5RpZO6Re4yhPbtLhiT8hwzyyNaia9MTyU
|
||||
k6hU8fivnvnMCAwksJwBN35HxCRgHpOK/CP1IvoxuGA0Q5zwDp7KiHqQjszI5LIa
|
||||
i2N4VNVwRi/MRrtu7l+B63elKH52SFOJhnLUdUhAJFVhB1jqXZ2y8kOWiZwB2dFc
|
||||
7KPfkyGRoK39U7ipoI5sUThxl7tfkJSHpbo9/SEL7wFx2fL64oCqdz6t5T4ERPia
|
||||
6ZGfgCLJNMU=
|
||||
=aVXZ
|
||||
-----END PGP SIGNATURE-----
|
@ -1,6 +1,6 @@
|
||||
--- supermin-5.2.0/src/format_ext2_kernel.ml 2021/02/05 16:10:36 1.1
|
||||
+++ supermin-5.2.0/src/format_ext2_kernel.ml 2021/02/05 16:12:46
|
||||
@@ -212,6 +212,16 @@
|
||||
--- supermin-5.2.1.orig/src/format_ext2_kernel.ml
|
||||
+++ supermin-5.2.1/src/format_ext2_kernel.ml
|
||||
@@ -213,6 +213,16 @@ and get_kernel_version debug kernel_file
|
||||
| None ->
|
||||
(* Try to work it out from the filename instead. *)
|
||||
let basename = Filename.basename kernel_file in
|
||||
|
@ -1,3 +1,10 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 25 08:48:22 MDT 2021 - carnold@suse.com
|
||||
|
||||
- Update to 5.2.1 bug fix release. Include post 5.2.1 upstream fix.
|
||||
Avoid-lstat-Value-too-large-for-defined-data-type.patch
|
||||
disable-test-if-newer-ext2.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 1 13:56:13 UTC 2021 - Andreas Schwab <schwab@suse.de>
|
||||
|
||||
|
@ -17,18 +17,20 @@
|
||||
|
||||
|
||||
Name: supermin
|
||||
Version: 5.2.0
|
||||
Version: 5.2.1
|
||||
Release: 0
|
||||
Summary: Bootstrapping tool for creating supermin appliances
|
||||
License: GPL-3.0-or-later
|
||||
Group: System/Filesystems
|
||||
URL: https://libguestfs.org/
|
||||
Source0: https://download.libguestfs.org/supermin/5.2-stable/supermin-5.2.0.tar.gz
|
||||
Source1: https://download.libguestfs.org/supermin/5.2-stable/supermin-5.2.0.tar.gz.sig
|
||||
Source0: https://download.libguestfs.org/supermin/5.2-stable/supermin-5.2.1.tar.gz
|
||||
Source1: https://download.libguestfs.org/supermin/5.2-stable/supermin-5.2.1.tar.gz.sig
|
||||
Source9: supermin.keyring
|
||||
# Pending upstream review
|
||||
Patch0: suse_release.patch
|
||||
Patch1: supermin-kernel_version_compressed.patch
|
||||
Patch0: Avoid-lstat-Value-too-large-for-defined-data-type.patch
|
||||
Patch10: suse_release.patch
|
||||
Patch11: supermin-kernel_version_compressed.patch
|
||||
Patch12: disable-test-if-newer-ext2.patch
|
||||
BuildRequires: augeas
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: automake
|
||||
|
@ -53,7 +53,7 @@
|
||||
+ be read or the ID_LIKE field is not defined. *)
|
||||
--- a/src/ph_rpm.ml
|
||||
+++ b/src/ph_rpm.ml
|
||||
@@ -42,6 +42,7 @@ let opensuse_detect () =
|
||||
@@ -43,6 +43,7 @@ let opensuse_detect () =
|
||||
Config.zypper <> "no" &&
|
||||
(List.mem (Os_release.get_id ()) [ "sled"; "sles" ] ||
|
||||
string_prefix "opensuse" (Os_release.get_id ()) ||
|
||||
|
Loading…
Reference in New Issue
Block a user