Message ID | 20210920152505.9423-1-pvorel@suse.cz (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/1] install-dep: Use command -v instead of which | expand |
> `command -v' is shell builtin required by POSIX [1] and supported on all > common shells (bash, zsh, dash, busybox sh, mksh). `which' utility is not > presented on some containers (e.g. Fedora, openSUSE), also going to be > removed from future Debian versions. > Also remove stderr redirection to /dev/null as it's unnecessary when > using 'command': POSIX says "no output shall be written" if the command > isn't found. nit: [2] missing at the end of this paragraph. Kind regards, Petr > [1] https://pubs.opengroup.org/onlinepubs/9699919799/utilities/command.html > [2] https://salsa.debian.org/debian/debianutils/-/commit/3a8dd10b4502f7bae8fc6973c13ce23fc9da7efb > Signed-off-by: Petr Vorel <pvorel@suse.cz> > --- > install-dep | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > diff --git a/install-dep b/install-dep > index 621618fe..4698d44a 100755 > --- a/install-dep > +++ b/install-dep > @@ -2,20 +2,20 @@ > #install dependencies for compiling from source code > #RHEL/Fedora/CentOS-Stream/Rocky > -which dnf &>/dev/null || which yum &>/dev/null && { > +command -v dnf >/dev/null || command -v yum >/dev/null && { > yum install -y automake libtool make gcc rpcgen libtirpc-devel libevent-devel sqlite-devel device-mapper-devel \ > libblkid-devel krb5-devel libuuid-devel > } > #Debian/ubuntu > -which apt &>/dev/null && { > +command -v apt >/dev/null && { > apt install -o APT::Install-Suggests=0 -o APT::Install-Recommends=0 --ignore-missing -y \ > autotools-dev automake make libtool pkg-config libtirpc-dev libevent-dev libsqlite3-dev \ > libdevmapper-dev libblkid-dev libkrb5-dev libkeyutils-dev uuid-dev > } > #openSUSE Leap > -which zypper &>/dev/null && { > +command -v zypper >/dev/null && { > zypper in --no-recommends -y automake libtool make gcc rpcgen libtirpc-devel libevent-devel sqlite-devel \ > device-mapper-devel libblkid-devel krb5-devel libuuid-devel > }
On 9/20/21 11:25 AM, Petr Vorel wrote: > `command -v' is shell builtin required by POSIX [1] and supported on all > common shells (bash, zsh, dash, busybox sh, mksh). `which' utility is not > presented on some containers (e.g. Fedora, openSUSE), also going to be > removed from future Debian versions. > > Also remove stderr redirection to /dev/null as it's unnecessary when > using 'command': POSIX says "no output shall be written" if the command > isn't found. > > [1] https://pubs.opengroup.org/onlinepubs/9699919799/utilities/command.html > [2] https://salsa.debian.org/debian/debianutils/-/commit/3a8dd10b4502f7bae8fc6973c13ce23fc9da7efb > > Signed-off-by: Petr Vorel <pvorel@suse.cz> Committed... (tag: nfs-utils-2-5-5-rc3) steved. > --- > install-dep | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/install-dep b/install-dep > index 621618fe..4698d44a 100755 > --- a/install-dep > +++ b/install-dep > @@ -2,20 +2,20 @@ > #install dependencies for compiling from source code > > #RHEL/Fedora/CentOS-Stream/Rocky > -which dnf &>/dev/null || which yum &>/dev/null && { > +command -v dnf >/dev/null || command -v yum >/dev/null && { > yum install -y automake libtool make gcc rpcgen libtirpc-devel libevent-devel sqlite-devel device-mapper-devel \ > libblkid-devel krb5-devel libuuid-devel > } > > #Debian/ubuntu > -which apt &>/dev/null && { > +command -v apt >/dev/null && { > apt install -o APT::Install-Suggests=0 -o APT::Install-Recommends=0 --ignore-missing -y \ > autotools-dev automake make libtool pkg-config libtirpc-dev libevent-dev libsqlite3-dev \ > libdevmapper-dev libblkid-dev libkrb5-dev libkeyutils-dev uuid-dev > } > > #openSUSE Leap > -which zypper &>/dev/null && { > +command -v zypper >/dev/null && { > zypper in --no-recommends -y automake libtool make gcc rpcgen libtirpc-devel libevent-devel sqlite-devel \ > device-mapper-devel libblkid-devel krb5-devel libuuid-devel > } >
diff --git a/install-dep b/install-dep index 621618fe..4698d44a 100755 --- a/install-dep +++ b/install-dep @@ -2,20 +2,20 @@ #install dependencies for compiling from source code #RHEL/Fedora/CentOS-Stream/Rocky -which dnf &>/dev/null || which yum &>/dev/null && { +command -v dnf >/dev/null || command -v yum >/dev/null && { yum install -y automake libtool make gcc rpcgen libtirpc-devel libevent-devel sqlite-devel device-mapper-devel \ libblkid-devel krb5-devel libuuid-devel } #Debian/ubuntu -which apt &>/dev/null && { +command -v apt >/dev/null && { apt install -o APT::Install-Suggests=0 -o APT::Install-Recommends=0 --ignore-missing -y \ autotools-dev automake make libtool pkg-config libtirpc-dev libevent-dev libsqlite3-dev \ libdevmapper-dev libblkid-dev libkrb5-dev libkeyutils-dev uuid-dev } #openSUSE Leap -which zypper &>/dev/null && { +command -v zypper >/dev/null && { zypper in --no-recommends -y automake libtool make gcc rpcgen libtirpc-devel libevent-devel sqlite-devel \ device-mapper-devel libblkid-devel krb5-devel libuuid-devel }
`command -v' is shell builtin required by POSIX [1] and supported on all common shells (bash, zsh, dash, busybox sh, mksh). `which' utility is not presented on some containers (e.g. Fedora, openSUSE), also going to be removed from future Debian versions. Also remove stderr redirection to /dev/null as it's unnecessary when using 'command': POSIX says "no output shall be written" if the command isn't found. [1] https://pubs.opengroup.org/onlinepubs/9699919799/utilities/command.html [2] https://salsa.debian.org/debian/debianutils/-/commit/3a8dd10b4502f7bae8fc6973c13ce23fc9da7efb Signed-off-by: Petr Vorel <pvorel@suse.cz> --- install-dep | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)