summaryrefslogtreecommitdiff
path: root/sys-fs
diff options
context:
space:
mode:
authorThomas Deutschmann <whissi@gentoo.org>2020-05-03 21:48:57 +0200
committerThomas Deutschmann <whissi@gentoo.org>2020-05-03 21:51:37 +0200
commit9bc102eea96b304ee47910df2738c64c1b551e0d (patch)
tree9cb13c4bd55bc974300281ba7138fcca39a935ca /sys-fs
parentsys-fs/dd-rescue: fix tests under GCC 10 (diff)
downloadgentoo-9bc102eea96b304ee47910df2738c64c1b551e0d.tar.gz
gentoo-9bc102eea96b304ee47910df2738c64c1b551e0d.tar.bz2
gentoo-9bc102eea96b304ee47910df2738c64c1b551e0d.zip
sys-fs/dd-rescue: use sys/random.h for getrandom() decl if present
Package-Manager: Portage-2.3.99, Repoman-2.3.22 Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
Diffstat (limited to 'sys-fs')
-rw-r--r--sys-fs/dd-rescue/dd-rescue-1.99.8-r1.ebuild (renamed from sys-fs/dd-rescue/dd-rescue-1.99.8.ebuild)2
-rw-r--r--sys-fs/dd-rescue/files/dd-rescue-1.99.8-sysrandom.patch27
-rw-r--r--sys-fs/dd-rescue/files/dd-rescue-1.99.8-testhole.patch32
3 files changed, 61 insertions, 0 deletions
diff --git a/sys-fs/dd-rescue/dd-rescue-1.99.8.ebuild b/sys-fs/dd-rescue/dd-rescue-1.99.8-r1.ebuild
index 85a5845b2509..d421dc83aa03 100644
--- a/sys-fs/dd-rescue/dd-rescue-1.99.8.ebuild
+++ b/sys-fs/dd-rescue/dd-rescue-1.99.8-r1.ebuild
@@ -26,6 +26,8 @@ S="${WORKDIR}/${MY_P}"
PATCHES=(
"${FILESDIR}"/${MY_PN}-1.99-musl-r2.patch
"${FILESDIR}"/${PN}-1.99.8-xattr.patch
+ "${FILESDIR}"/${PN}-1.99.8-sysrandom.patch
+ "${FILESDIR}"/${PN}-1.99.8-testhole.patch
)
src_prepare() {
diff --git a/sys-fs/dd-rescue/files/dd-rescue-1.99.8-sysrandom.patch b/sys-fs/dd-rescue/files/dd-rescue-1.99.8-sysrandom.patch
new file mode 100644
index 000000000000..5ef3da297747
--- /dev/null
+++ b/sys-fs/dd-rescue/files/dd-rescue-1.99.8-sysrandom.patch
@@ -0,0 +1,27 @@
+Use sys/random.h for getrandom() decl if present.
+
+--- a/configure.in
++++ b/configure.in
+@@ -6,7 +6,7 @@ AC_C_INLINE
+ AC_HEADER_STDC
+ #AC_PROG_INSTALL
+ #CFLAGS="$CFLAGS -DHAVE_CONFIG_H"
+-AC_CHECK_HEADERS([fallocate.h dlfcn.h unistd.h sys/xattr.h sys/acl.h sys/ioctl.h sys/reg.h endian.h linux/fs.h linux/fiemap.h stdint.h lzo/lzo1x.h openssl/evp.h linux/random.h malloc.h sched.h sys/statvfs.h])
++AC_CHECK_HEADERS([fallocate.h dlfcn.h unistd.h sys/xattr.h sys/acl.h sys/ioctl.h sys/reg.h endian.h linux/fs.h linux/fiemap.h stdint.h lzo/lzo1x.h openssl/evp.h linux/random.h sys/random.h malloc.h sched.h sys/statvfs.h])
+ AC_CHECK_FUNCS([ffs ffsl basename fallocate64 splice getopt_long open64 pread pread64 lseek64 stat64 posix_fadvise posix_fadvise64 __builtin_prefetch htobe64 feof_unlocked getline getentropy getrandom posix_memalign valloc sched_yield fstatvfs __builtin_cpu_supports])
+ AC_CHECK_LIB(dl,dlsym)
+ AC_CHECK_LIB(fallocate,linux_fallocate64)
+--- a/random.c
++++ b/random.c
+@@ -23,6 +23,10 @@ typedef unsigned int __u32;
+ #include <linux/random.h>
+ #endif
+
++#ifdef HAVE_SYS_RANDOM_H
++#include <sys/random.h>
++#endif
++
+ static void msleep(unsigned int msecs)
+ {
+ struct timespec ts1, ts2;
+
diff --git a/sys-fs/dd-rescue/files/dd-rescue-1.99.8-testhole.patch b/sys-fs/dd-rescue/files/dd-rescue-1.99.8-testhole.patch
new file mode 100644
index 000000000000..444907088b3b
--- /dev/null
+++ b/sys-fs/dd-rescue/files/dd-rescue-1.99.8-testhole.patch
@@ -0,0 +1,32 @@
+commit 7f2ff6434586083747bc5d046e0207886025e684
+Author: Kurt Garloff <kurt@garloff.de>
+Date: Sat May 12 09:54:45 2018 +0000
+
+ Fix test case by ensuring there is a hole ...
+
+diff --git a/test_crypt.sh b/test_crypt.sh
+index 47f1fc9..62cf853 100755
+--- a/test_crypt.sh
++++ b/test_crypt.sh
+@@ -52,13 +52,20 @@ rm dd_rescue2
+
+ # Holes (all), skiphole
+ echo "*** Holes ***"
++# Produce file that consists of dd_rescue + hole + dd_rescue
+ ./dd_rescue -qpt dd_rescue dd_rescue3
+ ./dd_rescue -qS 512k dd_rescue dd_rescue3
++# Ensure there is a hole even if dd_rescue is long
++./dd_rescue -qS 384k -m 128k /dev/zero dd_rescue3
++# Test without and with skiphole
+ enc_dec_compare_keys dd_rescue3 AES192-CTR keygen:ivgen "" "" "-qpt"
+ enc_dec_compare_keys dd_rescue3 AES192-CTR keygen:ivgen skiphole "" "-qpt"
++# Store 384k-512k in cmp3
+ ./dd_rescue -qt -s 384k -m 128k -S 0 dd_rescue3.cmp dd_rescue3.cmp3
++# Should be 128k of zeroes
+ ./dd_rescue -qm 128k /dev/zero dd_rescue3.cmp2
+ cmp dd_rescue3.cmp2 dd_rescue3.cmp3 || exit 4
++# Repeat test with reverse
+ enc_dec_compare_keys dd_rescue3 AES192-CTR keygen:ivgen "" "" "-qptr"
+ enc_dec_compare_keys dd_rescue3 AES192-CTR keygen:ivgen skiphole "" "-qptr"
+ ./dd_rescue -qt -s 384k -m 128k -S 0 dd_rescue3.cmp dd_rescue3.cmp3
+