In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 5:
. /usr/lib/addon-common
  ^-------------------^ SC1091 (info): Not following: /usr/lib/addon-common was not specified as input (see shellcheck -x).


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 9:
PKG_CONF_GROUP=[Format]
               ^------^ SC2125 (warning): Brace expansions and globs are literal in assignments. Quote it or use an array.


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 21:
		rm -rf $TMPPATH
                       ^------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		rm -rf "$TMPPATH"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 29:
	if [ -z "${1:-}" ] || [ $1 -ne 0 ]; then
                                ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	if [ -z "${1:-}" ] || [ "$1" -ne 0 ]; then


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 30:
		revert_and_fail $ERR_INSTALL_OPKG 			"Something went wrong with opkg package installation"
                                ^---------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		revert_and_fail "$ERR_INSTALL_OPKG" 			"Something went wrong with opkg package installation"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 46:
	[ $# -le 3 ] && [ $# -ge 2 ] || revert_and_fail $ERR_INSTALL_ERROR 		"Invalid number of arguments"
                     ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.
                                                        ^----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	[ $# -le 3 ] && [ $# -ge 2 ] || revert_and_fail "$ERR_INSTALL_ERROR" 		"Invalid number of arguments"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 52:
	local filename errorcode errormsg manifest_basename appid
        ^-- SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 57:
	[ -d $MANIFEST_PATH ] || mkdir -p $MANIFEST_PATH ||
             ^------------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                          ^------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	[ -d "$MANIFEST_PATH" ] || mkdir -p "$MANIFEST_PATH" ||


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 58:
		revert_and_fail $ERR_FILE_SYSTEM "Failed to create manifest directory"
                                ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		revert_and_fail "$ERR_FILE_SYSTEM" "Failed to create manifest directory"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 60:
	cp $2 $MANIFEST_PATH/$manifestname.tmp ||
           ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
              ^------------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                             ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	cp "$2" "$MANIFEST_PATH"/"$manifestname".tmp ||


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 62:
	fsynced_write_or_cleanup $MANIFEST_PATH/$manifestname.tmp $MANIFEST_PATH/$manifestname
                                 ^------------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                                  ^------------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                                                 ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	fsynced_write_or_cleanup "$MANIFEST_PATH"/"$manifestname".tmp "$MANIFEST_PATH"/"$manifestname"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 64:
	$OPKG install $opkg_options $1 >/dev/null 2>&1 ||
                      ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                    ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	$OPKG install "$opkg_options" "$1" >/dev/null 2>&1 ||


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 68:
	appid=$(get_package_name $filename)
                                 ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	appid=$(get_package_name "$filename")


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 69:
	errormsg=$(addon-setup $filename $signed $first_boot_mode) || {
                               ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                 ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	errormsg=$(addon-setup "$filename" $signed "$first_boot_mode") || {


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 73:
		$OPKG remove $appid > /dev/null 2>&
                             ^----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		$OPKG remove "$appid" > /dev/null 2>&1


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 76:
		rm -f $MANIFEST_PATH/$manifest_basename
                      ^------------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                     ^----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		rm -f "$MANIFEST_PATH"/"$manifest_basename"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 77:
		revert_and_fail $errorcode $errormsg
                                           ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		revert_and_fail $errorcode "$errormsg"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 80:
	restore_running_state $appid> /dev/null 2>&1 ||
                              ^----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	restore_running_state "$appid"> /dev/null 2>&1 ||


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 96:
	[ $# -eq 3 ] || revert_and_fail $ERR_INSTALL_ERROR 		"Invalid number of arguments"
                                        ^----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	[ $# -eq 3 ] || revert_and_fail "$ERR_INSTALL_ERROR" 		"Invalid number of arguments"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 104:
			revert_and_fail $ERR_UNSUPPORTED_SIGNATURE_FORMAT 								"Unsupported signature format"
                                        ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
			revert_and_fail "$ERR_UNSUPPORTED_SIGNATURE_FORMAT" 								"Unsupported signature format"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 119:
	[ $# -eq 1 ] || revert_and_fail $ERR_INSTALL_ERROR 		"Invalid number of arguments"
                                        ^----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	[ $# -eq 1 ] || revert_and_fail "$ERR_INSTALL_ERROR" 		"Invalid number of arguments"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 134:
	[ $# -eq 1 ] || revert_and_fail $ERR_INSTALL_ERROR 		"Invalid number of arguments"
                                        ^----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	[ $# -eq 1 ] || revert_and_fail "$ERR_INSTALL_ERROR" 		"Invalid number of arguments"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 147:
	[ $# -eq 1 ] || revert_and_fail $ERR_INSTALL_ERROR 		"Invalid number of arguments"
                                        ^----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	[ $# -eq 1 ] || revert_and_fail "$ERR_INSTALL_ERROR" 		"Invalid number of arguments"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 149:
	if [ $1 -eq 1 ]; then
             ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	if [ "$1" -eq 1 ]; then


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 164:
	[ $# -eq 1 ] || revert_and_fail $ERR_INSTALL_ERROR 		"Invalid number of arguments"
                                        ^----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	[ $# -eq 1 ] || revert_and_fail "$ERR_INSTALL_ERROR" 		"Invalid number of arguments"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 166:
	if [ $1 -eq 1 ]; then
             ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	if [ "$1" -eq 1 ]; then


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 180:
	local architecture
        ^----------------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 182:
	[ $# -eq 1 ] || revert_and_fail $ERR_INSTALL_ERROR 		"Invalid number of arguments"
                                        ^----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	[ $# -eq 1 ] || revert_and_fail "$ERR_INSTALL_ERROR" 		"Invalid number of arguments"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 185:
		revert_and_fail $ERR_INSTALL_ERROR "Internal Error when parsing manifest"
                                ^----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		revert_and_fail "$ERR_INSTALL_ERROR" "Internal Error when parsing manifest"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 192:
	[ $architecture = "cortexa9hf-neon" ] || [ $architecture = "all" ] || {
          ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                   ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	[ "$architecture" = "cortexa9hf-neon" ] || [ "$architecture" = "all" ] || {


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 218:
[ -f "$1" ] || fail_errorcode $ERR_INSTALL_ERROR "File $1 not found"
                              ^----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
[ -f "$1" ] || fail_errorcode "$ERR_INSTALL_ERROR" "File $1 not found"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 223:
FILELIST=$(tar -tf $FILEPATH 2>/dev/null) || revert_and_fail $ERR_FILE_FORMAT 	"The file is not a valid add-on package tarball"
                   ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                             ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
FILELIST=$(tar -tf "$FILEPATH" 2>/dev/null) || revert_and_fail "$ERR_FILE_FORMAT" 	"The file is not a valid add-on package tarball"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 226:
TMPPATH=$(mktemp -d) || revert_and_fail $ERR_FILE_SYSTEM 	"Failed to create a temporary directory"
                                        ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
TMPPATH=$(mktemp -d) || revert_and_fail "$ERR_FILE_SYSTEM" 	"Failed to create a temporary directory"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 229:
tar -C $TMPPATH -zxf $FILEPATH $PKG_CONF_FILE 2>/dev/null ||
       ^------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                     ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
tar -C "$TMPPATH" -zxf "$FILEPATH" $PKG_CONF_FILE 2>/dev/null ||


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 230:
	revert_and_fail $ERR_FILE_FORMAT 		"No package config found in the add-on package"
                        ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	revert_and_fail "$ERR_FILE_FORMAT" 		"No package config found in the add-on package"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 234:
	revert_and_fail $ERR_INVALID_PACKAGE_CONFIG 		"Failed to get package format from package config"
                        ^-------------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	revert_and_fail "$ERR_INVALID_PACKAGE_CONFIG" 		"Failed to get package format from package config"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 237:
is_package_format_supported $pkg_format ||
                            ^---------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
is_package_format_supported "$pkg_format" ||


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 238:
	revert_and_fail $ERR_UNSUPPORTED_PACKAGE_FORMAT "Unsupported package format"
                        ^-----------------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	revert_and_fail "$ERR_UNSUPPORTED_PACKAGE_FORMAT" "Unsupported package format"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 241:
devmode=$(get_devmode_allowed_apis) || revert_and_fail $ERR_INSTALL_ERROR 	"Failed to get developer mode status"
                                                       ^----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
devmode=$(get_devmode_allowed_apis) || revert_and_fail "$ERR_INSTALL_ERROR" 	"Failed to get developer mode status"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 246:
	[ -n "$devmode" ] || revert_and_fail $ERR_INVALID_PACKAGE_CONFIG 		"Failed to get signature format from package config"
                                             ^-------------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	[ -n "$devmode" ] || revert_and_fail "$ERR_INVALID_PACKAGE_CONFIG" 		"Failed to get signature format from package config"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 251:
	is_signature_format_supported $sig_format ||
                                      ^---------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	is_signature_format_supported "$sig_format" ||


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 252:
		revert_and_fail $ERR_UNSUPPORTED_SIGNATURE_FORMAT 			"Unsupported signature format"
                                ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		revert_and_fail "$ERR_UNSUPPORTED_SIGNATURE_FORMAT" 			"Unsupported signature format"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 267:
			[ -n "$addon_opk" ] && revert_and_fail $ERR_FILE_FORMAT 				"Multiple add-on opk tars" || addon_opk=$file
                                                               ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
			[ -n "$addon_opk" ] && revert_and_fail "$ERR_FILE_FORMAT" 				"Multiple add-on opk tars" || addon_opk=$file


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 278:
			revert_and_fail $ERR_FILE_FORMAT 				"Installation failed due to erroneously formatted tarball."
                                        ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
			revert_and_fail "$ERR_FILE_FORMAT" 				"Installation failed due to erroneously formatted tarball."


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 284:
[ -n "$addon_opk" ] || revert_and_fail $ERR_FILE_FORMAT 	"No add-on opk tarball in the add-on package"
                                       ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
[ -n "$addon_opk" ] || revert_and_fail "$ERR_FILE_FORMAT" 	"No add-on opk tarball in the add-on package"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 287:
tar -C $TMPPATH -zxf $FILEPATH $addon_opk $sig || revert_and_fail 	$ERR_FILE_FORMAT "Failed to extract the add-on package"
       ^------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                     ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                               ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                          ^--^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                                        ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
tar -C "$TMPPATH" -zxf "$FILEPATH" "$addon_opk" "$sig" || revert_and_fail 	"$ERR_FILE_FORMAT" "Failed to extract the add-on package"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 294:
	[ -n "$sig_format" ] || revert_and_fail $ERR_INVALID_PACKAGE_CONFIG 		"No signature format for the signature in the add-on package"
                                                ^-------------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	[ -n "$sig_format" ] || revert_and_fail "$ERR_INVALID_PACKAGE_CONFIG" 		"No signature format for the signature in the add-on package"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 296:
	verify_signature $sig_format $TMPPATH/$sig $TMPPATH/$addon_opk ||
                         ^---------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                     ^------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                              ^--^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                   ^------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                            ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	verify_signature "$sig_format" "$TMPPATH"/"$sig" "$TMPPATH"/"$addon_opk" ||


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 297:
		revert_and_fail $ERR_BAD_SIGNATURE 			"This package has an invalid signature, installation aborted"
                                ^----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		revert_and_fail "$ERR_BAD_SIGNATURE" 			"This package has an invalid signature, installation aborted"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 302:
if [ -z $sig ] && [ -z $devmode ]; then
        ^--^ SC2086 (info): Double quote to prevent globbing and word splitting.
                       ^------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
if [ -z "$sig" ] && [ -z "$devmode" ]; then


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 303:
	revert_and_fail $ERR_NO_SIGNATURE 		"Trying to illegally install unsigned addon!"
                        ^---------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	revert_and_fail "$ERR_NO_SIGNATURE" 		"Trying to illegally install unsigned addon!"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 306:
OPK_FILELIST=$(tar -tf $TMPPATH/$addon_opk 2>/dev/null) ||
                       ^------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
OPK_FILELIST=$(tar -tf "$TMPPATH"/"$addon_opk" 2>/dev/null) ||


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 307:
	revert_and_fail $ERR_FILE_FORMAT 		"The file is not a valid add-on opk tarball"
                        ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	revert_and_fail "$ERR_FILE_FORMAT" 		"The file is not a valid add-on opk tarball"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 313:
			[ -n "$opk_file" ] && revert_and_fail $ERR_FILE_FORMAT 				"Multiple add-on opk packages" || opk_file=$file
                                                              ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
			[ -n "$opk_file" ] && revert_and_fail "$ERR_FILE_FORMAT" 				"Multiple add-on opk packages" || opk_file=$file


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 316:
			[ -n "$man_file" ] && revert_and_fail $ERR_FILE_FORMAT 				"Multiple manifest files" || man_file=$file
                                                              ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
			[ -n "$man_file" ] && revert_and_fail "$ERR_FILE_FORMAT" 				"Multiple manifest files" || man_file=$file


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 319:
			revert_and_fail $ERR_FILE_FORMAT 				"Installation failed due to erroneously formatted add-on opk 				tarball."
                                        ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
			revert_and_fail "$ERR_FILE_FORMAT" 				"Installation failed due to erroneously formatted add-on opk 				tarball."


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 325:
[ -n "$opk_file" ] || revert_and_fail $ERR_FILE_FORMAT "No add-on opk file"
                                      ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
[ -n "$opk_file" ] || revert_and_fail "$ERR_FILE_FORMAT" "No add-on opk file"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 326:
[ -n "$man_file" ] || revert_and_fail $ERR_FILE_FORMAT "No manifest file"
                                      ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
[ -n "$man_file" ] || revert_and_fail "$ERR_FILE_FORMAT" "No manifest file"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 329:
tar -C $TMPPATH -xf $TMPPATH/$addon_opk $opk_file $man_file  ||
       ^------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                    ^------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                             ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                        ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                  ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
tar -C "$TMPPATH" -xf "$TMPPATH"/"$addon_opk" "$opk_file" "$man_file"  ||


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 330:
	revert_and_fail $ERR_FILE_SYSTEM 		"Failed to untar opk and manifest"
                        ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	revert_and_fail "$ERR_FILE_SYSTEM" 		"Failed to untar opk and manifest"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 333:
rm -f $TMPPATH/$addon_opk
      ^------^ SC2086 (info): Double quote to prevent globbing and word splitting.
               ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
rm -f "$TMPPATH"/"$addon_opk"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 335:
pkgname=$(get_package_name $opk_file) ||
                           ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
pkgname=$(get_package_name "$opk_file") ||


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 336:
	revert_and_fail $ERR_FILE_FORMAT "No package name in opk file name"
                        ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	revert_and_fail "$ERR_FILE_FORMAT" "No package name in opk file name"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 339:
	revert_and_fail $ERR_INVALID_PKG_NAME 		"Failed to validate package name: $pkgname"
                        ^-------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	revert_and_fail "$ERR_INVALID_PKG_NAME" 		"Failed to validate package name: $pkgname"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 341:
[ $result -eq $TRUE ] || revert_and_fail $ERR_INVALID_PKG_NAME 	"Package name $pkgname contains illegal characters only " 	"[a-z0-9.+-] is allowed"
  ^-----^ SC2154 (warning): result is referenced but not assigned.
  ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.
              ^---^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                         ^-------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
[ "$result" -eq "$TRUE" ] || revert_and_fail "$ERR_INVALID_PKG_NAME" 	"Package name $pkgname contains illegal characters only " 	"[a-z0-9.+-] is allowed"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 344:
is_valid_architecture $TMPPATH/$man_file || revert_and_fail $ERR_ARCHITECTURE 	"Incompatible architecture specified in manifest"
                      ^------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                               ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                            ^---------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
is_valid_architecture "$TMPPATH"/"$man_file" || revert_and_fail "$ERR_ARCHITECTURE" 	"Incompatible architecture specified in manifest"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 346:
get_package_version $TMPPATH/$man_file pkgversion ||
                    ^------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                             ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
get_package_version "$TMPPATH"/"$man_file" pkgversion ||


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 349:
installed_version=$(get_installed_version $pkgname)
                                          ^------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
installed_version=$(get_installed_version "$pkgname")


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 353:
if [ $check_blacklist ] && [ -z $installed_version ] &&
     ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                ^----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
if [ "$check_blacklist" ] && [ -z "$installed_version" ] &&


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 354:
	is_package_preinstall_blacklisted $pkgname result &&
                                          ^------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	is_package_preinstall_blacklisted "$pkgname" result &&


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 355:
	[ $result -eq $TRUE ]; then
          ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.
                      ^---^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	[ "$result" -eq "$TRUE" ]; then


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 356:
	revert_and_fail $ERR_PREINSTALL_SKIPPED 	"Pre-installation of $pkgname is skipped since it is blacklisted"
                        ^---------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	revert_and_fail "$ERR_PREINSTALL_SKIPPED" 	"Pre-installation of $pkgname is skipped since it is blacklisted"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 360:
create_addon_lock $pkgname
                  ^------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
create_addon_lock "$pkgname"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 362:
get_manifest_version $TMPPATH/$man_file man_ver_uploaded ||
                     ^------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                              ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
get_manifest_version "$TMPPATH"/"$man_file" man_ver_uploaded ||


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 365:
is_package_installed $pkgname package_installed ||
                     ^------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
is_package_installed "$pkgname" package_installed ||


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 366:
	revert_and_fail $ERR_INSTALL_OPKG 	"Failed to check if Add-on package $pkgname is installed"
                        ^---------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	revert_and_fail "$ERR_INSTALL_OPKG" 	"Failed to check if Add-on package $pkgname is installed"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 369:
[ $package_installed -ne $TRUE ] ||
  ^----------------^ SC2154 (warning): package_installed is referenced but not assigned.
  ^----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                         ^---^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
[ "$package_installed" -ne "$TRUE" ] ||


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 370:
	get_manifest_version $MANIFEST_PATH/$man_file man_ver_installed ||
                             ^------------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                            ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	get_manifest_version "$MANIFEST_PATH"/"$man_file" man_ver_installed ||


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 373:
if [ $man_ver_installed -eq 1 ] 2>/dev/null &&
     ^----------------^ SC2154 (warning): man_ver_installed is referenced but not assigned.
     ^----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
if [ "$man_ver_installed" -eq 1 ] 2>/dev/null &&


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 374:
	[ $man_ver_uploaded -gt 1 ] 2>/dev/null; then
          ^---------------^ SC2154 (warning): man_ver_uploaded is referenced but not assigned.
          ^---------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	[ "$man_ver_uploaded" -gt 1 ] 2>/dev/null; then


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 388:
[ -z $installed_version ] || {
     ^----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
[ -z "$installed_version" ] || {


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 391:
		$OPKG compare-versions $installed_version '<=' $pkgversion ||
                                       ^----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                               ^---------^ SC2154 (warning): pkgversion is referenced but not assigned.
                                                               ^---------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		$OPKG compare-versions "$installed_version" '<=' "$pkgversion" ||


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 392:
			revert_and_fail $ERR_LOWER_VERSION 				"Add-on downgrade not supported"
                                        ^----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
			revert_and_fail "$ERR_LOWER_VERSION" 				"Add-on downgrade not supported"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 396:
if [ $package_installed -eq $TRUE ]; then
     ^----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                            ^---^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
if [ "$package_installed" -eq "$TRUE" ]; then


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 398:
	save_running_state $pkgname
                           ^------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	save_running_state "$pkgname"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 400:
	[ $man_ver_uploaded -ge $man_ver_installed ] ||
          ^---------------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                ^----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	[ "$man_ver_uploaded" -ge "$man_ver_installed" ] ||


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 401:
		revert_and_fail $ERR_LOWER_VERSION 			"Manifest version of uploaded add-on cannot be lower than the installed"
                                ^----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		revert_and_fail "$ERR_LOWER_VERSION" 			"Manifest version of uploaded add-on cannot be lower than the installed"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 405:
is_free_from_prepost_scripts $TMPPATH/$opk_file result ||
                             ^------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                      ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
is_free_from_prepost_scripts "$TMPPATH"/"$opk_file" result ||


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 406:
	revert_and_fail $ERR_INSTALL_ERROR 		"Failed to check for pre/post scripts in Add-on opkg file"
                        ^----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	revert_and_fail "$ERR_INSTALL_ERROR" 		"Failed to check for pre/post scripts in Add-on opkg file"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 408:
[ $result -eq $TRUE ] || revert_and_fail $ERR_INVALID_CONTENT 		"Add-on opkg file contains pre/post scripts scripts"
  ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.
              ^---^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                         ^------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
[ "$result" -eq "$TRUE" ] || revert_and_fail "$ERR_INVALID_CONTENT" 		"Add-on opkg file contains pre/post scripts scripts"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 410:
install_addon $TMPPATH/$opk_file $TMPPATH/$man_file "$opkg_install_opt"
              ^------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                       ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                 ^------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                          ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
install_addon "$TMPPATH"/"$opk_file" "$TMPPATH"/"$man_file" "$opkg_install_opt"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 414:
	echo $pkgname >>$SIG_CONF_TMP || syslog_err $LOG_TAG "Failed to create $SIG_CONF_TMP"
             ^------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	echo "$pkgname" >>$SIG_CONF_TMP || syslog_err $LOG_TAG "Failed to create $SIG_CONF_TMP"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 418:
[ -r $SIG_CONF ] && [ -w $SIG_CONF ] ||
                 ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 422:
remove_addon_lock $pkgname
                  ^------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
remove_addon_lock "$pkgname"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 425:
rm -rf $TMPPATH
       ^------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
rm -rf "$TMPPATH"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/addon-install line 427:
echo $pkgname
     ^------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
echo "$pkgname"

For more information:
  https://www.shellcheck.net/wiki/SC2125 -- Brace expansions and globs are li...
  https://www.shellcheck.net/wiki/SC2154 -- man_ver_installed is referenced b...
  https://www.shellcheck.net/wiki/SC3043 -- In POSIX sh, 'local' is undefined.