58 lines
1.4 KiB
Bash
Executable file
58 lines
1.4 KiB
Bash
Executable file
#!/bin/bash
|
|
# Script for parsing version information in the repository
|
|
set -e
|
|
set -o pipefail
|
|
|
|
LINUX_REPOSITORY=linux
|
|
LINUX_VERSION=$(sed -n "s/^VERSION = \([0-9]*$\)/\1/p" < linux/Makefile | xargs)
|
|
LINUX_PATCHLEVEL=$(sed -n "s/^PATCHLEVEL = \([0-9]*$\)/\1/p" < linux/Makefile | xargs)
|
|
LINUX_SUBLEVEL=$(sed -n "s/^SUBLEVEL = \([0-9]*$\)/\1/p" < linux/Makefile | xargs)
|
|
LINUX_VERSION_FULL=$LINUX_VERSION.$LINUX_PATCHLEVEL.$LINUX_SUBLEVEL
|
|
PACKAGE_VERSION=$(dpkg-parsechangelog -SVersion)
|
|
PACKAGE_RELEASE=$(echo $PACKAGE_VERSION | sed -n 's/^.*-\([0-9]*\).*$/\1/p' | xargs)
|
|
|
|
while getopts "MmnprdLh" OPTION; do
|
|
case $OPTION in
|
|
M)
|
|
echo $LINUX_VERSION
|
|
exit 0
|
|
;;
|
|
m)
|
|
echo $LINUX_PATCHLEVEL
|
|
exit 0
|
|
;;
|
|
n)
|
|
echo $LINUX_VERSION.$LINUX_PATCHLEVEL
|
|
exit 0
|
|
;;
|
|
p)
|
|
echo $LINUX_SUBLEVEL
|
|
exit 0
|
|
;;
|
|
r)
|
|
echo $PACKAGE_RELEASE
|
|
exit 0
|
|
;;
|
|
L)
|
|
echo $LINUX_VERSION_FULL
|
|
exit 0
|
|
;;
|
|
h)
|
|
echo "version.sh [-Mmnprfh]"
|
|
echo " -M major version"
|
|
echo " -m minor version"
|
|
echo " -n major minor version"
|
|
echo " -p patch version"
|
|
echo " -r package release"
|
|
echo " -L Linux version"
|
|
echo " -h this help message"
|
|
exit 1
|
|
;;
|
|
*)
|
|
echo "Incorrect options provided"
|
|
exit 1
|
|
;;
|
|
esac
|
|
done
|
|
|
|
echo "$PACKAGE_VERSION"
|