Skip to content

Commit 3aef925

Browse files
committed
Fix/silence shellcheck warnings.
1 parent a4361fb commit 3aef925

8 files changed

+33
-28
lines changed

check_build_structure.sh

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,25 +13,26 @@ GITURL="https://github.com/DOMjudge/domjudge.git"
1313
quiet()
1414
{
1515
if [ "$DEBUG" ]; then
16-
$@
16+
"$@"
1717
else
18-
$@ > /dev/null 2>&1
18+
"$@" > /dev/null 2>&1
1919
fi
2020
}
2121

22-
TEMPDIR=`mktemp -d /tmp/domjudge-check_build-XXXXXX`
23-
cd $TEMPDIR
22+
TEMPDIR=$(mktemp -d /tmp/domjudge-check_build-XXXXXX)
23+
cd "$TEMPDIR"
2424

2525
git clone -q --no-checkout --depth 1 "$GITURL" dj-clone
2626

2727
( cd dj-clone && git archive --prefix=domjudge/ --format=tar refs/heads/main ) | tar x
2828

2929
# Add released tag for revision information:
30-
sed -i "s/PUBLISHED =.*/PUBLISHED = `date +%Y-%m-%d`/" domjudge/paths.mk.in
30+
sed -i "s/PUBLISHED =.*/PUBLISHED = $(date +%Y-%m-%d)/" domjudge/paths.mk.in
3131

3232
quiet make -C domjudge dist
3333

3434
# Remove date output from generated file tags to make diffs cleaner:
35+
# shellcheck disable=SC2016
3536
sed -i 's/ on `date`//' domjudge/paths.mk.in
3637

3738
cp -a domjudge configured
@@ -57,7 +58,7 @@ diff -r -u2 domjudge distclean
5758
if [ "$DEBUG" ]; then
5859
echo "Generated files left in $TEMPDIR"
5960
else
60-
rm -rf $TEMPDIR
61+
rm -rf "$TEMPDIR"
6162
fi
6263

6364
exit 0

cron_tag_release.sh

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,14 @@ notify_channel () {
1212
echo "$1"
1313
# When cron is run often one should have time to
1414
# fix the issue.
15-
if [ ! -f /tmp/$2 ]; then
15+
if [ ! -f "/tmp/$2" ]; then
1616
# Write to syslog on server
1717
logger "$1"
1818
DATA='{"text":"'"$1"'"}'
1919
# Notify DOMjudge Slack channel (github-notifications)
2020
# SLACK_URL should be exported in the .bashrc (it should be secret)
2121
curl -X POST -H 'Content-type: application/json' --data "$DATA" "$SLACK_URL"
22-
touch /tmp/$2
22+
touch "/tmp/$2"
2323
fi
2424
}
2525

@@ -39,10 +39,10 @@ process_tag () {
3939
# gpg --search 780355B5EA6BFC8235A99C4B56F61A79401DAC04
4040
# And if one trusts the internet to be correct
4141
# gpg --recv-keys 780355B5EA6BFC8235A99C4B56F61A79401DAC04
42-
if git verify-tag $TAG; then
42+
if git verify-tag "$TAG" ; then
4343
# At this point the tarball should already be locally tested
4444
~/domjudge-scripts/make_release.sh "$TAG"
45-
mv domjudge-$TAG.* $RELEASE_DIR/
45+
mv domjudge-"$TAG".* $RELEASE_DIR/
4646
notify_channel "Tarball finished ($TAG).\nURL: https://www.domjudge.org/releases/domjudge-$TAG.tar.gz" "$TAG"
4747
else
4848
notify_channel "Untrusted tag ($TAG)" "$TAG"

dump_demoweb_db.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ set -e
77
DBNAME='domjudge_demo2018'
88
DUMPFILE=~/demoweb/${DBNAME}-$(date +%F).sql
99

10-
mysqldump $DBNAME | process-mysqldump > $DUMPFILE
10+
mysqldump $DBNAME | process-mysqldump > "$DUMPFILE"
1111

1212
cat <<EOF
1313

make_release.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ if [ -z "$CI_USAGE" ]; then
99
else
1010
set -eux
1111
export PS4='(${0}:): - [$?] $ '
12-
fi
12+
fi
1313

1414
GITURL="https://github.com/DOMjudge/domjudge.git"
1515

@@ -54,7 +54,7 @@ CHLOG_VERSION="$(echo "$CHLOG" | sed -r 's/^Version ([0-9\.]+) .*$/\1/')"
5454
if [ "$VERSION" != "$CHLOG_VERSION" ]; then
5555
echo "WARNING: version strings in README* and ChangeLog differ:"
5656
echo "'$VERSION' != '$CHLOG_VERSION'"
57-
if [ ! -t 1 && -z ${CI+x} ] ; then
57+
if [ ! -t 1 ] && [ -z ${CI+x} ] ; then
5858
# In the cronjob this would be reason to not release
5959
exit 1
6060
fi

make_snapshot.sh

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,14 @@
44
# the public page at https://www.domjudge.org/snapshot/. Alternatively,
55
# when a git URL is passed only a snapshot package is generated.
66

7+
# shellcheck disable=SC2086 # globally for PUBDIR, DJDIR, TEMPDIR
8+
79
set -e
810

911
#DEBUG=1
1012

1113
PUBDIR=~/public_html/snapshot
12-
DJDIR=domjudge-snapshot-`date +%Y%m%d`
14+
DJDIR=domjudge-snapshot-$(date +%Y%m%d)
1315
GITURL="https://github.com/DOMjudge/domjudge.git"
1416

1517
# If a git repo URL is passed, don't update the website.
@@ -22,35 +24,35 @@ fi
2224
quiet()
2325
{
2426
if [ "$DEBUG" ]; then
25-
$@
27+
"$@"
2628
else
27-
$@ > /dev/null 2>&1
29+
"$@" > /dev/null 2>&1
2830
fi
2931
}
3032

31-
TEMPDIR=`mktemp -d /tmp/domjudge-make_snapshot-XXXXXX`
33+
TEMPDIR=$(mktemp -d /tmp/domjudge-make_snapshot-XXXXXX)
3234
cd $TEMPDIR
3335

3436
git clone -q --no-checkout --depth 1 "$GITURL" dj-clone
3537

3638
( cd dj-clone && git archive --prefix=$DJDIR/ --format=tar refs/heads/main ) | tar x
3739

3840
# Add released tag for revision information:
39-
sed -i "s/PUBLISHED =.*/PUBLISHED = `date +%Y-%m-%d`/" $DJDIR/paths.mk.in
41+
sed -i "s/PUBLISHED =.*/PUBLISHED = $(date +%Y-%m-%d)/" "$DJDIR/paths.mk.in"
4042

4143
quiet make -C $DJDIR dist
4244
tar -cf $DJDIR.tar $DJDIR
4345
gzip -9 $DJDIR.tar
4446

4547
if [ -n "$PUBDIR" ]; then
46-
rm -rf $PUBDIR/*
48+
rm -rf ${PUBDIR:?}/*
4749
mkdir -p $PUBDIR/manual
4850
cp -r $DJDIR/doc/manual/build/html/* $PUBDIR/manual/
4951
cp $DJDIR/doc/manual/build/domjudge-team-manual.pdf $PUBDIR/
5052
cp $DJDIR.tar.gz $DJDIR/ChangeLog $PUBDIR/
5153
cd /
5254
fi
5355

54-
[ "$DEBUG" ] || rm -rf $TEMPDIR
56+
[ "$DEBUG" ] || rm -rf "$TEMPDIR"
5557

5658
exit 0

run_html_validation.sh

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,13 @@ VNUCHECKER=~/vnu_html_checker/vnu.jar
2121
quiet()
2222
{
2323
if [ "$DEBUG" ]; then
24-
$@
24+
"$@"
2525
else
26-
$@ > /dev/null 2>&1
26+
"$@" > /dev/null 2>&1
2727
fi
2828
}
2929

30-
TEMPDIR=`mktemp -d /tmp/dj_html_validate-XXXXXX`
30+
TEMPDIR=$(mktemp -d /tmp/dj_html_validate-XXXXXX)
3131

3232
cd ~
3333

@@ -115,8 +115,8 @@ check_html ()
115115
{
116116
set +e
117117
url="$LIVEURLPREFIX$1"
118-
TEMP=$TEMPDIR/`echo "$1" | sed 's!/!_!g'`.html
119-
curl -s -L -g ${USER:+-u$USER:$PASS} "$url" > $TEMP
118+
TEMP="$TEMPDIR/$(echo "$1" | sed 's!/!_!g').html"
119+
curl -s -L -g ${USER:+-u$USER:$PASS} "$url" > "$TEMP"
120120
# Filter out some unfixable errors and normalize file/URL output:
121121
java -jar $VNUCHECKER "$TEMP" 2>&1 | \
122122
grep -v 'error: Attribute .*sorttable_customkey.* not allowed on element' | \
@@ -131,6 +131,6 @@ for i in $URLS ; do
131131
done
132132
IFS="$OFS"
133133

134-
[ "$DEBUG" ] || rm -rf $TEMPDIR
134+
[ "$DEBUG" ] || rm -rf "$TEMPDIR"
135135

136136
exit 0

update_demoweb.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
# Script to update the DOMjudge demo webinterface
33
# at: https://www.domjudge.org/demoweb/
44

5+
# shellcheck disable=SC2086 # globally for MYSQLOPTS twice
6+
57
set -e
68

79
MYSQLOPTS=''

update_docs.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ TMPDIR=$(mktemp -d -t 'update_docs-XXXXXX')
77
DOC_REPO="$TMPDIR/domjudge"
88
git clone https://github.com/DOMjudge/domjudge.git "$DOC_REPO"
99

10-
for version in `cat "${JSON}" | jq -r -c '.[]'`; do
11-
rm -rf "${WEBSERVER_PATH}/${version}"
10+
for version in $(jq -r -c '.[]' < "${JSON}") ; do
11+
rm -rf "${WEBSERVER_PATH:?}/${version}"
1212
mkdir -p "${WEBSERVER_PATH}/${version}"
1313
(
1414
cd "$DOC_REPO"

0 commit comments

Comments
 (0)