Advertisement
mmu_man

parse package version for setversion

Jul 20th, 2014
258
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 0.86 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. parseVersionStringForSetVersion()
  4. {
  5.     version="$1"
  6.     version="${version%-*}"
  7.     v="${version#r}"
  8.     major="${v%%[^0-9]*}"
  9.     v="${v#$major}"
  10.     v="${v#.}"
  11.     middle="${v%%[^0-9]*}"
  12.     v="${v#$middle}"
  13.     v="${v#.}"
  14.     minor="${v%%[^0-9]*}"
  15.     middle="${middle:-0}"
  16.     minor="${minor:-0}"
  17.     echo "major='$major' middle='$middle' minor='$minor'"
  18.     case "$version" in
  19.     r*~*_pm_*)
  20.         v="${major} 0 0 d 0"
  21.         ;;
  22.     r*~alpha*)
  23.         v="${major} 0 0 a 0"
  24.         ;;
  25.     r*~beta*)
  26.         v="${major} 0 0 b 0"
  27.         ;;
  28.     r*~gamma*)
  29.         v="${major} 0 0 g 0"
  30.         ;;
  31.     $major.$middle.$minor)
  32.         v="$major $middle $minor f 0"
  33.         ;;
  34.     *.*.*)
  35.         v="$major $middle $minor d 0"
  36.         ;;
  37.     esac
  38.     echo "$v"
  39. }
  40.  
  41. versions="r1~alpha4_pm-1
  42. r1~alpha4_pm_hrev47525-1
  43. 1.13.1
  44. 5.10.1
  45. 0.4.0dev
  46. 0.4.0_dev
  47. 0.4.0_git
  48. "
  49.  
  50. for v in $versions; do
  51.     echo "parsing '$v' ..."
  52.     parseVersionStringForSetVersion "$v"
  53. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement