# DSA uses kernel versions of the form 2.6.29.3-dsa-dl380-oldxeon, where
# Debian uses versions of the form 2.6.29-2-amd64
- if [ "${kervers//dsa}" != "$kervers" ]; then
+ if [ "${kervers#3}" != "$kervers" ]; then
+ metavers=$(echo $kervers | sed -r -e 's/^3\.[0-9].[0-9]+-[A-Za-z0-9\.]+-(.*)/\1/')
+ elif [ "${kervers//dsa}" != "$kervers" ]; then
metavers=$(echo $kervers | sed -r -e 's/^2\.(4|6)\.[0-9]+([\.0-9]+?)-(.*)/2.\1-\3/')
else
metavers=$(echo $kervers | sed -r -e 's/^2\.(4|6)\.[0-9]+-[A-Za-z0-9\.]+-(.*)/2.\1-\2/')
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
- if dpkg --compare-versions $vers gt $imagename; then
+ if dpkg --compare-versions "1.$vers" gt "1.$imagename"; then
imagename=$vers
fi
done
fi
if [ "$imagename" != "${prefix}-image-${kervers}" ]; then
- if dpkg --compare-versions "$imagename" lt "${prefix}-image-${kervers}"; then
+ if dpkg --compare-versions 1."$imagename" lt 1."${prefix}-image-${kervers}"; then
return 2
fi
echo "$imagename" != "${prefix}-image-${kervers}"