In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info 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/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 8:
	local script_name=${0##*/}
        ^---------------^ SC3043 (warning): In POSIX sh, 'local' is undefined.
                          ^------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	local script_name="${0##*/}"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 42:
	exit $1
             ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	exit "$1"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 56:
	local status
        ^----------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 60:
	status=$(systemctl is-active ${1%%[[:blank:]]*}.service || :)
                                     ^----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	status=$(systemctl is-active "${1%%[[:blank:]]*}".service || :)


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 67:
	eval $2=\$status
             ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	eval "$2"=\$status


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 76:
	[ $# -ge 2 ] && [ "$1" ] && [ "$2" ] || {
                                 ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 81:
	local _result _opt=true
        ^----------------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 84:
	[ $# -eq 3 ] && [ $3 ] || _opt=false
                          ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	[ $# -eq 3 ] && [ "$3" ] || _opt=false


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 86:
	_result="$(xmllint --xpath "string(/$1)" $MANIFEST_FILE 2>/dev/null)" ||
                                                 ^------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	_result="$(xmllint --xpath "string(/$1)" "$MANIFEST_FILE" 2>/dev/null)" ||


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 87:
		fail_errorcode $ERR_MANIFEST "Error when parsing manifest"
                               ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		fail_errorcode "$ERR_MANIFEST" "Error when parsing manifest"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 93:
	eval $2=\$_result
             ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	eval "$2"=\$_result


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 103:
	[ $# -eq 2 ] && [ "$1" ] && [ "$2" ] || {
                                 ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 108:
	local continue_iter=false delimiter="^" _remain="$1" _escaped=
        ^-- SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 110:
	[ "${1#*$delimiter}" = "$1" ] || continue_iter=true
                ^--------^ SC2295 (info): Expansions inside ${..} need to be quoted separately, otherwise they match as patterns.

Did you mean: 
	[ "${1#*"$delimiter"}" = "$1" ] || continue_iter=true


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 115:
				_escaped=$_escaped${_remain%%$delimiter*}"~^"
                                                             ^--------^ SC2295 (info): Expansions inside ${..} need to be quoted separately, otherwise they match as patterns.

Did you mean: 
				_escaped=$_escaped${_remain%%"$delimiter"*}"~^"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 116:
				_remain=${_remain#*$delimiter}
                                                   ^--------^ SC2295 (info): Expansions inside ${..} need to be quoted separately, otherwise they match as patterns.

Did you mean: 
				_remain=${_remain#*"$delimiter"}


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 124:
	eval $2=\$_escaped\$_remain
             ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	eval "$2"=\$_escaped\$_remain


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 131:
	[ $# -eq 1 ] && [ "$1" ] || {
                     ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 136:
	local major
        ^---------^ SC3043 (warning): In POSIX sh, 'local' is undefined.
              ^---^ SC2034 (warning): major appears unused. Verify use (or export if used externally).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 140:
	eval $1=\$major
             ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	eval "$1"=\$major


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 147:
	[ $# -eq 1 ] && [ "$1" ] || {
                     ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 152:
	local license_name
        ^----------------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 158:
	eval $1=\$license_name
             ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	eval "$1"=\$license_name


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 166:
	[ $# -eq 2 ] && [ "$1" ] && [ "$2" ] || {
                                 ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 171:
	local version_name
        ^----------------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 173:
	if [ $1 -ge 2 ]; then
             ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

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


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 174:
		local version version_info
                ^------------------------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 179:
		[ $version ] || {
                  ^------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		[ "$version" ] || {


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 184:
		[ -z $version_info ] && version_name=$version ||
                     ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		[ -z "$version_info" ] && version_name=$version ||


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 187:
	elif [ $1 -eq 1 ]; then
               ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

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


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 196:
	eval $2=\$version_name
             ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	eval "$2"=\$version_name


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 203:
	[ $# -eq 1 ] && [ "$1" ] || {
                     ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 208:
	local nice_name
        ^-------------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 214:
	eval $1=\$nice_name
             ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	eval "$1"=\$nice_name


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 221:
	[ $# -eq 1 ] && [ "$1" ] || {
                     ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 226:
	local nice_maintainer
        ^-------------------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 232:
	eval $1=\$nice_maintainer
             ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	eval "$1"=\$nice_maintainer


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 240:
	local signed eof=
        ^--------------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 243:
		read LINE || eof=true   ## detect eof, but have a last round
                ^--^ SC2162 (info): read without -r will mangle backslashes.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 255:
	[ $# -eq 2 ] && [ "$1" ] && [ "$2" ] || {
                                 ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 260:
	local webpage_name
        ^----------------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 267:
	eval $1=\$webpage_name
             ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	eval "$1"=\$webpage_name


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 316:
shift $(($OPTIND - 1))
         ^-----^ SC2004 (style): $/${} is unnecessary on arithmetic variables.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 320:
		fail_errorcode $ERR_INVALID_PKG_NAME 			"Failed to validate package name: $addon_name"
                               ^-------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		fail_errorcode "$ERR_INVALID_PKG_NAME" 			"Failed to validate package name: $addon_name"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 322:
	[ $result -eq $TRUE ] || fail_errorcode $ERR_INVALID_PKG_NAME 		"Package name $addon_name contains illegal characters only " 		"[a-z0-9.+-] is allowed"
          ^-----^ SC2154 (warning): result is referenced but not assigned (did you mean '_result'?).
          ^-----^ 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" ] || fail_errorcode "$ERR_INVALID_PKG_NAME" 		"Package name $addon_name contains illegal characters only " 		"[a-z0-9.+-] is allowed"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 327:
list_addon=$($OPKG list-installed $addon_name) || {
                                  ^---------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
list_addon=$($OPKG list-installed "$addon_name") || {


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 340:
	_signed=$(get_signed_state $pkg)
                                   ^--^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	_signed=$(get_signed_state "$pkg")


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 342:
	[ -f $MANIFEST_FILE ] || {
             ^------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	[ -f "$MANIFEST_FILE" ] || {


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 346:
	[ -r $MANIFEST_FILE ] || {
             ^------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	[ -r "$MANIFEST_FILE" ] || {


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 353:
	get_version_name $_manifest_major _version_name
                         ^--------------^ SC2154 (warning): _manifest_major is referenced but not assigned.
                         ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	get_version_name "$_manifest_major" _version_name


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 354:
	[ $_manifest_major -ne 2 ] || {
          ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	[ "$_manifest_major" -ne 2 ] || {


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 358:
	get_status $pkg _status
                   ^--^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	get_status "$pkg" _status


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 359:
	get_mainwebpage_info _webpage_name ${pkg%%[[:blank:]]*}
                                           ^------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	get_mainwebpage_info _webpage_name "${pkg%%[[:blank:]]*}"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 374:
						[ $_manifest_major -ne 2 ] ||
                                                  ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
						[ "$_manifest_major" -ne 2 ] ||


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 375:
							addon_attr_list="$addon_attr_list ^ $_nice_name"
                                                                                            ^---------^ SC2154 (warning): _nice_name is referenced but not assigned (did you mean 'nice_name'?).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 378:
						[ $_manifest_major -ne 2 ] ||
                                                  ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
						[ "$_manifest_major" -ne 2 ] ||


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 379:
							addon_attr_list="$addon_attr_list ^ $_nice_maintainer"
                                                                                            ^---------------^ SC2154 (warning): _nice_maintainer is referenced but not assigned (did you mean 'nice_maintainer'?).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 382:
						addon_attr_list="$addon_attr_list ^ $_version_name"
                                                                                    ^------------^ SC2154 (warning): _version_name is referenced but not assigned (did you mean 'version_name'?).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 385:
						addon_attr_list="$addon_attr_list ^ $_license_name"
                                                                                    ^------------^ SC2154 (warning): _license_name is referenced but not assigned (did you mean 'license_name'?).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 391:
						addon_attr_list="$addon_attr_list ^ $_webpage_name"
                                                                                    ^------------^ SC2154 (warning): _webpage_name is referenced but not assigned (did you mean 'webpage_name'?).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 394:
						addon_attr_list="$addon_attr_list ^ $_status"
                                                                                    ^------^ SC2154 (warning): _status is referenced but not assigned (did you mean 'status'?).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 402:
		echo $addon_attr_list
                     ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		echo "$addon_attr_list"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 403:
	elif [ $_manifest_major -ge 2 ]; then
               ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	elif [ "$_manifest_major" -ge 2 ]; then


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 404:
		echo $pkg ^ $_version_name ^ $_license_name ^ $_signed ^ $_webpage_name ^ 			$_status ^ 3 ^ $_nice_name ^ $_nice_maintainer
                ^-- SC2291 (info): Quote repeated spaces to avoid them collapsing into one.
                     ^--^ 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.
                                                                                                                ^------^ 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: 
		echo "$pkg" ^ "$_version_name" ^ "$_license_name" ^ "$_signed" ^ "$_webpage_name" ^ 			"$_status" ^ 3 ^ "$_nice_name" ^ "$_nice_maintainer"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/addon-info line 406:
		echo $pkg ^ $_version_name ^ $_license_name ^ $_signed ^ $_webpage_name ^ 			$_status ^ 3
                ^-- SC2291 (info): Quote repeated spaces to avoid them collapsing into one.
                     ^--^ 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.
                                                                                                                ^------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		echo "$pkg" ^ "$_version_name" ^ "$_license_name" ^ "$_signed" ^ "$_webpage_name" ^ 			"$_status" ^ 3

For more information:
  https://www.shellcheck.net/wiki/SC2034 -- major appears unused. Verify use ...
  https://www.shellcheck.net/wiki/SC2154 -- _license_name is referenced but n...
  https://www.shellcheck.net/wiki/SC3043 -- In POSIX sh, 'local' is undefined.