diff options
author | Thomas Deutschmann <whissi@gentoo.org> | 2020-05-03 21:48:57 +0200 |
---|---|---|
committer | Thomas Deutschmann <whissi@gentoo.org> | 2020-05-03 21:51:37 +0200 |
commit | 9bc102eea96b304ee47910df2738c64c1b551e0d (patch) | |
tree | 9cb13c4bd55bc974300281ba7138fcca39a935ca /sys-fs/dd-rescue | |
parent | sys-fs/dd-rescue: fix tests under GCC 10 (diff) | |
download | gentoo-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/dd-rescue')
-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.patch | 27 | ||||
-rw-r--r-- | sys-fs/dd-rescue/files/dd-rescue-1.99.8-testhole.patch | 32 |
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 + |