On Thu, Aug 07, 2008 at 01:10:24PM -0300, Henrique de Moraes Holschuh wrote: > On Thu, 07 Aug 2008, Felix Zielcke wrote: > > Just replace the CompareVersion function with this: > > > > CompareVersions() > > { > > dpkg --compare-versions "$1" le "$2" > > echo $? > > } > > That's the minimal fix, yes. > > But if you do it that way, you will lose the special casing of "pre", "ac", > "rc" and etc.
Hi Henrique, I think I got it right now, but since we failed an attempt already, and the code around this is so tricky, I'd appreciate if you could test this first: CompareVersions() { local a=`echo $1 | sed -e "s,.*/vmlinu[zx]-,,g;s/[._-]\(pre\|rc\|test\|git\)/~\1/g"` local b=`echo $2 | sed -e "s,.*/vmlinu[zx]-,,g;s/[._-]\(pre\|rc\|test\|git\)/~\1/g"` if [ "$a" = "$b" ] ; then echo 0 elif dpkg --compare-versions "$a" lt "$b" ; then echo 1 else echo -1 fi } (former code didn't adjust well to the api of this function, so it needed a bit of adjustment) thanks! -- Robert Millan The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and how) you may access your data; but nobody's threatening your freedom: we still allow you to remove your data and not access it at all." -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]