summaryrefslogtreecommitdiffstats
path: root/Makefile.inc1
diff options
context:
space:
mode:
authorcperciva <cperciva@FreeBSD.org>2013-10-22 18:36:39 +0000
committercperciva <cperciva@FreeBSD.org>2013-10-22 18:36:39 +0000
commit3a45219eeb6feceb7124874e73f8d18cd22cc72d (patch)
treee780cee6c139b1bfacba332cac32d31b73f01ef3 /Makefile.inc1
parentcfdd057c36b1bfe3a8b05f51d54b6e7deb743729 (diff)
downloadFreeBSD-src-3a45219eeb6feceb7124874e73f8d18cd22cc72d.zip
FreeBSD-src-3a45219eeb6feceb7124874e73f8d18cd22cc72d.tar.gz
Thou shalt not leak build host state into the system being compiled.
The VERSION variable is encoded into the SUNW_ctf sections of the kernel and every kernel module when dtrace is enabled; starting with 9.2-RELEASE (when dtrace was turned on in GENERIC) this means that different host kernels will result in very different kernel binaries being generated. This tripped up freebsd-update builds after the build boxes were updated from 9.x to 10.x. MFC after: 3 days (stable/9) X-MFC after: 0 days (stable/10) Security: Rendered two members of so@ temporarily insane
Diffstat (limited to 'Makefile.inc1')
-rw-r--r--Makefile.inc17
1 files changed, 5 insertions, 2 deletions
diff --git a/Makefile.inc1 b/Makefile.inc1
index b205f54..3c1c458 100644
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -128,8 +128,11 @@ OSRELDATE= 0
.endif
.if !defined(VERSION)
-VERSION!= uname -srp
-VERSION+= ${OSRELDATE}
+REVISION!= make -C ${.CURDIR}/release -V REVISION
+BRANCH!= make -C ${.CURDIR}/release -V BRANCH
+SRCRELDATE!= awk '/^\#define[[:space:]]*__FreeBSD_version/ { print $$3 }' \
+ ${.CURDIR}/sys/sys/param.h
+VERSION= FreeBSD ${REVISION}-${BRANCH} ${TARGET_ARCH} ${SRCRELDATE}
.endif
KNOWN_ARCHES?= amd64 arm armeb/arm armv6/arm i386 i386/pc98 ia64 mips mipsel/mips mips64el/mips mips64/mips mipsn32el/mips mipsn32/mips powerpc powerpc64/powerpc sparc64
OpenPOWER on IntegriCloud