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>
		
	
		
			
				
	
	
		
			41 lines
		
	
	
		
			766 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			766 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env bash
 | |
| 
 | |
| # shellcheck disable=SC1091
 | |
| 
 | |
| set -e
 | |
| 
 | |
| if [ -z "$1" ]
 | |
| then
 | |
|   echo "$0 [UEFIPAYLOAD.fd] <ARGS..>" >&2
 | |
|   exit 1
 | |
| fi
 | |
| UEFIPAYLOAD="$(realpath "$1")"
 | |
| 
 | |
| PACKAGE=UefiPayloadPkg
 | |
| BUILD_TYPE=RELEASE
 | |
| #BUILD_TYPE=DEBUG
 | |
| TOOLCHAIN=COREBOOT
 | |
| 
 | |
| COREBOOT_TOOLS_DEF="$XGCCPATH/../share/edk2config/tools_def.txt"
 | |
| 
 | |
| # Force use of python3
 | |
| export PYTHON_COMMAND=python3
 | |
| 
 | |
| pushd edk2 >/dev/null
 | |
|   make -C BaseTools --jobs="$(nproc)"
 | |
|   source edksetup.sh --reconfig
 | |
|   cat "${COREBOOT_TOOLS_DEF}" >> Conf/tools_def.txt
 | |
| 
 | |
|   build \
 | |
|     -a IA32 \
 | |
|     -a X64 \
 | |
|     -b "${BUILD_TYPE}" \
 | |
|     -t "${TOOLCHAIN}" \
 | |
|     -p "${PACKAGE}/${PACKAGE}.dsc" \
 | |
|     "${@:2}"
 | |
| 
 | |
|   cp -v \
 | |
|     "Build/${PACKAGE}X64/${BUILD_TYPE}_${TOOLCHAIN}/FV/UEFIPAYLOAD.fd" \
 | |
|     "${UEFIPAYLOAD}"
 | |
| popd >/dev/null
 |