From: "Darrick J. Wong" <djwong@kernel.org>
To: Dave Chinner <david@fromorbit.com>
Cc: fstests@vger.kernel.org
Subject: Re: [PATCH] fstests: which has been deprecated by Debian
Date: Mon, 30 Aug 2021 10:19:52 -0700 [thread overview]
Message-ID: <20210830171952.GA9911@magnolia> (raw)
In-Reply-To: <20210830011401.697295-1-david@fromorbit.com>
> Subject: [PATCH] fstests: which has been deprecated by Debian
fstests has been deprecated by Debian? daaaang. ;)
On Mon, Aug 30, 2021 at 11:14:01AM +1000, Dave Chinner wrote:
> From: Dave Chinner <dchinner@redhat.com>
>
> This patch is brought to you by the Department That Hates Users.
>
> The latest debian unstable release is now causing a bunch of new
> test failures because they have deprecated the which command.
>
> Rather than make everyone jump through hoops chasing problems with
> 'which' while debian decides to how to package at least three
> variants of 'which' - each which will different semantics, behaviour
> and support - as alternatives users then have to opt into, let's
> just remove the remaining uses of the shell independent 'which'
> command and replace them with bash builtin 'type -P' operations.
>
> Signed-off-by: Dave Chinner <dchinner@redhat.com>
> ---
> common/rc | 2 +-
> src/fill2fs | 2 +-
> tests/ext4/006 | 2 +-
> tests/generic/128 | 2 +-
> tests/generic/452 | 2 +-
> tests/xfs/293 | 2 +-
> tests/xfs/505 | 2 +-
> tests/xfs/514 | 2 +-
> tests/xfs/515 | 2 +-
> 9 files changed, 9 insertions(+), 9 deletions(-)
>
> diff --git a/common/rc b/common/rc
> index a7f9ed86..db400c4d 100644
> --- a/common/rc
> +++ b/common/rc
> @@ -4,7 +4,7 @@
>
> . common/config
>
> -BC=$(which bc 2> /dev/null) || BC=
> +BC="$(type -P bc)" || BC=
>
> _require_math()
> {
> diff --git a/src/fill2fs b/src/fill2fs
> index 1c3383a8..d5e5436b 100755
> --- a/src/fill2fs
> +++ b/src/fill2fs
> @@ -111,7 +111,7 @@ sub normal {
> #
>
> chomp($cwd = `pwd`);
> -chomp($_ = `which fill2 2>&1 | head -1`);
> +chomp($_ = `type -P fill2 | head -1`);
> if (-x $_) {
> # look in the path
> $fill2 = fill2;
> diff --git a/tests/ext4/006 b/tests/ext4/006
> index 17e77f86..48ed6bee 100755
> --- a/tests/ext4/006
> +++ b/tests/ext4/006
> @@ -24,7 +24,7 @@ _cleanup()
> . ./common/populate
> . ./common/fuzzy
>
> -if [ ! -x "$(which e2fuzz)" ]; then
> +if [ ! -x "$(type -P e2fuzz)" ]; then
> _notrun "Couldn't find e2fuzz"
> fi
>
> diff --git a/tests/generic/128 b/tests/generic/128
> index dfc67fd5..dc1d43f4 100755
> --- a/tests/generic/128
> +++ b/tests/generic/128
> @@ -23,7 +23,7 @@ _scratch_mkfs >/dev/null 2>&1
> _scratch_mount "-o nosuid"
>
> mkdir $SCRATCH_MNT/nosuid
> -cp `which ls` $SCRATCH_MNT
> +cp "$(type -P ls)" $SCRATCH_MNT
Given that FHS 3.0 section 3.4.2 requires ls to be in /bin, can we
hardcode this into these tests?
Or, if we don't want to require FHS compliant distros, maybe we should
just make $LS_PROG a general variable set up in common/rc?
> chmod 700 $SCRATCH_MNT/nosuid
> chmod 4755 $SCRATCH_MNT/ls
>
> diff --git a/tests/generic/452 b/tests/generic/452
> index ee4dfe9e..7cbd2dfa 100755
> --- a/tests/generic/452
> +++ b/tests/generic/452
> @@ -26,7 +26,7 @@ _exclude_scratch_mount_option "noexec"
> _scratch_mkfs > $seqres.full 2>&1
> _scratch_mount >> $seqres.full 2>&1
>
> -LS=$(which ls --skip-alias --skip-functions)
> +LS="$(type -P ls) --skip-alias --skip-functions)"
> SCRATCH_LS=$SCRATCH_MNT/ls_on_scratch
> cp $LS $SCRATCH_LS
>
> diff --git a/tests/xfs/293 b/tests/xfs/293
> index fbd26b63..20f8c486 100755
> --- a/tests/xfs/293
> +++ b/tests/xfs/293
> @@ -30,7 +30,7 @@ case "$MANPAGE" in
> *) CAT=cat;;
> esac
>
> -_require_command `which $CAT` $CAT
> +_require_command "$(type -P $CAT)" $CAT
Same thing with cat.
--D
>
> for COMMAND in `$XFS_IO_PROG -c help | awk '{print $1}' | grep -v "^Use"`; do
> $CAT "$MANPAGE" | egrep -q "^\.B.*$COMMAND" || \
> diff --git a/tests/xfs/505 b/tests/xfs/505
> index 8a999ff4..71fb6e9d 100755
> --- a/tests/xfs/505
> +++ b/tests/xfs/505
> @@ -26,7 +26,7 @@ case "$MANPAGE" in
> *.xz) CAT=xzcat;;
> *) CAT=cat;;
> esac
> -_require_command `which $CAT` $CAT
> +_require_command "$(type -P $CAT)" $CAT
>
> for COMMAND in `$XFS_SPACEMAN_PROG -c help $TEST_DIR | awk '{print $1}' | grep -v "^Use"`; do
> $CAT "$MANPAGE" | egrep -q "^\.B.*$COMMAND" || \
> diff --git a/tests/xfs/514 b/tests/xfs/514
> index a9c67645..cf5588f2 100755
> --- a/tests/xfs/514
> +++ b/tests/xfs/514
> @@ -34,7 +34,7 @@ case "$MANPAGE" in
> *.xz) CAT=xzcat;;
> *) CAT=cat;;
> esac
> -_require_command `which $CAT` $CAT
> +_require_command "$(type -P $CAT)" $CAT
>
> file=$TEST_DIR/xx.$seq
> truncate -s 128m $file
> diff --git a/tests/xfs/515 b/tests/xfs/515
> index 32216fe6..2d7bbb35 100755
> --- a/tests/xfs/515
> +++ b/tests/xfs/515
> @@ -34,7 +34,7 @@ case "$MANPAGE" in
> *.xz) CAT=xzcat;;
> *) CAT=cat;;
> esac
> -_require_command `which $CAT` $CAT
> +_require_command "$(type -P $CAT)" $CAT
>
> for COMMAND in `$XFS_QUOTA_PROG -x -c help $file | awk '{print $1}' | grep -v "^Use"`; do
> $CAT "$MANPAGE" | egrep -q "^\.B.*$COMMAND" || \
> --
> 2.31.1
>
next prev parent reply other threads:[~2021-08-30 17:19 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-30 1:14 [PATCH] fstests: which has been deprecated by Debian Dave Chinner
2021-08-30 13:29 ` Zorro Lang
2021-08-31 23:46 ` Dave Chinner
2021-09-05 13:12 ` Eryu Guan
2021-08-30 17:19 ` Darrick J. Wong [this message]
2021-08-31 23:48 ` Dave Chinner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210830171952.GA9911@magnolia \
--to=djwong@kernel.org \
--cc=david@fromorbit.com \
--cc=fstests@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.