Commit 87c94bfb8ad354fb43d2caf870d7ca0b3f98dab3

Authored by Sam Ravnborg
Committed by Sam Ravnborg
1 parent b72e53f8bb

kbuild: override build timestamp & version

Introduce KBUILD_BUILD_VERSION to make it
possible to override kernel build version
during build time.

Introduce KBUILD_BUILD_TIMESTAMP to make it
possible to override kernel build timestamp
during build time.

But variables are useful mainly by distros
that want to pass info from an SCM when
building the kernel. Timestamp could be last
checkin date for a file etc.

The idea came from Olaf Hering <olaf@aepfle.de>

Cc: Olaf Hering <olaf@aepfle.de>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

Showing 1 changed file with 20 additions and 7 deletions Side-by-side Diff

... ... @@ -18,19 +18,32 @@
18 18 # Do not expand names
19 19 set -f
20 20  
21   -if [ -r .version ]; then
22   - VERSION=`cat .version`
  21 +# Fix the language to get consistent output
  22 +LC_ALL=C
  23 +export LC_ALL
  24 +
  25 +if [ -z "$KBUILD_BUILD_VERSION" ]; then
  26 + if [ -r .version ]; then
  27 + VERSION=`cat .version`
  28 + else
  29 + VERSION=0
  30 + echo 0 > .version
  31 + fi
23 32 else
24   - VERSION=0
25   - echo 0 > .version
  33 + VERSION=$KBUILD_BUILD_VERSION
26 34 fi
27 35  
  36 +if [ -z "$KBUILD_BUILD_TIMESTAMP" ]; then
  37 + TIMESTAMP=`date`
  38 +else
  39 + TIMESTAMP=$KBUILD_BUILD_TIMESTAMP
  40 +fi
28 41  
29 42 UTS_VERSION="#$VERSION"
30 43 CONFIG_FLAGS=""
31 44 if [ -n "$SMP" ] ; then CONFIG_FLAGS="SMP"; fi
32 45 if [ -n "$PREEMPT" ] ; then CONFIG_FLAGS="$CONFIG_FLAGS PREEMPT"; fi
33   -UTS_VERSION="$UTS_VERSION $CONFIG_FLAGS `LC_ALL=C LANG=C date`"
  46 +UTS_VERSION="$UTS_VERSION $CONFIG_FLAGS $TIMESTAMP"
34 47  
35 48 # Truncate to maximum length
36 49  
... ... @@ -46,7 +59,7 @@
46 59  
47 60 echo \#define UTS_VERSION \"`echo $UTS_VERSION | $UTS_TRUNCATE`\"
48 61  
49   - echo \#define LINUX_COMPILE_TIME \"`LC_ALL=C LANG=C date +%T`\"
  62 + echo \#define LINUX_COMPILE_TIME \"`date +%T`\"
50 63 echo \#define LINUX_COMPILE_BY \"`whoami`\"
51 64 echo \#define LINUX_COMPILE_HOST \"`hostname | $UTS_TRUNCATE`\"
52 65  
... ... @@ -58,7 +71,7 @@
58 71 echo \#define LINUX_COMPILE_DOMAIN
59 72 fi
60 73  
61   - echo \#define LINUX_COMPILER \"`LC_ALL=C LANG=C $CC -v 2>&1 | tail -n 1`\"
  74 + echo \#define LINUX_COMPILER \"`$CC -v 2>&1 | tail -n 1`\"
62 75 ) > .tmpcompile
63 76  
64 77 # Only replace the real compile.h if the new one is different,