Report issues by shell files with:
git ls-files '*.sh' | xargs shellcheck --exclude=SC2162
Address the following:
- SC1087: Use braces when expanding arrays
- SC1091: Not following
- SC2004: `$`/`${}` is unnecessary on arithmetic variables
- SC2024: `sudo` doesn't affect redirects
- SC2034: foo appears unused. Verify it or export it
- SC2086: Double quote to prevent globbing and word splitting
- SC2087: Quote `EOF`
- SC2115: Use `"${var:?}"` to ensure this never expands to `/*`
- SC2148: Add a shebang
Addresses (at least partially) some POSIX/dash issues:
- SC2113: `function` keyword is non-standard
- SC3010: In POSIX sh, `[[` `]]` is undefined
- SC3014: In POSIX sh, `==` in place of `=` is undefined
- SC3020: In POSIX sh, `&>` is undefined
- SC3046: In POSIX sh, `source` in place of `.` is undefined
Does not address:
- SC2162: `read` without `-r` will mangle backslashes
- Any other POSIX/dash-specific issues
Signed-off-by: Tim Crawford <tcrawford@system76.com>
25 lines
441 B
Bash
Executable File
25 lines
441 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# shellcheck disable=SC1090
|
|
|
|
set -e
|
|
|
|
if [ -z "$1" ] || [ ! -e "$1" ] || [ -z "$2" ]
|
|
then
|
|
echo "$0 <config> <output>" >&2
|
|
exit 1
|
|
fi
|
|
|
|
EC_ARGS=()
|
|
while read line; do
|
|
if [[ "$line" != "#"* ]]; then
|
|
EC_ARGS+=("$line")
|
|
fi
|
|
done < "$1"
|
|
|
|
BUILD_DIR="build"
|
|
|
|
make -C ec BUILD="$BUILD_DIR" clean
|
|
make -C ec VERSION="${VERSION}" "${EC_ARGS[@]}" BUILD="$BUILD_DIR" -j "$(nproc)"
|
|
cp "ec/$BUILD_DIR/ec.rom" "$2"
|