version.sh 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  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_MAJOR=$(sed -n "s/^KERNEL_MAJ=\([0-9]*$\)/\1/p" < Makefile | xargs)
  7. LINUX_VERSION_MINOR=$(sed -n "s/^KERNEL_MIN=\([0-9]*$\)/\1/p" < Makefile | xargs)
  8. LINUX_VERSION_PATCHLEVEL=$(sed -n "s/^KERNEL_PATCHLEVEL=\([0-9]*$\)/\1/p" < Makefile | xargs)
  9. LINUX_VERSION_PATCHLEVEL=${LINUX_VERSION_PATCHLEVEL:-0}
  10. LINUX_VERSION=$LINUX_VERSION_MAJOR.$LINUX_VERSION_MINOR.$LINUX_VERSION_PATCHLEVEL
  11. LINUX_PACKAGE_RELEASE=$(sed -n "s/^PKGREL=\(.*\)$/\1/p" < Makefile | xargs)
  12. LINUX_FLAVOR=$(sed -n "s/^PVE_BUILD_TYPE ?=\(.*\)$/\1/p" < Makefile | xargs)
  13. while getopts "MmnprfdLBh" OPTION; do
  14. case $OPTION in
  15. M)
  16. echo $LINUX_VERSION_MAJOR
  17. exit 0
  18. ;;
  19. m)
  20. echo $LINUX_VERSION_MINOR
  21. exit 0
  22. ;;
  23. n)
  24. echo $LINUX_VERSION_MAJOR.$LINUX_VERSION_MINOR
  25. exit 0
  26. ;;
  27. p)
  28. echo $LINUX_VERSION_PATCHLEVEL
  29. exit 0
  30. ;;
  31. r)
  32. echo $LINUX_PACKAGE_RELEASE
  33. exit 0
  34. ;;
  35. f)
  36. echo $LINUX_FLAVOR
  37. exit 0
  38. ;;
  39. L)
  40. echo $LINUX_VERSION
  41. exit 0
  42. ;;
  43. B)
  44. echo $(git --git-dir $LINUX_REPOSITORY/.git log -1 --pretty=%B | sed -n "s/^.*Ubuntu-\([0-9.-]*\).*$/\1/p")
  45. exit 0
  46. ;;
  47. h)
  48. echo "version.sh [-Mmnprfh]]"
  49. echo " -M major version"
  50. echo " -m minor version"
  51. echo " -n major minor version"
  52. echo " -p patch version"
  53. echo " -r package release"
  54. echo " -f flavor name"
  55. echo " -L Linux version"
  56. echo " -h this help message"
  57. exit 1
  58. ;;
  59. *)
  60. echo "Incorrect options provided"
  61. exit 1
  62. ;;
  63. esac
  64. done
  65. if [[ -z "$LINUX_FLAVOR" ]]; then
  66. LINUX_FLAVOR_SUFFIX=-$LINUX_FLAVOR
  67. fi
  68. echo "$LINUX_VERSION$LINUX_FLAVOR_SUFFIX-$LINUX_PACKAGE_RELEASE"