If building from an official tarball and EXTRAVERSION info is provided, then consider the build to be "clean" (don't include hostname/build timestamp). This is done on the expectation that EXTRAVERSION will have enough information to allow developers to find the builder and build environment should a defect be reported, and therefore the hostname/timestamp is not necessary.
Signed-off-by: Kevin O'Connor email@example.com --- scripts/buildversion.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/scripts/buildversion.py b/scripts/buildversion.py index bceae63..d61fc9e 100755 --- a/scripts/buildversion.py +++ b/scripts/buildversion.py @@ -23,7 +23,8 @@ def git_version(): return "" return ver
-# Look for version in a ".version" file +# Look for version in a ".version" file. Official release tarballs +# have this file (see scripts/tarball.sh). def file_version(): if not os.path.isfile('.version'): return "" @@ -90,9 +91,14 @@ def main(): cleanbuild, toolstr = tool_versions(options.tools)
ver = git_version() - cleanbuild = cleanbuild and ver and 'dirty' not in ver + cleanbuild = cleanbuild and 'dirty' not in ver if not ver: ver = file_version() + # We expect the "extra version" to contain information on the + # distributor and distribution package version (if + # applicable). It is a "clean" build if this is a build from + # an official release tarball and the above info is present. + cleanbuild = cleanbuild and ver and options.extra != "" if not ver: ver = "?" if not cleanbuild: