local imagename=0
# --no-all-versions show shows only the candidate
- for vers in $(apt-cache --no-all-versions show ${prefix}-image-${metavers} | sed -n 's/^Depends: //p' | tr ',' '\n' | tr -d ' ' | grep ${prefix}-image | awk '{print $1}' | sort -u); do
+ for vers in $(apt-cache --no-all-versions show ${prefix}-image-${metavers} | sed -n 's/^Depends: //p' | tr ',' '\n' | tr -d ' ' | grep ${prefix}-image | awk '{print $1}' | sort -Vu); do
if dpkg --compare-versions "1.$vers" gt "1.$imagename"; then
imagename=$vers
fi
fi
local availvrs=$(apt-cache policy ${imagename} 2>/dev/null | grep '^ Candidate' | awk '{print $2}')
- local kernelversion=$(apt-cache policy ${prefix}-image-${kervers} 2>/dev/null | grep '^ Installed:' | awk '{print $2}')
-
- if [ "$availvrs" = "$kernelversion" ]; then
- return 0
- fi
+ local kernelversion
+ for kernelversion in $(apt-cache policy ${prefix}-image-${kervers} ${prefix}-image-${kervers}-unsigned 2>/dev/null | grep '^ Installed:' | awk '{print $2}' | grep -F -v '(none)' ); do
+ if [ "$availvrs" = "$kernelversion" ]; then
+ return 0
+ fi
+ done
echo "$kernelversion != $availvrs"
return 1