From 804c2403203258ba8b9bf869be3f9ef057c2d39a Mon Sep 17 00:00:00 2001 From: Alexander Barton Date: Sat, 19 Dec 2015 19:23:50 +0100 Subject: [PATCH] autogen.sh, ngindent, platformtest.sh: Fix warnings of "shellcheck" - SC2006: Use $(..) instead of legacy `..`. - SC2015: Note that A && B || C is not if-then-else. C may run when A is true. - SC2086: Double quote to prevent globbing and word splitting. - SC2166: Prefer [ p ] && [ q ] as [ p -a q ] is not well defined. --- autogen.sh | 34 ++++++++++++++-------------- contrib/ngindent | 8 +++---- contrib/platformtest.sh | 50 ++++++++++++++++++++++++++++------------- 3 files changed, 56 insertions(+), 36 deletions(-) diff --git a/autogen.sh b/autogen.sh index 6323752a..3f86295a 100755 --- a/autogen.sh +++ b/autogen.sh @@ -1,7 +1,7 @@ #!/bin/sh # # ngIRCd -- The Next Generation IRC Daemon -# Copyright (c)2001-2013 Alexander Barton (alex@barton.de) and Contributors +# Copyright (c)2001-2015 Alexander Barton (alex@barton.de) and Contributors # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -95,7 +95,7 @@ Search() return 0 fi done - minor=`expr $minor - 1` + minor=$(expr $minor - 1) done return 1 } @@ -139,26 +139,26 @@ fi # Try to detect the needed tools when no environment variable already # specifies one: echo "Searching for required tools ..." -[ -z "$ACLOCAL" ] && ACLOCAL=`Search aclocal 1` +[ -z "$ACLOCAL" ] && ACLOCAL=$(Search aclocal 1) [ "$VERBOSE" = "1" ] && echo " - ACLOCAL=$ACLOCAL" -[ -z "$AUTOHEADER" ] && AUTOHEADER=`Search autoheader 2` +[ -z "$AUTOHEADER" ] && AUTOHEADER=$(Search autoheader 2) [ "$VERBOSE" = "1" ] && echo " - AUTOHEADER=$AUTOHEADER" -[ -z "$AUTOMAKE" ] && AUTOMAKE=`Search automake 1` +[ -z "$AUTOMAKE" ] && AUTOMAKE=$(Search automake 1) [ "$VERBOSE" = "1" ] && echo " - AUTOMAKE=$AUTOMAKE" -[ -z "$AUTOCONF" ] && AUTOCONF=`Search autoconf 2` +[ -z "$AUTOCONF" ] && AUTOCONF=$(Search autoconf 2) [ "$VERBOSE" = "1" ] && echo " - AUTOCONF=$AUTOCONF" -AUTOCONF_VERSION=`echo $AUTOCONF | cut -d'-' -f2-` -[ -n "$AUTOCONF_VERSION" -a "$AUTOCONF_VERSION" != "autoconf" ] \ +AUTOCONF_VERSION=$(echo "$AUTOCONF" | cut -d'-' -f2-) +[ -n "$AUTOCONF_VERSION" ] && [ "$AUTOCONF_VERSION" != "autoconf" ] \ && export AUTOCONF_VERSION || unset AUTOCONF_VERSION [ "$VERBOSE" = "1" ] && echo " - AUTOCONF_VERSION=$AUTOCONF_VERSION" -AUTOMAKE_VERSION=`echo $AUTOMAKE | cut -d'-' -f2-` -[ -n "$AUTOMAKE_VERSION" -a "$AUTOMAKE_VERSION" != "automake" ] \ +AUTOMAKE_VERSION=$(echo $AUTOMAKE | cut -d'-' -f2-) +[ -n "$AUTOMAKE_VERSION" ] && [ "$AUTOMAKE_VERSION" != "automake" ] \ && export AUTOMAKE_VERSION || unset AUTOMAKE_VERSION [ "$VERBOSE" = "1" ] && echo " - AUTOMAKE_VERSION=$AUTOMAKE_VERSION" [ $# -gt 0 ] && CONFIGURE_ARGS=" $*" || CONFIGURE_ARGS="" -[ -z "$GO" -a -n "$CONFIGURE_ARGS" ] && GO=1 +[ -z "$GO" ] && [ -n "$CONFIGURE_ARGS" ] && GO=1 # Verify that all tools have been found [ -z "$ACLOCAL" ] && Notfound aclocal @@ -166,7 +166,7 @@ AUTOMAKE_VERSION=`echo $AUTOMAKE | cut -d'-' -f2-` [ -z "$AUTOMAKE" ] && Notfound automake [ -z "$AUTOCONF" ] && Notfound autoconf -AM_VERSION=`$AUTOMAKE --version | head -n 1 | sed -e 's/.* //g'` +AM_VERSION=$($AUTOMAKE --version | head -n 1 | sed -e 's/.* //g') ifs=$IFS; IFS="."; set $AM_VERSION; IFS=$ifs AM_MAJOR="$1"; AM_MINOR="$2"; AM_PATCHLEVEL="$3" echo "Detected automake $AM_VERSION ..." @@ -174,7 +174,7 @@ echo "Detected automake $AM_VERSION ..." AM_MAKEFILES="src/ipaddr/Makefile.ng src/ngircd/Makefile.ng src/testsuite/Makefile.ng src/tool/Makefile.ng" # De-ANSI-fication? -if [ "$AM_MAJOR" -eq "1" -a "$AM_MINOR" -lt "12" ]; then +if [ "$AM_MAJOR" -eq "1" ] && [ "$AM_MINOR" -lt "12" ]; then # automake < 1.12 => automatic de-ANSI-fication support available echo " - Enabling de-ANSI-fication support." sed -e "s|^__ng_PROTOTYPES__|AM_C_PROTOTYPES|g" configure.ng >configure.ac @@ -188,7 +188,7 @@ else DEANSI_END=" (disabled by ./autogen.sh script)" fi # Serial test harness? -if [ "$AM_MAJOR" -eq "1" -a "$AM_MINOR" -ge "13" ]; then +if [ "$AM_MAJOR" -eq "1" ] && [ "$AM_MINOR" -ge "13" ]; then # automake >= 1.13 => enforce "serial test harness" echo " - Enforcing serial test harness." SERIAL_TESTS="serial-tests" @@ -200,7 +200,7 @@ fi sed -e "s|^__ng_Makefile_am_template__|AUTOMAKE_OPTIONS = ${SERIAL_TESTS} ${DEANSI_START}ansi2knr${DEANSI_END}|g" \ src/portab/Makefile.ng >src/portab/Makefile.am for makefile_ng in $AM_MAKEFILES; do - makefile_am=`echo "$makefile_ng" | sed -e "s|\.ng\$|\.am|g"` + makefile_am=$(echo "$makefile_ng" | sed -e "s|\.ng\$|\.am|g") sed -e "s|^__ng_Makefile_am_template__|AUTOMAKE_OPTIONS = ${SERIAL_TESTS} ${DEANSI_START}../portab/ansi2knr${DEANSI_END}|g" \ $makefile_ng >$makefile_am done @@ -214,10 +214,10 @@ Run $ACLOCAL && \ Run $AUTOHEADER && \ Run $AUTOMAKE --add-missing --no-force -if [ $? -eq 0 -a -x ./configure ]; then +if [ $? -eq 0 ] && [ -x ./configure ]; then # Success: if we got some parameters we call ./configure and pass # all of them to it. - NAME=`grep PACKAGE_STRING= configure | cut -d"'" -f2` + NAME=$(grep PACKAGE_STRING= configure | cut -d"'" -f2) if [ "$GO" = "1" ]; then [ -n "$PREFIX" ] && p=" --prefix=$PREFIX" || p="" c="./configure${p}${CONFIGURE_ARGS}" diff --git a/contrib/ngindent b/contrib/ngindent index f09b9ea1..69636a4b 100755 --- a/contrib/ngindent +++ b/contrib/ngindent @@ -3,15 +3,15 @@ INDENTARGS="-kr -i8 -ts8 -l80 -c3 -cd41 -ss -ncs -psl" # check if indent(1) is available -type indent >/dev/null 2>&1 && INDENT="indent" -type gindent >/dev/null 2>&1 && INDENT="gindent" -type gnuindent >/dev/null 2>&1 && INDENT="gnuindent" +command -v indent >/dev/null 2>&1 && INDENT="indent" +command -v gindent >/dev/null 2>&1 && INDENT="gindent" +command -v gnuindent >/dev/null 2>&1 && INDENT="gnuindent" if [ -z "$INDENT" ]; then echo "Error: GNU \"indent\" not found!" exit 1 fi -$INDENT -v $INDENTARGS $* +$INDENT -v $INDENTARGS "$@" # -eof- diff --git a/contrib/platformtest.sh b/contrib/platformtest.sh index a3d5ade4..7f7e6b47 100755 --- a/contrib/platformtest.sh +++ b/contrib/platformtest.sh @@ -14,14 +14,14 @@ # suitable for inclusion in doc/Platforms.txt -- please send reports # to the ngIRCd mailing list: . -NAME=`basename "$0"` +NAME=$(basename "$0") VERBOSE= CLEAN=1 PLATFORM= COMPILER="unknown" VERSION="unknown" -DATE=`date "+%y-%m-%d"` +DATE=$(date "+%y-%m-%d") COMMENT= R_CONFIGURE= @@ -30,7 +30,7 @@ R_CHECK= R_CHECK_Y="?" R_RUN= -SRC_D=`dirname "$0"` +SRC_D=$(dirname "$0") MY_D="$PWD" [ -n "$MAKE" ] || MAKE="make" @@ -80,7 +80,11 @@ if [ -d "$SRC_D/.git" ]; then if [ $? -eq 0 ] && [ -n "$CLEAN" ]; then echo "$NAME: Running \"git clean\" ..." cd "$SRC_D" || exit 1 - [ -n "$VERBOSE" ] && git clean -dxf || git clean -dxf >/dev/null + if [ -n "$VERBOSE" ]; then + git clean -dxf + else + git clean -dxf >/dev/null + fi cd "$MY_D" || exit 1 fi fi @@ -89,22 +93,38 @@ echo "$NAME: Checking for \"$SRC_D/configure\" script ..." if [ ! -r "$SRC_D/configure" ]; then echo "$NAME: Running \"$SRC_D/autogen.sh\" ..." cd "$SRC_D" || exit 1 - [ -n "$VERBOSE" ] && ./autogen.sh || ./autogen.sh >/dev/null + if [ -n "$VERBOSE" ]; then + ./autogen.sh + else + ./autogen.sh >/dev/null + fi cd "$MY_D" || exit 1 fi if [ -r "$SRC_D/configure" ]; then echo "$NAME: Running \"$SRC_D/configure\" script ..." - [ -n "$VERBOSE" ] && "$SRC_D/configure" -C || "$SRC_D/configure" -C >/dev/null + if [ -n "$VERBOSE" ]; then + "$SRC_D/configure" -C + else + "$SRC_D/configure" -C >/dev/null + fi if [ $? -eq 0 ] && [ -r ./Makefile ]; then R_CONFIGURE=1 rm -f "src/ngircd/ngircd" echo "$NAME: Running \"$MAKE\" ..." - [ -n "$VERBOSE" ] && "$MAKE" || "$MAKE" >/dev/null + if [ -n "$VERBOSE" ]; then + "$MAKE" + else + "$MAKE" >/dev/null + fi if [ $? -eq 0 ] && [ -x src/ngircd/ngircd ]; then R_MAKE=1 echo "$NAME: Running \"$MAKE check\" ..." - [ -n "$VERBOSE" ] && "$MAKE" check || "$MAKE" check >/dev/null + if [ -n "$VERBOSE" ]; then + "$MAKE" check + else + "$MAKE" check >/dev/null + fi if [ $? -eq 0 ]; then R_CHECK=1 R_RUN=$R_CHECK @@ -121,13 +141,13 @@ fi # Get target platform information if [ -r "src/config.h" ]; then - CPU=`grep "HOST_CPU" "src/config.h" | cut -d'"' -f2` - OS=`grep "HOST_OS" "src/config.h" | cut -d'"' -f2` - VENDOR=`grep "HOST_VENDOR" "src/config.h" | cut -d'"' -f2` + CPU=$(grep "HOST_CPU" "src/config.h" | cut -d'"' -f2) + OS=$(grep "HOST_OS" "src/config.h" | cut -d'"' -f2) + VENDOR=$(grep "HOST_VENDOR" "src/config.h" | cut -d'"' -f2) PLATFORM="$CPU/$VENDOR/$OS" fi if [ -z "$PLATFORM" ]; then - PLATFORM="`uname 2>/dev/null` `uname -r 2>/dev/null`, `uname -m 2>/dev/null`" + PLATFORM="$(uname 2>/dev/null) $(uname -r 2>/dev/null), $(uname -m 2>/dev/null)" fi # Get compiler information @@ -159,8 +179,8 @@ if [ -r "Makefile" ]; then | cut -d'(' -f1 | sed -e 's/version //g') fi if [ "$COMPILER" = "unknown" ]; then - v="`$CC --version 2>/dev/null | head -1`" - [ -z "$v" ] && v="`$CC -version 2>/dev/null | head -1`" + v="$($CC --version 2>/dev/null | head -1)" + [ -z "$v" ] && v="$($CC -version 2>/dev/null | head -1)" [ -n "$v" ] && COMPILER="$v" fi fi @@ -170,7 +190,7 @@ fi eval "$(grep "^VERSION = " Makefile | sed -e 's/ //g')" case "$VERSION" in *~*-*) - VERSION=`echo "$VERSION" | cut -b1-10` + VERSION=$(echo "$VERSION" | cut -b1-10) ;; esac [ -n "$VERSION" ] || VERSION="unknown" -- 2.39.2