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 2021-03-12 13:30:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dd_rescue (Old)
 and      /work/SRC/openSUSE:Factory/.dd_rescue.new.2401 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "dd_rescue"

Fri Mar 12 13:30:12 2021 rev:49 rq:878072 version:1.99.10

Changes:
--------
--- /work/SRC/openSUSE:Factory/dd_rescue/dd_rescue.changes      2021-03-02 
15:13:55.933447034 +0100
+++ /work/SRC/openSUSE:Factory/.dd_rescue.new.2401/dd_rescue.changes    
2021-03-12 13:30:13.550065466 +0100
@@ -1,0 +2,38 @@
+Tue Mar  9 19:00:02 CET 2021 - k...@garloff.de
+
+- checksum_file-clear-errno.diff: Avoid stale errno to be picked
+  up and report an error without any error actually occuring.
+  (This lead to occasional build fails on armv7 on Ubuntu 20.04
+   and Fedora 32/33, nowhere else.)
+
+-------------------------------------------------------------------
+Mon Mar  8 09:50:58 CET 2021 - k...@garloff.de
+
+- Update to dd_rescue-1.99.10:
+  * Improve memory clobbers: Ensure we specify full array lengths
+    used as input to asm (boo#1181402).
+  * Improve ARM64 crypto by better insn scheduling in CTR calc,
+    avoiding dependencies and local vars (+40% performance!).
+  * Apply all ARM64 improvements also to ARMv8 crypto on ARM32.
+  * Fix warning int formatting on unaligned crypto.
+  * Address warnings on outdated autoconf usage.
+
+-------------------------------------------------------------------
+Mon Mar  1 08:05:09 CET 2021 - Kurt Garloff <k...@garloff.de>
+
+- Update to dd_rescue-1.99.9:
+  * Includes aliasing fixes from boo#1181402.
+  * Additional mem clobbers for asm statements (boo#1181402).
+  * LTO disablement still needed (boo#1176219) on arm due to
+    differences in compiler flags (-march) per object.
+  * Fix dependency generation on PPC (preprocessing intrinsics).
+  * Support xattr decls in sys/xattr.h in addition to attr/xattr.h.
+  * More stringent check of mem alloc return values.
+  * Free all memory in error path before exiting (cosmetic).
+  * Don't need global variable in probe function.
+  * drop ddr_1998-alg-caseindep.diff, ddr_1998-check-nofail-noxattr.diff,
+    ddr_1998-ossl11-warn.diff, ddr_1998-sysrandom.diff,
+    ddr_1998-testhole.diff: patches all merged (they were backports)
+- drop fix-aliasing-aarch64.patch: obsolete (fixed differently in new version)
+  
+-------------------------------------------------------------------

Old:
----
  dd_rescue-1.99.8.tar.bz2
  dd_rescue-1.99.8.tar.bz2.asc
  ddr_1998-alg-caseindep.diff
  ddr_1998-check-nofail-noxattr.diff
  ddr_1998-ossl11-warn.diff
  ddr_1998-sysrandom.diff
  ddr_1998-testhole.diff
  fix-aliasing-aarch64.patch

New:
----
  checksum_file-clear-errno.diff
  dd_rescue-1.99.10.tar.bz2
  dd_rescue-1.99.10.tar.bz2.asc

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ dd_rescue.spec ++++++
--- /var/tmp/diff_new_pack.ZtYq77/_old  2021-03-12 13:30:14.246066442 +0100
+++ /var/tmp/diff_new_pack.ZtYq77/_new  2021-03-12 13:30:14.250066448 +0100
@@ -21,7 +21,7 @@
 %define _lto_cflags %{nil}
 %endif
 Name:           dd_rescue
-Version:        1.99.8
+Version:        1.99.10
 Release:        0
 Summary:        Data copying in the presence of I/O Errors
 License:        GPL-2.0-only OR GPL-3.0-only
@@ -31,13 +31,7 @@
 Source1:        
http://garloff.de/kurt/linux/ddrescue/%{name}-%{version}.tar.bz2.asc
 Source2:        %{name}.keyring
 Source99:       %{name}.changes
-Patch1:         ddr_1998-alg-caseindep.diff
-Patch2:         ddr_1998-check-nofail-noxattr.diff
-Patch3:         ddr_1998-sysrandom.diff
-Patch4:         ddr_1998-testhole.diff
-Patch5:         ddr_1998-ossl11-warn.diff
-# boo#1181402
-Patch6:         fix-aliasing-aarch64.patch
+Patch11:        checksum_file-clear-errno.diff
 BuildRequires:  autoconf
 BuildRequires:  libattr-devel
 BuildRequires:  libopenssl-devel
@@ -49,7 +43,6 @@
 Recommends:     dd_rescue-crypt
 Recommends:     dd_rescue-lzo
 Recommends:     dd_rhelp
-Recommends:     libfallocate0
 # ddrescue was last used in openSUSE 11.4 (version 1.14_0.0.6)
 Provides:       ddrescue = %{version}
 Obsoletes:      ddrescue < %{version}
@@ -117,12 +110,12 @@
 
 %prep
 %setup -q
-%autopatch -p1
 # Remove build time references so build-compare can do its work
 FAKE_BUILDTIME=$(LC_ALL=C date -u -r %{SOURCE99} '+%%H:%%M')
 FAKE_BUILDDATE=$(LC_ALL=C date -u -r %{SOURCE99} '+%%b %%e %%Y')
 sed -i "s/__TIME__/\"$FAKE_BUILDTIME\"/g" dd_rescue.c
 sed -i "s/__DATE__/\"$FAKE_BUILDDATE\"/g" dd_rescue.c
+%autopatch -p1
 
 %build
 autoheader

++++++ checksum_file-clear-errno.diff ++++++
commit 91461f37813dfce13c4a30e9c7a252c1e4267b28
Author: Kurt Garloff <k...@garloff.de>
Date:   Tue Mar 9 12:31:45 2021 +0100

    Avoid reporting spurious errors.
    
    errno could have stale values which we don't want to
    report by mistake.
    
    For mysterious reasons, this caused an issue on armv7 on Fedora 32/33
    and xUbuntu 20.04, but not anywhere else. Maybe glibc is lazy there
    to initialize errno properly?
    
    Signed-off-by: Kurt Garloff <k...@garloff.de>

diff --git a/checksum_file.c b/checksum_file.c
index 61e2482..41bae1a 100644
--- a/checksum_file.c
+++ b/checksum_file.c
@@ -130,6 +130,7 @@ int get_chks(const char* cnm, const char* nm, char* chks, 
int wantedln)
 /* update chksum */
 int upd_chks(const char* cnm, const char *nm, const char *chks, int acc)
 {
+       errno = 0;
        FILE *f = fopen_chks(cnm, "r+", 0);
        int err = 0;
        char oldchks[MAXHASHSLN+2];
@@ -139,15 +140,17 @@ int upd_chks(const char* cnm, const char *nm, const char 
*chks, int acc)
                f = fopen_chks(cnm, "w", acc);
                if (!f)
                        return -errno;
-               fprintf(f, "%s *%s\n", chks, bnm);
-               err = -errno;
+               if (fprintf(f, "%s *%s\n", chks, bnm) <= 0)
+                       err = -errno;
        } else {
                off_t pos = find_chks(f, nm, oldchks, strlen(chks));
                if (pos == -ENOENT || strlen(chks) != strlen(oldchks)) {
                        fclose(f);
                        f = fopen_chks(cnm, "a", 0);
-                       fprintf(f, "%s *%s\n", chks, bnm);
-                       err = -errno;
+                       if (!f)
+                               return -errno;
+                       if (fprintf(f, "%s *%s\n", chks, bnm) <= 0)
+                               err = -errno;
                } else {
                        if (strcmp(chks, oldchks)) {
                                if (pwrite(fileno(f), chks, strlen(chks), pos) 
<= 0)
++++++ dd_rescue-1.99.8.tar.bz2 -> dd_rescue-1.99.10.tar.bz2 ++++++
++++ 3301 lines of diff (skipped)

++++++ dd_rescue.keyring ++++++
Binary files /var/tmp/diff_new_pack.ZtYq77/_old and 
/var/tmp/diff_new_pack.ZtYq77/_new differ

Reply via email to