diff options
author | Michael Olbrich <m.olbrich@pengutronix.de> | 2011-12-09 11:09:55 +0100 |
---|---|---|
committer | Michael Olbrich <m.olbrich@pengutronix.de> | 2011-12-09 14:50:40 +0100 |
commit | 203bbe8d7e254b294e533c7acf7b1f07a769dad1 (patch) | |
tree | b6b8b16b8c413a613cacc0c6f77870de619e691f /scripts/libptxdist.sh | |
parent | c8313072bf072d9e2b0f5481aa07ec069cc812da (diff) | |
download | ptxdist-203bbe8d7e254b294e533c7acf7b1f07a769dad1.tar.gz ptxdist-203bbe8d7e254b294e533c7acf7b1f07a769dad1.tar.xz |
libptxdist: improve version compare
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
Diffstat (limited to 'scripts/libptxdist.sh')
-rw-r--r-- | scripts/libptxdist.sh | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/scripts/libptxdist.sh b/scripts/libptxdist.sh index 6b196cb8f..af200b7b7 100644 --- a/scripts/libptxdist.sh +++ b/scripts/libptxdist.sh @@ -741,14 +741,16 @@ ptxd_ipkg_arch() { # ptxd_ipkg_rev_decimal_convert() { local ver=$* - while echo $ver | grep -q '[^0-9.]' + while echo $ver | grep -q '[^0-9.~]' do - local char=`echo -n $ver | sed 's/.*\([^0-9.]\).*/\1/'` - local char_dec=`echo -n $char | od -b | head -n 1 | awk '{print $2}'` - ver=`echo $ver | sed "s/$char/.$char_dec/g"` + local char="$(sed 's/.*\([^0-9.~]\).*/\1/' <<< $ver)" + local char_dec="$(echo $(od -b -N1 -An <<< $char))" + ver="${ver//$char/.$char_dec}" done - ver=`echo $ver | sed 's/\.\./.0/g'` + ver="$(sed -r "s/\.?~/.-1./g" <<< $ver)" + ver="${ver//../.0}" + ver="${ver#.}" echo "$ver" } |