diff --git a/Makefile b/Makefile index b1cb0fb..1f13942 100644 --- a/Makefile +++ b/Makefile @@ -1,16 +1,11 @@ -KERNEL_MAJ=5 -KERNEL_MIN=11 -KERNEL_PATCHLEVEL=0 - -KREL=1 - PKGREL=1 PKGRELLOCAL=1 PKGRELFULL=${PKGREL} -KERNEL_MAJMIN=$(KERNEL_MAJ).$(KERNEL_MIN) -KERNEL_VER=$(KERNEL_MAJMIN).$(KERNEL_PATCHLEVEL) +KERNEL_MAJMIN=$(shell ./scripts/version.sh -n) +KERNEL_VER=$(shell ./scripts/version.sh -L) +KREL=1 EXTRAVERSION=-${KREL} # Append Linux flavor name to EXTRAVERSION diff --git a/scripts/update.sh b/scripts/update.sh index a24594c..ed01441 100755 --- a/scripts/update.sh +++ b/scripts/update.sh @@ -5,7 +5,7 @@ set -o pipefail LINUX_REPOSITORY=linux -while getopts "R:t:b:v:r:h" OPTION; do +while getopts "R:t:v:r:h" OPTION; do case $OPTION in R) LINUX_REPOSITORY=$OPTARG @@ -13,9 +13,6 @@ while getopts "R:t:b:v:r:h" OPTION; do t) LINUX_TAG=$OPTARG ;; - b) - LINUX_BASE=$OPTARG - ;; v) LINUX_VERSION=$OPTARG ;; @@ -23,10 +20,9 @@ while getopts "R:t:b:v:r:h" OPTION; do LINUX_PACKAGE_RELEASE=$OPTARG ;; h) - echo "update.sh -rtbh" + echo "update.sh -Rrtvh" echo " -R path to Linux Git repository" echo " -t tag in Linux Git repository to pick" - echo " -b manual basis for this kernel" echo " -v manual version for this kernel" echo " -r manual release version for this kernel" echo " -h this help message" @@ -45,18 +41,12 @@ echo "Fetching $LINUX_TAG from Linux Git repository..." git --git-dir $LINUX_REPOSITORY/.git fetch origin --depth 1 $LINUX_TAG git --git-dir $LINUX_REPOSITORY/.git checkout FETCH_HEAD -if [[ -z "$LINUX_BASE" ]]; then - # Parse the Ubuntu base from which our build is derived - UBUNTU_BASE=$(git --git-dir $LINUX_REPOSITORY/.git log -1 --pretty=%B | sed -n "s/^.*Ubuntu-\([0-9.-]*\).*$/\1/p") - LINUX_BASE="Ubuntu $UBUNTU_BASE" -fi - if [[ -z "$LINUX_VERSION" ]]; then # Parse the Linux version from the Linux repository if it not provided by the user LINUX_VERSION=$(dpkg-parsechangelog -l $LINUX_REPOSITORY/debian.master/changelog --show-field Version | sed -n "s/^\([0-9.]*\).*$/\1/p") fi -echo "Using Linux $LINUX_VERSION based on $LINUX_BASE." +echo "Using Linux $LINUX_VERSION." # Prepare Debian changelog sed -e "s/@KVNAME@/$LINUX_VERSION/g" -e "s/@KVMAJMIN@/$LINUX_VERSION_MAJOR.$LINUX_VERSION_MINOR/g" < debian/control.in > debian/control @@ -79,18 +69,9 @@ else echo "New package release" fi -echo "Updating Makefile..." -# Update the Makefile with the proper version numbers -sed -i Makefile \ - -e "s/^KERNEL_MAJ=[0-9]*$/KERNEL_MAJ=$LINUX_VERSION_MAJOR/" \ - -e "s/^KERNEL_MIN=[0-9]*$/KERNEL_MIN=$LINUX_VERSION_MINOR/" \ - -e "s/^KERNEL_PATCHLEVEL=[0-9]*$/KERNEL_PATCHLEVEL=$LINUX_VERSION_PATCH/" \ - -e "s/^KREL=[0-9]*$/KREL=1/" \ - -e "s/^PKGREL=[0-9]*$/PKGREL=$LINUX_PACKAGE_RELEASE/" - echo "Generating entry for change log..." # Generate a changelog entry -debchange -v $LINUX_VERSION-$LINUX_PACKAGE_RELEASE -D edge --force-distribution -U -M "Update to Linux $LINUX_VERSION based on $LINUX_BASE." +debchange -v $LINUX_VERSION-$LINUX_PACKAGE_RELEASE -D edge --force-distribution -U -M "Update to Linux $LINUX_VERSION." echo "Cleaning up" rm -f debian/control diff --git a/scripts/version.sh b/scripts/version.sh index 6a33ad0..88d0623 100755 --- a/scripts/version.sh +++ b/scripts/version.sh @@ -4,56 +4,46 @@ set -e set -o pipefail LINUX_REPOSITORY=linux -LINUX_VERSION_MAJOR=$(sed -n "s/^KERNEL_MAJ=\([0-9]*$\)/\1/p" < Makefile | xargs) -LINUX_VERSION_MINOR=$(sed -n "s/^KERNEL_MIN=\([0-9]*$\)/\1/p" < Makefile | xargs) -LINUX_VERSION_PATCHLEVEL=$(sed -n "s/^KERNEL_PATCHLEVEL=\([0-9]*$\)/\1/p" < Makefile | xargs) -LINUX_VERSION_PATCHLEVEL=${LINUX_VERSION_PATCHLEVEL:-0} -LINUX_VERSION=$LINUX_VERSION_MAJOR.$LINUX_VERSION_MINOR.$LINUX_VERSION_PATCHLEVEL -LINUX_PACKAGE_RELEASE=$(sed -n "s/^PKGREL=\(.*\)$/\1/p" < Makefile | xargs) -LINUX_FLAVOR=$(sed -n "s/^PVE_BUILD_TYPE ?=\(.*\)$/\1/p" < Makefile | xargs) +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 "MmnprfdLBh" OPTION; do +while getopts "MmnprdLh" OPTION; do case $OPTION in M) - echo $LINUX_VERSION_MAJOR - exit 0 - ;; - m) - echo $LINUX_VERSION_MINOR - exit 0 - ;; - n) - echo $LINUX_VERSION_MAJOR.$LINUX_VERSION_MINOR - exit 0 - ;; - p) - echo $LINUX_VERSION_PATCHLEVEL - exit 0 - ;; - r) - echo $LINUX_PACKAGE_RELEASE - exit 0 - ;; - f) - echo $LINUX_FLAVOR - exit 0 - ;; - L) echo $LINUX_VERSION exit 0 ;; - B) - echo $(git --git-dir $LINUX_REPOSITORY/.git log -1 --pretty=%B | sed -n "s/^.*Ubuntu-\([0-9.-]*\).*$/\1/p") + 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 "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 " -f flavor name" echo " -L Linux version" echo " -h this help message" exit 1 @@ -65,8 +55,4 @@ while getopts "MmnprfdLBh" OPTION; do esac done -if [[ -z "$LINUX_FLAVOR" ]]; then - LINUX_FLAVOR_SUFFIX=-$LINUX_FLAVOR -fi - -echo "$LINUX_VERSION$LINUX_FLAVOR_SUFFIX-$LINUX_PACKAGE_RELEASE" +echo "$PACKAGE_VERSION"