commit:     06f0223d5bc847992d64beab1d511540eabe3a11
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon May 13 12:31:16 2024 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon May 13 12:37:57 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=06f0223d

sys-fs/duperemove: Backport a type fix for 32-bit systems

Closes: https://bugs.gentoo.org/928358
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 ...e-0.14.1.ebuild => duperemove-0.14.1-r1.ebuild} |  7 +++-
 .../duperemove/files/duperemove-0.14.1-32bit.patch | 37 ++++++++++++++++++++++
 2 files changed, 43 insertions(+), 1 deletion(-)

diff --git a/sys-fs/duperemove/duperemove-0.14.1.ebuild 
b/sys-fs/duperemove/duperemove-0.14.1-r1.ebuild
similarity index 83%
rename from sys-fs/duperemove/duperemove-0.14.1.ebuild
rename to sys-fs/duperemove/duperemove-0.14.1-r1.ebuild
index 8ce73d66e3e1..30aacbdaf841 100644
--- a/sys-fs/duperemove/duperemove-0.14.1.ebuild
+++ b/sys-fs/duperemove/duperemove-0.14.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -26,6 +26,11 @@ RDEPEND="
        ${DEPEND}
 "
 
+PATCHES=(
+       # https://github.com/markfasheh/duperemove/issues/344
+       "${FILESDIR}/${P}-32bit.patch"
+)
+
 src_compile() {
        emake VERSION="${PV}" IS_RELEASE=1 CC="$(tc-getCC)" CFLAGS="${CFLAGS} 
-Wall"
 }

diff --git a/sys-fs/duperemove/files/duperemove-0.14.1-32bit.patch 
b/sys-fs/duperemove/files/duperemove-0.14.1-32bit.patch
new file mode 100644
index 000000000000..6e2ebf79f063
--- /dev/null
+++ b/sys-fs/duperemove/files/duperemove-0.14.1-32bit.patch
@@ -0,0 +1,37 @@
+From 9e97c827707e9d709180a12ddfa16527e36fc676 Mon Sep 17 00:00:00 2001
+From: Alexandre Bruyelles <[email protected]>
+Date: Sun, 12 May 2024 19:45:52 +0200
+Subject: [PATCH] fiemap: fiemap_count_shared: use coherent parameter size
+
+Fixes https://github.com/markfasheh/duperemove/issues/344
+
+Signed-off-by: Alexandre Bruyelles <[email protected]>
+---
+ fiemap.c | 2 +-
+ fiemap.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/fiemap.c b/fiemap.c
+index aa61114431bd..655797dc4d91 100644
+--- a/fiemap.c
++++ b/fiemap.c
+@@ -98,7 +98,7 @@ struct fiemap *do_fiemap(int fd)
+       return fiemap;
+ }
+ 
+-int fiemap_count_shared(int fd, size_t start_off, size_t end_off, size_t 
*shared)
++int fiemap_count_shared(int fd, size_t start_off, size_t end_off, uint64_t 
*shared)
+ {
+       _cleanup_(freep) struct fiemap *fiemap = NULL;
+       struct fiemap_extent *extent;
+diff --git a/fiemap.h b/fiemap.h
+index f9eb17b9aa4a..1918c6e96322 100644
+--- a/fiemap.h
++++ b/fiemap.h
+@@ -26,5 +26,5 @@ struct fiemap *do_fiemap(int fd);
+ /*
+  * Count how much of the area between start_off and end_off is shared.
+  */
+-int fiemap_count_shared(int fd, size_t start_off, size_t end_off, size_t 
*shared);
++int fiemap_count_shared(int fd, size_t start_off, size_t end_off, uint64_t 
*shared);
+ #endif        /* __FIEMAP_H__ */

Reply via email to