version.sh 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #!/bin/bash
  2. # Script for parsing version information in the repository
  3. set -e
  4. set -o pipefail
  5. LINUX_REPOSITORY=linux
  6. LINUX_VERSION=$(sed -n "s/^VERSION = \([0-9]*$\)/\1/p" < linux/Makefile | xargs)
  7. LINUX_PATCHLEVEL=$(sed -n "s/^PATCHLEVEL = \([0-9]*$\)/\1/p" < linux/Makefile | xargs)
  8. LINUX_SUBLEVEL=$(sed -n "s/^SUBLEVEL = \([0-9]*$\)/\1/p" < linux/Makefile | xargs)
  9. LINUX_VERSION_FULL=$LINUX_VERSION.$LINUX_PATCHLEVEL.$LINUX_SUBLEVEL
  10. PACKAGE_VERSION=$(dpkg-parsechangelog -SVersion)
  11. PACKAGE_RELEASE=$(echo $PACKAGE_VERSION | sed -n 's/^.*-\([0-9]*\).*$/\1/p' | xargs)
  12. while getopts "MmnprdLh" OPTION; do
  13. case $OPTION in
  14. M)
  15. echo $LINUX_VERSION
  16. exit 0
  17. ;;
  18. m)
  19. echo $LINUX_PATCHLEVEL
  20. exit 0
  21. ;;
  22. n)
  23. echo $LINUX_VERSION.$LINUX_PATCHLEVEL
  24. exit 0
  25. ;;
  26. p)
  27. echo $LINUX_SUBLEVEL
  28. exit 0
  29. ;;
  30. r)
  31. echo $PACKAGE_RELEASE
  32. exit 0
  33. ;;
  34. L)
  35. echo $LINUX_VERSION_FULL
  36. exit 0
  37. ;;
  38. h)
  39. echo "version.sh [-Mmnprfh]"
  40. echo " -M major version"
  41. echo " -m minor version"
  42. echo " -n major minor version"
  43. echo " -p patch version"
  44. echo " -r package release"
  45. echo " -L Linux version"
  46. echo " -h this help message"
  47. exit 1
  48. ;;
  49. *)
  50. echo "Incorrect options provided"
  51. exit 1
  52. ;;
  53. esac
  54. done
  55. echo "$PACKAGE_VERSION"