Accepting request 1154999 from Base:System
OBS-URL: https://build.opensuse.org/request/show/1154999 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/dd_rescue?expand=0&rev=59
This commit is contained in:
commit
93c0b64f8a
44
dd_rescue-md5-unaligned-armv7.diff
Normal file
44
dd_rescue-md5-unaligned-armv7.diff
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
commit 19da344403f9d340d7343e99df6ec3e4b79684d9
|
||||||
|
Author: Kurt Garloff <kurt@garloff.de>
|
||||||
|
Date: Sun Mar 3 21:53:21 2024 +0100
|
||||||
|
|
||||||
|
Trouble is that we don't detect that ARMv7 requires extra buffering
|
||||||
|
is md5 input is not properly aligned. gcc-12 apparently is clever enough
|
||||||
|
to handle unlaigned memory access for us, which makes us succeed in the
|
||||||
|
testcase. It's not clever enough to also succeed in md5_64() :-O
|
||||||
|
|
||||||
|
Signed-off-by: Kurt Garloff <kurt@garloff.de>
|
||||||
|
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index d99387c..7a7dccf 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -60,7 +60,7 @@ AC_RUN_IFELSE([AC_LANG_SOURCE([[
|
||||||
|
AC_DEFINE_UNQUOTED([HAVE_REP_NOP], 1,
|
||||||
|
[check whether asm rep nop works])
|
||||||
|
],[
|
||||||
|
- AC_MSG_RESULT(yes)
|
||||||
|
+ AC_MSG_RESULT(no)
|
||||||
|
],[
|
||||||
|
AC_MSG_RESULT(no -- cross compiling)
|
||||||
|
])
|
||||||
|
@@ -79,7 +79,7 @@ AC_RUN_IFELSE([AC_LANG_SOURCE([[
|
||||||
|
AC_DEFINE_UNQUOTED([HAVE_LFENCE], 1,
|
||||||
|
[check whether asm lfence works])
|
||||||
|
],[
|
||||||
|
- AC_MSG_RESULT(yes)
|
||||||
|
+ AC_MSG_RESULT(no)
|
||||||
|
],[
|
||||||
|
AC_MSG_RESULT(no -- cross compiling)
|
||||||
|
])
|
||||||
|
@@ -171,6 +171,10 @@ AC_RUN_IFELSE([AC_LANG_SOURCE([[
|
||||||
|
fprintf(stderr, "Debug: Off %i, Ptr %08lx\n", off, (unsigned long)ptr);
|
||||||
|
copy((int*)b2, (const int*)ptr, 4);
|
||||||
|
fprintf(stderr, "Ints: %08x %08x %08x %08x\n", *(int*)b2, *(int*)(b2+4), *(int*)(b2+8), *(int*)(b2+12));
|
||||||
|
+ /* HACK: Somehow this test does no longer trigger with gcc-12 on armhf, but it should */
|
||||||
|
+ #ifdef __arm__
|
||||||
|
+ return 1;
|
||||||
|
+ #endif
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
]])],[
|
26
dd_rescue-ossl3-evpcipherctx.diff
Normal file
26
dd_rescue-ossl3-evpcipherctx.diff
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
commit ce925927fdcc5e41f1a8975f31405f913a6583d1
|
||||||
|
Author: Kurt Garloff <kurt@garloff.de>
|
||||||
|
Date: Wed Feb 28 22:49:18 2024 +0100
|
||||||
|
|
||||||
|
Adjust struct _evp_cipher_ctx_st to openssl-3.0.6+.
|
||||||
|
|
||||||
|
This is only done if the version is indeed >= 3.0.6.
|
||||||
|
It's only relevant on 32bit, as the alignment rules on 64bit
|
||||||
|
do hide this difference.
|
||||||
|
|
||||||
|
Signed-off-by: Kurt Garloff <kurt@garloff.de>
|
||||||
|
|
||||||
|
diff --git a/aes_ossl11.c b/aes_ossl11.c
|
||||||
|
index 2fa4468..e450f4e 100644
|
||||||
|
--- a/aes_ossl11.c
|
||||||
|
+++ b/aes_ossl11.c
|
||||||
|
@@ -45,6 +45,9 @@ struct _evp_cipher_ctx_st {
|
||||||
|
/* FIXME: Should this even exist? It appears unused */
|
||||||
|
void *app_data; /* application stuff */
|
||||||
|
int key_len; /* May change for variable length cipher */
|
||||||
|
+#if OPENSSL_VERSION_MAJOR >= 3 && (OPENSSL_VERSION_MINOR > 0 || OPENSSL_VERSION_PATCH >= 6)
|
||||||
|
+ int iv_len; /* IV length */
|
||||||
|
+#endif
|
||||||
|
unsigned long flags; /* Various flags */
|
||||||
|
void *cipher_data; /* per EVP data */
|
||||||
|
int final_used;
|
@ -1,3 +1,29 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Mar 3 22:47:17 CET 2024 - kurt@garloff.de
|
||||||
|
|
||||||
|
- dd_rescue-md5-unaligned-armv7.diff: gcc-12 does make unaligned
|
||||||
|
accesses on armv7 work sometimes, which breaks a configure test
|
||||||
|
and then makes the make check fail with SIGBUS when using hash
|
||||||
|
after lzo compression. Hardcode knowledge about armv7.
|
||||||
|
- Drop %setup (not needed if using %autosetup, thanks Valentin!)
|
||||||
|
- Mention [bsc#1219882], as suggested by Valentin Lefebvre.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Feb 29 09:20:59 CET 2024 - kurt@garloff.de
|
||||||
|
|
||||||
|
- Fix openssl version detection for 3.0.x.
|
||||||
|
- dd_rescue-ossl3-evpcipherctx.diff: There's an additional field
|
||||||
|
in the (private) struct _evp_cipher_ctx_st in openssl-3 since
|
||||||
|
3.0.6, which makes a difference on 32bit. (On 64bit, the effect
|
||||||
|
is hidden by the compiler's alignment rules.)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Feb 28 20:21:01 CET 2024 - kurt@garloff.de
|
||||||
|
|
||||||
|
- Specify libopenssl-devel as BuildRequirements. This will select
|
||||||
|
openssl-3 on new distributions.
|
||||||
|
This fixes [bsc#1219882].
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Mar 17 08:54:11 CET 2023 - kurt@garloff.de
|
Fri Mar 17 08:54:11 CET 2023 - kurt@garloff.de
|
||||||
|
|
||||||
|
@ -31,12 +31,14 @@ Source0: http://garloff.de/kurt/linux/ddrescue/%{name}-%{version}.tar.bz2
|
|||||||
Source1: http://garloff.de/kurt/linux/ddrescue/%{name}-%{version}.tar.bz2.asc
|
Source1: http://garloff.de/kurt/linux/ddrescue/%{name}-%{version}.tar.bz2.asc
|
||||||
Source2: %{name}.keyring
|
Source2: %{name}.keyring
|
||||||
Source99: %{name}.changes
|
Source99: %{name}.changes
|
||||||
|
Patch1: dd_rescue-ossl3-evpcipherctx.diff
|
||||||
|
Patch2: dd_rescue-md5-unaligned-armv7.diff
|
||||||
# PATCH-FIX-UPSTREAM no-python2.patch sf#ddrescue#4 mcepl@suse.com
|
# PATCH-FIX-UPSTREAM no-python2.patch sf#ddrescue#4 mcepl@suse.com
|
||||||
# Remove dependency on python2
|
# Remove dependency on python2
|
||||||
BuildRequires: autoconf
|
BuildRequires: autoconf
|
||||||
BuildRequires: libattr-devel
|
BuildRequires: libattr-devel
|
||||||
# Workaround for bsc#1193438
|
# Workaround for bsc#1193438
|
||||||
BuildRequires: libopenssl-1_1-devel
|
BuildRequires: libopenssl-devel
|
||||||
BuildRequires: lzo-devel
|
BuildRequires: lzo-devel
|
||||||
BuildRequires: lzop
|
BuildRequires: lzop
|
||||||
BuildRequires: pkgconfig
|
BuildRequires: pkgconfig
|
||||||
@ -111,7 +113,7 @@ though more will have to be done to feel confident about feeding untrusted
|
|||||||
data to the decompressor; the plugin is still young and might expose bugs.
|
data to the decompressor; the plugin is still young and might expose bugs.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%autosetup -p1
|
||||||
|
|
||||||
# Remove build time references so build-compare can do its work
|
# Remove build time references so build-compare can do its work
|
||||||
FAKE_BUILDTIME=$(LC_ALL=C date -u -r %{SOURCE99} '+%%H:%%M')
|
FAKE_BUILDTIME=$(LC_ALL=C date -u -r %{SOURCE99} '+%%H:%%M')
|
||||||
|
Loading…
x
Reference in New Issue
Block a user