summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-misc/scrub')
-rw-r--r--app-misc/scrub/files/scrub-2.6.1-bashism-tests.patch85
-rw-r--r--app-misc/scrub/files/scrub-2.6.1-implicit-function-declaration-test.patch22
-rw-r--r--app-misc/scrub/files/scrub-2.6.1-tests-block-size.patch294
-rw-r--r--app-misc/scrub/scrub-2.6.1-r1.ebuild18
-rw-r--r--app-misc/scrub/scrub-2.6.1.ebuild16
5 files changed, 419 insertions, 16 deletions
diff --git a/app-misc/scrub/files/scrub-2.6.1-bashism-tests.patch b/app-misc/scrub/files/scrub-2.6.1-bashism-tests.patch
new file mode 100644
index 000000000000..17999f341cd2
--- /dev/null
+++ b/app-misc/scrub/files/scrub-2.6.1-bashism-tests.patch
@@ -0,0 +1,85 @@
+https://github.com/chaos/scrub/pull/31
+
+From 545d1b9cae8da18864277ca14a227d4adfafdc32 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Sun, 10 Jul 2022 10:23:09 +0100
+Subject: [PATCH] test: fix bashisms in tests
+
+We're using a /bin/sh shebang but the tests aren't
+compatible with a POSIX-compliant /bin/sh (like dash,
+instead of the usual bash).
+
+Switch to = instead of == which works the same but
+works with both Bash and dash.
+
+If desired, we could switch the shebangs to
+/bin/bash which would work.
+
+(Notably, Debian defaults to dash as /bin/sh).
+--- a/test/t09
++++ b/test/t09
+@@ -4,7 +4,7 @@
+
+ TEST=`basename $0 | cut -d- -f1`
+ # Test requires root
+-test `id -u` == 0 || exit 77
++test `id -u` = 0 || exit 77
+
+ EXPFILE=${TEST}-`hostname`.exp
+ TESTDEV=/dev/scrub-testdisk
+--- a/test/t10
++++ b/test/t10
+@@ -4,7 +4,7 @@
+
+ TEST=`basename $0 | cut -d- -f1`
+ # Test requires root
+-test `id -u` == 0 || exit 77
++test `id -u` = 0 || exit 77
+
+ EXPFILE=${TEST}-`hostname`.exp
+ test -f $EXPFILE || exit 77
+--- a/test/t18
++++ b/test/t18
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ TEST=`basename $0 | cut -d- -f1`
+ # Test requires root
+-test `id -u` == 0 || exit 77
++test `id -u` = 0 || exit 77
+
+ TMPLATE="${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"
+ TESTDIR=`mktemp -d $TMPLATE` || exit 1
+--- a/test/t19
++++ b/test/t19
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ TEST=`basename $0 | cut -d- -f1`
+ # Test requires root
+-test `id -u` == 0 || exit 77
++test `id -u` = 0 || exit 77
+ LOOPFILE=`losetup -f` || exit 77
+ TMPLATE="${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"
+ TESTFILE=`mktemp $TMPLATE` || exit 1
+--- a/test/t20
++++ b/test/t20
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ TEST=`basename $0 | cut -d- -f1`
+ # Test requires root
+-test `id -u` == 0 || exit 77
++test `id -u` = 0 || exit 77
+ LOOPFILE=`losetup -f` || exit 77
+ TMPLATE="${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"
+ TESTFILE=`mktemp $TMPLATE` || exit 1
+--- a/test/t21
++++ b/test/t21
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ TEST=`basename $0 | cut -d- -f1`
+ # Test requires root
+-test `id -u` == 0 || exit 77
++test `id -u` = 0 || exit 77
+
+ TMPLATE="${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"
+
+
diff --git a/app-misc/scrub/files/scrub-2.6.1-implicit-function-declaration-test.patch b/app-misc/scrub/files/scrub-2.6.1-implicit-function-declaration-test.patch
new file mode 100644
index 000000000000..8d6b40a97536
--- /dev/null
+++ b/app-misc/scrub/files/scrub-2.6.1-implicit-function-declaration-test.patch
@@ -0,0 +1,22 @@
+https://github.com/chaos/scrub/commit/188d999e2fb038dc702b47750d235ffd284dd518
+
+From 188d999e2fb038dc702b47750d235ffd284dd518 Mon Sep 17 00:00:00 2001
+From: Jim Garlick <garlick.jim@gmail.com>
+Date: Wed, 21 Jul 2021 13:09:57 -0700
+Subject: [PATCH] test: fix missing include in test program
+
+Problem: tgetsize emits a compiler warning because
+strerror() is not defined.
+
+Include string.h to get the definition of strerror.
+--- a/test/tgetsize.c
++++ b/test/tgetsize.c
+@@ -20,6 +20,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <libgen.h>
++#include <string.h>
+
+ #include "getsize.h"
+
+
diff --git a/app-misc/scrub/files/scrub-2.6.1-tests-block-size.patch b/app-misc/scrub/files/scrub-2.6.1-tests-block-size.patch
new file mode 100644
index 000000000000..d2c1c9612e67
--- /dev/null
+++ b/app-misc/scrub/files/scrub-2.6.1-tests-block-size.patch
@@ -0,0 +1,294 @@
+Fixes test failures on ZFS.
+
+https://github.com/chaos/scrub/commit/5c66fc0537f4ecb21d4c3dcdd9020a02c8a2d819
+
+From 5c66fc0537f4ecb21d4c3dcdd9020a02c8a2d819 Mon Sep 17 00:00:00 2001
+From: Jim Garlick <garlick.jim@gmail.com>
+Date: Mon, 9 Mar 2015 16:20:38 -0700
+Subject: [PATCH] test: use a power of 2 for file sizes
+
+Reduce the change of tests failing due to block size round-up.
+Freebsd was failing that way.
+--- a/test/t02
++++ b/test/t02
+@@ -1,6 +1,6 @@
+ #!/bin/sh
+ TESTFILE=${TMPDIR:-/tmp}/scrub-testfile.$$
+ rm -f $TESTFILE
+-./pad 400k $TESTFILE || exit 1
++./pad 512k $TESTFILE || exit 1
+ $PATH_SCRUB -r $TESTFILE 2>&1 | sed -e "s!${TESTFILE}!file!" >t02.out || exit 1
+ diff t02.exp t02.out >t02.diff
+--- a/test/t02.exp
++++ b/test/t02.exp
+@@ -1,5 +1,5 @@
+ scrub: using NNSA NAP-14.1-C patterns
+-scrub: scrubbing file 409600 bytes (~400KB)
++scrub: scrubbing file 524288 bytes (~512KB)
+ scrub: random |................................................|
+ scrub: random |................................................|
+ scrub: 0x00 |................................................|
+--- a/test/t03
++++ b/test/t03
+@@ -1,6 +1,6 @@
+ #!/bin/sh
+ TESTFILE=${TMPDIR:-/tmp}/scrub-testfile.$$
+ rm -f $TESTFILE
+-./pad 400k $TESTFILE || exit 1
++./pad 512k $TESTFILE || exit 1
+ $PATH_SCRUB -r -p dod $TESTFILE 2>&1 | sed -e "s!$TESTFILE!file!" >t03.out || exit 1
+ diff t03.exp t03.out >t03.diff
+--- a/test/t03.exp
++++ b/test/t03.exp
+@@ -1,5 +1,5 @@
+ scrub: using DoD 5220.22-M patterns
+-scrub: scrubbing file 409600 bytes (~400KB)
++scrub: scrubbing file 524288 bytes (~512KB)
+ scrub: random |................................................|
+ scrub: 0x00 |................................................|
+ scrub: 0xff |................................................|
+--- a/test/t04
++++ b/test/t04
+@@ -1,6 +1,6 @@
+ #!/bin/sh
+ TESTFILE=${TMPDIR:-/tmp}/scrub-testfile.$$
+ rm -f $TESTFILE
+-./pad 400k $TESTFILE || exit 1
++./pad 512k $TESTFILE || exit 1
+ $PATH_SCRUB -r -p bsi $TESTFILE 2>&1 | sed -e "s!$TESTFILE!file!" >t04.out || exit 1
+ diff t04.exp t04.out >t04.diff
+--- a/test/t04.exp
++++ b/test/t04.exp
+@@ -1,5 +1,5 @@
+ scrub: using BSI patterns
+-scrub: scrubbing file 409600 bytes (~400KB)
++scrub: scrubbing file 524288 bytes (~512KB)
+ scrub: 0xff |................................................|
+ scrub: 0xfe |................................................|
+ scrub: 0xfd |................................................|
+--- a/test/t05
++++ b/test/t05
+@@ -1,6 +1,6 @@
+ #!/bin/sh
+ TESTFILE=${TMPDIR:-/tmp}/scrub-testfile.$$
+ rm -f $TESTFILE
+-./pad 400k $TESTFILE || exit 1
++./pad 512k $TESTFILE || exit 1
+ $PATH_SCRUB -r -p fastold $TESTFILE 2>&1 | sed -e "s!$TESTFILE!file!" >t05.out || exit 1
+ diff t05.exp t05.out >t05.diff
+--- a/test/t05.exp
++++ b/test/t05.exp
+@@ -1,5 +1,5 @@
+ scrub: using pre v1.7 scrub (skip random) patterns
+-scrub: scrubbing file 409600 bytes (~400KB)
++scrub: scrubbing file 524288 bytes (~512KB)
+ scrub: 0x00 |................................................|
+ scrub: 0xff |................................................|
+ scrub: 0xaa |................................................|
+--- a/test/t06
++++ b/test/t06
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ TESTFILE=${TMPDIR:-/tmp}/scrub-testfile.$$
+ rm -f $TESTFILE
+-./pad 400k $TESTFILE || exit 1
++./pad 512k $TESTFILE || exit 1
+ $PATH_SCRUB -r -p old $TESTFILE 2>&1 | sed -e "s!$TESTFILE!file!" >t06.out || exit 1
+ diff t06.exp t06.out >t06.diff
+ rc=$?
+--- a/test/t06.exp
++++ b/test/t06.exp
+@@ -1,5 +1,5 @@
+ scrub: using pre v1.7 scrub patterns
+-scrub: scrubbing file 409600 bytes (~400KB)
++scrub: scrubbing file 524288 bytes (~512KB)
+ scrub: 0x00 |................................................|
+ scrub: 0xff |................................................|
+ scrub: 0xaa |................................................|
+--- a/test/t07
++++ b/test/t07
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ TESTFILE=${TMPDIR:-/tmp}/scrub-testfile.$$
+ rm -f $TESTFILE
+-./pad 400k $TESTFILE
++./pad 512k $TESTFILE
+ (./tsig $TESTFILE && ./tsig $TESTFILE) >t07.out 2>&1
+ diff t07.exp t07.out >t07.diff
+ rc=$?
+--- a/test/t11
++++ b/test/t11
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ TESTFILE=${TMPDIR:-/tmp}/scrub-testfile.$$
+ rm -f $TESTFILE
+-./pad 400k $TESTFILE || exit 1
++./pad 512k $TESTFILE || exit 1
+ $PATH_SCRUB -r -p gutmann $TESTFILE 2>&1 | sed -e "s!$TESTFILE!file!" >t11.out || exit 1
+ diff t11.exp t11.out >t11.diff
+ rc=$?
+--- a/test/t11.exp
++++ b/test/t11.exp
+@@ -1,5 +1,5 @@
+ scrub: using Gutmann patterns
+-scrub: scrubbing file 409600 bytes (~400KB)
++scrub: scrubbing file 524288 bytes (~512KB)
+ scrub: random |................................................|
+ scrub: random |................................................|
+ scrub: random |................................................|
+--- a/test/t12
++++ b/test/t12
+@@ -1,14 +1,14 @@
+ #!/bin/sh
+ TESTFILE=${TMPDIR:-/tmp}/scrub-testfile.$$
+ rm -f $TESTFILE
+-./pad 400k $TESTFILE || exit 1
+-$PATH_SCRUB -s 400k $TESTFILE 2>&1 | sed -e "s!$TESTFILE!file!" >t12.out
++./pad 512k $TESTFILE || exit 1
++$PATH_SCRUB -s 512k $TESTFILE 2>&1 | sed -e "s!$TESTFILE!file!" >t12.out
+ test $? = 0 || exit 1
+ ./tsize $TESTFILE >>t12.out 2>&1
+-$PATH_SCRUB -f -s 300k $TESTFILE 2>&1 | sed -e "s!$TESTFILE!file!" >>t12.out
++$PATH_SCRUB -f -s 256k $TESTFILE 2>&1 | sed -e "s!$TESTFILE!file!" >>t12.out
+ test $? = 0 || exit 1
+ ./tsize $TESTFILE >>t12.out 2>&1
+-$PATH_SCRUB -f -s 500k $TESTFILE 2>&1 | sed -e "s!$TESTFILE!file!" >>t12.out
++$PATH_SCRUB -f -s 1024k $TESTFILE 2>&1 | sed -e "s!$TESTFILE!file!" >>t12.out
+ test $? = 0 || exit 1
+ ./tsize $TESTFILE >>t12.out 2>&1
+ diff t12.exp t12.out >t12.diff
+--- a/test/t12.exp
++++ b/test/t12.exp
+@@ -1,22 +1,22 @@
+ scrub: using NNSA NAP-14.1-C patterns
+-scrub: scrubbing file 409600 bytes (~400KB)
++scrub: scrubbing file 524288 bytes (~512KB)
+ scrub: random |................................................|
+ scrub: random |................................................|
+ scrub: 0x00 |................................................|
+ scrub: verify |................................................|
+-409600
++524288
+ scrub: warning: -s size < file size
+ scrub: using NNSA NAP-14.1-C patterns
+-scrub: scrubbing file 307200 bytes (~300KB)
++scrub: scrubbing file 262144 bytes (~256KB)
+ scrub: random |................................................|
+ scrub: random |................................................|
+ scrub: 0x00 |................................................|
+ scrub: verify |................................................|
+-409600
++524288
+ scrub: using NNSA NAP-14.1-C patterns
+-scrub: scrubbing file 512000 bytes (~500KB)
++scrub: scrubbing file 1048576 bytes (~1024KB)
+ scrub: random |................................................|
+ scrub: random |................................................|
+ scrub: 0x00 |................................................|
+ scrub: verify |................................................|
+-512000
++1048576
+--- a/test/t15
++++ b/test/t15
+@@ -2,7 +2,7 @@
+ TEST=`basename $0 | cut -d- -f1`
+ TESTFILE=${TMPDIR:-/tmp}/scrub-testfile.$$
+ rm -f $TESTFILE
+-./pad 400k $TESTFILE || exit 1
++./pad 512k $TESTFILE || exit 1
+
+ $PATH_SCRUB -p custom="0123456789abcdef" $TESTFILE 2>&1 \
+ | sed -e "s!${TESTFILE}!file!" 2>&1 >$TEST.out|| exit 1
+--- a/test/t15.exp
++++ b/test/t15.exp
+@@ -1,7 +1,7 @@
+ scrub: using Custom single-pass patterns
+-scrub: scrubbing file 409600 bytes (~400KB)
++scrub: scrubbing file 524288 bytes (~512KB)
+ scrub: 0x30313233343536373839616263646566|......................|
+ 0000000 001 002 003 S C R U B B E D ! \0 d e f
+ 0000020 0 1 2 3 4 5 6 7 8 9 a b c d e f
+ *
+-1440000
++2000000
+--- a/test/t16
++++ b/test/t16
+@@ -2,7 +2,7 @@
+ TEST=`basename $0 | cut -d- -f1`
+ TESTFILE=${TMPDIR:-/tmp}/scrub-testfile.$$
+ rm -f $TESTFILE
+-./pad 400k $TESTFILE || exit 1
++./pad 512k $TESTFILE || exit 1
+
+ od -c $TESTFILE >$TEST.out || exit 1
+
+--- a/test/t16.exp
++++ b/test/t16.exp
+@@ -1,10 +1,10 @@
+ 0000000 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
+ *
+-1437760 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 x
+-1440000
++1777760 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 x
++2000000
+ scrub: using Quick Fill with 0xff patterns
+ scrub: (dryrun) scrub reg file file
+ 0000000 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
+ *
+-1437760 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 x
+-1440000
++1777760 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 x
++2000000
+--- a/test/t17
++++ b/test/t17
+@@ -3,9 +3,9 @@ TEST=`basename $0 | cut -d- -f1`
+ TMPLATE="${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"
+ TESTDIR=`mktemp -d $TMPLATE` || exit 1
+
+-./pad 400k $TESTDIR/a || exit 1
+-./pad 400k $TESTDIR/b || exit 1
+-./pad 400k $TESTDIR/c || exit 1
++./pad 512k $TESTDIR/a || exit 1
++./pad 512k $TESTDIR/b || exit 1
++./pad 512k $TESTDIR/c || exit 1
+
+ echo Created 3 files >$TEST.out
+
+--- a/test/t17.exp
++++ b/test/t17.exp
+@@ -1,16 +1,16 @@
+ Created 3 files
+ scrub: using NNSA NAP-14.1-C patterns
+-scrub: scrubbing file/a 409600 bytes (~400KB)
++scrub: scrubbing file/a 524288 bytes (~512KB)
+ scrub: random |................................................|
+ scrub: random |................................................|
+ scrub: 0x00 |................................................|
+ scrub: verify |................................................|
+-scrub: scrubbing file/b 409600 bytes (~400KB)
++scrub: scrubbing file/b 524288 bytes (~512KB)
+ scrub: random |................................................|
+ scrub: random |................................................|
+ scrub: 0x00 |................................................|
+ scrub: verify |................................................|
+-scrub: scrubbing file/c 409600 bytes (~400KB)
++scrub: scrubbing file/c 524288 bytes (~512KB)
+ scrub: random |................................................|
+ scrub: random |................................................|
+ scrub: 0x00 |................................................|
+--- a/test/t22
++++ b/test/t22
+@@ -3,9 +3,9 @@ TEST=`basename $0 | cut -d- -f1`
+ TMPLATE="${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"
+ TESTDIR=`mktemp -d $TMPLATE` || exit 1
+
+-./pad 400k $TESTDIR/a || exit 1
+-./pad 400k $TESTDIR/b || exit 1
+-./pad 400k $TESTDIR/c || exit 1
++./pad 512k $TESTDIR/a || exit 1
++./pad 512k $TESTDIR/b || exit 1
++./pad 512k $TESTDIR/c || exit 1
+
+ echo Created 3 files >$TEST.out
+
+
diff --git a/app-misc/scrub/scrub-2.6.1-r1.ebuild b/app-misc/scrub/scrub-2.6.1-r1.ebuild
new file mode 100644
index 000000000000..3eeaadad94c1
--- /dev/null
+++ b/app-misc/scrub/scrub-2.6.1-r1.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Overwrite files with iterative patterns"
+HOMEPAGE="https://github.com/chaos/scrub"
+SRC_URI="https://github.com/chaos/${PN}/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv ~sparc x86"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-implicit-function-declaration-test.patch
+ "${FILESDIR}"/${PN}-2.6.1-bashism-tests.patch
+ "${FILESDIR}"/${PN}-2.6.1-tests-block-size.patch
+)
diff --git a/app-misc/scrub/scrub-2.6.1.ebuild b/app-misc/scrub/scrub-2.6.1.ebuild
deleted file mode 100644
index 71111d91acc5..000000000000
--- a/app-misc/scrub/scrub-2.6.1.ebuild
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-DESCRIPTION="Overwrite files with iterative patterns."
-HOMEPAGE="https://github.com/chaos/scrub"
-SRC_URI="https://github.com/chaos/${PN}/releases/download/${PV}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~ppc64 ~sparc x86"
-IUSE=""
-
-DEPEND=""
-RDEPEND=""