kbuild: deb-pkg: fix too low build version number
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Tue, 6 Nov 2018 04:18:05 +0000 (13:18 +0900)
committerMasahiro Yamada <yamada.masahiro@socionext.com>
Sun, 11 Nov 2018 14:04:52 +0000 (23:04 +0900)
Since commit b41d920acff8 ("kbuild: deb-pkg: split generating packaging
and build"), the build version of the kernel contained in a deb package
is too low by 1.

Prior to the bad commit, the kernel was built first, then the number
in .version file was read out, and written into the debian control file.

Now, the debian control file is created before the kernel is actually
compiled, which is causing the version number mismatch.

Let the mkdebian script pass KBUILD_BUILD_VERSION=${revision} to require
the build system to use the specified version number.

Fixes: b41d920acff8 ("kbuild: deb-pkg: split generating packaging and build")
Reported-by: Doug Smythies <dsmythies@telus.net>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Tested-by: Doug Smythies <dsmythies@telus.net>
scripts/package/mkdebian

index 663a7f3..edcad61 100755 (executable)
@@ -88,6 +88,7 @@ set_debarch() {
 version=$KERNELRELEASE
 if [ -n "$KDEB_PKGVERSION" ]; then
        packageversion=$KDEB_PKGVERSION
+       revision=${packageversion##*-}
 else
        revision=$(cat .version 2>/dev/null||echo 1)
        packageversion=$version-$revision
@@ -205,10 +206,12 @@ cat <<EOF > debian/rules
 #!$(command -v $MAKE) -f
 
 build:
-       \$(MAKE) KERNELRELEASE=${version} ARCH=${ARCH} KBUILD_SRC=
+       \$(MAKE) KERNELRELEASE=${version} ARCH=${ARCH} \
+       KBUILD_BUILD_VERSION=${revision} KBUILD_SRC=
 
 binary-arch:
-       \$(MAKE) KERNELRELEASE=${version} ARCH=${ARCH} KBUILD_SRC= intdeb-pkg
+       \$(MAKE) KERNELRELEASE=${version} ARCH=${ARCH} \
+       KBUILD_BUILD_VERSION=${revision} KBUILD_SRC= intdeb-pkg
 
 clean:
        rm -rf debian/*tmp debian/files