From e6cb0c56ffc8843216132fe97b67434c82ba2e1f Mon Sep 17 00:00:00 2001 From: Richard Heck Date: Mon, 21 Aug 2017 17:16:07 -0400 Subject: [PATCH] Fix some issues found by the shellcheck script, and move an old file to the attic. --- .../{tools => attic}/separator-convert.sh | 0 development/tools/lyx-build | 14 ++++++++-- development/tools/update-po.sh | 28 +++++++++++-------- development/tools/updatelfuns.sh | 20 ++++++------- development/tools/updatestats.sh | 8 +++--- 5 files changed, 41 insertions(+), 29 deletions(-) rename development/{tools => attic}/separator-convert.sh (100%) diff --git a/development/tools/separator-convert.sh b/development/attic/separator-convert.sh similarity index 100% rename from development/tools/separator-convert.sh rename to development/attic/separator-convert.sh diff --git a/development/tools/lyx-build b/development/tools/lyx-build index 27b72d5b6b..3b064c2390 100755 --- a/development/tools/lyx-build +++ b/development/tools/lyx-build @@ -5,6 +5,14 @@ # It also includes several other tests, to make sure the packages # works as it should. +# This has been checked with shellcheck. It complains about a lot +# of missing quotes, but we know, e.g., that $VERSION will not have +# spaces in it. RH chose not to fix that stuff. +# +# That said, the variables $BASE and $SRCDIR will cause problems if +# they have spaces in them, but RH did not fix that, either, since +# he thinks spaces in directory names are just a bad idea. + # A few variables need to be set, here at the top. # # Where we will do our work @@ -77,7 +85,7 @@ else fi LASTNUM=$(echo $VERSION | sed -e 's/.*\.//'); -LAST=$(($LASTNUM - 1)); +LAST=$((LASTNUM - 1)); FIRST=$(echo $VERSION | sed -e 's/[0-9]*$//'); ORIGINAL=${FIRST}0; LAST=$FIRST$LAST; @@ -86,14 +94,14 @@ if [ ! -d "$BASE/lyx-patch/" ]; then mkdir "$BASE/lyx-patch/" || exit 1; fi -if [ ! -d $BASE/lyx-patch/lyx-$LAST ]; then +if [ ! -d "$BASE/lyx-patch/lyx-$LAST" ]; then echo "Can't find directory for last version $LAST."; echo "See if you can fix this in $BASE/lyx-patch/."; echo "Try that, if you like, and then we'll continue."; echo "We'll try to download from the LyX site if that does not work."; read; - if [ ! -d $BASE/lyx-patch/lyx-$LAST ]; then + if [ ! -d "$BASE/lyx-patch/lyx-$LAST" ]; then echo "Will try to download from LyX site...."; pushd $BASE/lyx-patch/; wget ftp://ftp.lyx.org/pub/lyx/stable/${FIRST}x/lyx-$LAST.tar.gz; diff --git a/development/tools/update-po.sh b/development/tools/update-po.sh index 26da0c4962..596c3fbbe9 100755 --- a/development/tools/update-po.sh +++ b/development/tools/update-po.sh @@ -1,14 +1,17 @@ -#!/bin/sh +#!/bin/bash # A script to check whether there have been any string changes. # If it finds some, it commits the new po files and then updates # the stats. +# We need bash because we use a select loop. + # The script expects an environment variable FARM that will provide # it with the location of the LyX www tree. DEBUG=""; COMMIT=""; +# shellcheck disable=SC2086 while getopts ":cdh" options $ARGS; do case $options in c) COMMIT="TRUE";; @@ -38,7 +41,7 @@ fi # Get us to the root of the tree we are in. MYDIR=${0%update-po.sh}; if [ -n "$MYDIR" ]; then - if ! cd $MYDIR; then + if ! cd "$MYDIR"; then echo "Couldn't cd to $MYDIR!"; exit 1; fi @@ -57,7 +60,7 @@ fi # Are we in trunk or branch? TRUNK="TRUE"; -if ls status.* 2>/dev/null | grep -q status; then +if ls status.* 2>/dev/null; then TRUNK=""; fi @@ -80,7 +83,7 @@ fi # make sure things are clean rm -f i18n.inc; -svn revert $FARM/$I18NFILE; +svn revert "$FARM/$I18NFILE"; echo Running make i18n.inc... make i18n.inc >/dev/null 2>&1; @@ -88,21 +91,21 @@ if [ -n "$TRUNK" ]; then mv -f i18n.inc i18n_trunk.inc fi -if diff -w -q $I18NFILE $FARM/$I18NFILE >/dev/null 2>&1; then +if diff -w -q "$I18NFILE $FARM/$I18NFILE" >/dev/null 2>&1; then echo No string differences found. - git checkout *.po; + git checkout ./*.po; exit 0; fi # So there are differences. if [ -z "$COMMIT" ]; then echo "Differences found!"; - diff -wu $FARM/$I18NFILE $I18NFILE | less; - git checkout *.po *.gmo; + diff -wu "$FARM/$I18NFILE $I18NFILE" | less; + git checkout ./*.po ./*.gmo; exit 0; fi -$DEBUG git commit *.po *.gmo -m "Remerge strings."; +$DEBUG git commit ./*.po ./*.gmo -m "Remerge strings."; COMMITS=$(git push -n 2>&1 | tail -n 1 | grep -v "Everything" | sed -e 's/^ *//' -e 's/ .*//'); if [ -z "$COMMITS" ]; then @@ -110,6 +113,8 @@ if [ -z "$COMMITS" ]; then exit 1; fi +# there may be multiple commits here +# shellcheck disable=SC2086 git log $COMMITS; #Do we want to go ahead? @@ -127,7 +132,7 @@ done echo -if ! cd $FARM; then +if ! cd "$FARM"; then echo "Unable to cd to $FARM!"; exit 1; fi @@ -137,8 +142,7 @@ echo Updating the www-user tree... svn up; echo Moving $I18NFILE...; -mv $LYXROOT/po/$I18NFILE .; +mv "$LYXROOT/po/$I18NFILE" .; echo Committing...; $DEBUG svn commit -m "* $I18NFILE: update stats" $I18NFILE; - diff --git a/development/tools/updatelfuns.sh b/development/tools/updatelfuns.sh index 763afddb4e..a76106bbda 100755 --- a/development/tools/updatelfuns.sh +++ b/development/tools/updatelfuns.sh @@ -8,9 +8,9 @@ fi function do_convert { for i in *; do - if [ ! -f $i ]; then continue; fi - cp $i $i.old; - python $lyxdir/lib/scripts/prefs2prefs.py -l <$i.old >$i; + if [ ! -f "$i" ]; then continue; fi + cp "$i" "$i.old"; + python "$lyxdir/lib/scripts/prefs2prefs.py" -l <"$i.old" >"$i"; done } @@ -20,23 +20,23 @@ progloc=$0; pathto=${progloc%/*}; # get us into development/tools if [ "$progloc" != "$pathto" ]; then - if ! cd $pathto; then + if ! cd "$pathto"; then echo "Couldn't get to development/tools!"; exit 1; fi fi -curdir=`pwd`; +curdir=$(pwd); lyxdir=${curdir%/development/tools*}; -if ! cd $lyxdir/lib/ui/; then +if ! cd "$lyxdir/lib/ui/"; then echo "Couldn't get to lib/ui!"; exit 1; fi do_convert; -if ! cd $lyxdir/lib/bind/; then +if ! cd "$lyxdir/lib/bind/"; then echo "Couldn't get to lib/bind!"; exit 1; fi @@ -45,8 +45,8 @@ do_convert; #now do the subdirectories for d in *; do - if [ ! -d $d ]; then continue; fi - cd $d; + if [ ! -d "$d" ]; then continue; fi + pushd "$d"; do_convert; - cd ..; + popd; done diff --git a/development/tools/updatestats.sh b/development/tools/updatestats.sh index 7451a22e10..92970ceacc 100755 --- a/development/tools/updatestats.sh +++ b/development/tools/updatestats.sh @@ -21,14 +21,14 @@ fi # Get us to the root of the tree we are in. MYDIR=${0%updatestats.sh}; if [ -n "$MYDIR" ]; then - cd $MYDIR; + cd "$MYDIR"; fi cd ../../; LYXROOT=$(pwd); # Are we in trunk or branch? TRUNK="TRUE"; -if ls status.* 2>/dev/null | grep -q status; then +if ls status.* 2>/dev/null; then TRUNK=""; fi @@ -48,7 +48,7 @@ else I18NFILE=i18n.inc; fi -if ! cd $FARM; then +if ! cd "$FARM"; then echo "Unable to cd to $FARM!"; exit 1; fi @@ -62,7 +62,7 @@ echo Updating the www-user tree... svn up echo Copying $I18NFILE...; -cp $LYXROOT/po/$I18NFILE .; +cp "$LYXROOT/po/$I18NFILE" .; echo Committing...; if [ -z "$GIT" ]; then -- 2.39.5