Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package dd_rescue for openSUSE:Factory checked in at 2024-03-06 23:03:15 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/dd_rescue (Old) and /work/SRC/openSUSE:Factory/.dd_rescue.new.1770 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dd_rescue" Wed Mar 6 23:03:15 2024 rev:59 rq:1154999 version:1.99.13 Changes: -------- --- /work/SRC/openSUSE:Factory/dd_rescue/dd_rescue.changes 2023-03-19 16:16:44.331368901 +0100 +++ /work/SRC/openSUSE:Factory/.dd_rescue.new.1770/dd_rescue.changes 2024-03-06 23:03:24.810880929 +0100 @@ -1,0 +2,26 @@ +Sun Mar 3 22:47:17 CET 2024 - [email protected] + +- 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 - [email protected] + +- 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 - [email protected] + +- Specify libopenssl-devel as BuildRequirements. This will select + openssl-3 on new distributions. + This fixes [bsc#1219882]. + +------------------------------------------------------------------- New: ---- dd_rescue-md5-unaligned-armv7.diff dd_rescue-ossl3-evpcipherctx.diff BETA DEBUG BEGIN: New: - dd_rescue-md5-unaligned-armv7.diff: gcc-12 does make unaligned accesses on armv7 work sometimes, which breaks a configure test New:- 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 BETA DEBUG END: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ dd_rescue.spec ++++++ --- /var/tmp/diff_new_pack.FZdeK5/_old 2024-03-06 23:03:26.814953586 +0100 +++ /var/tmp/diff_new_pack.FZdeK5/_new 2024-03-06 23:03:26.814953586 +0100 @@ -31,12 +31,14 @@ Source1: http://garloff.de/kurt/linux/ddrescue/%{name}-%{version}.tar.bz2.asc Source2: %{name}.keyring 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 [email protected] # Remove dependency on python2 BuildRequires: autoconf BuildRequires: libattr-devel # Workaround for bsc#1193438 -BuildRequires: libopenssl-1_1-devel +BuildRequires: libopenssl-devel BuildRequires: lzo-devel BuildRequires: lzop BuildRequires: pkgconfig @@ -111,7 +113,7 @@ data to the decompressor; the plugin is still young and might expose bugs. %prep -%setup -q +%autosetup -p1 # Remove build time references so build-compare can do its work FAKE_BUILDTIME=$(LC_ALL=C date -u -r %{SOURCE99} '+%%H:%%M') ++++++ dd_rescue-md5-unaligned-armv7.diff ++++++ commit 19da344403f9d340d7343e99df6ec3e4b79684d9 Author: Kurt Garloff <[email protected]> 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 <[email protected]> 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; } ]])],[ ++++++ dd_rescue-ossl3-evpcipherctx.diff ++++++ commit ce925927fdcc5e41f1a8975f31405f913a6583d1 Author: Kurt Garloff <[email protected]> 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 <[email protected]> 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;
