summaryrefslogtreecommitdiff
path: root/scripts/make-version-file
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@baturin.org>2018-04-05 14:59:44 +0200
committerDaniil Baturin <daniil@baturin.org>2018-04-05 14:59:44 +0200
commitd2e4f63f03ef5628ab94be34bf368e8c8458a2d0 (patch)
tree38c2f3a44d1a2c246b667ad1fd7e504097c1d7c1 /scripts/make-version-file
parent7c8769b7518d1396ab0ffb255a4dcb0e17c0da9a (diff)
downloadvyos-build-d2e4f63f03ef5628ab94be34bf368e8c8458a2d0.tar.gz
vyos-build-d2e4f63f03ef5628ab94be34bf368e8c8458a2d0.zip
T596: use a more descriptive dev build version format.
Diffstat (limited to 'scripts/make-version-file')
-rwxr-xr-xscripts/make-version-file24
1 files changed, 20 insertions, 4 deletions
diff --git a/scripts/make-version-file b/scripts/make-version-file
index 3bb33319..0459b8bf 100755
--- a/scripts/make-version-file
+++ b/scripts/make-version-file
@@ -1,6 +1,6 @@
#!/usr/bin/python3
#
-# Copyright (C) 2016 VyOS maintainers and contributors
+# Copyright (C) 2018 VyOS maintainers and contributors
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 or later as
@@ -25,16 +25,18 @@ import datetime
import json
import uuid
+import git
+
import defaults
import util
+# Load the build config
util.check_build_config()
with open(defaults.BUILD_CONFIG, 'r') as f:
build_config = json.load(f)
-
+# Create a build timestamp
now = datetime.datetime.today()
-
build_timestamp = now.strftime("%Y%m%d%H%M")
# FIXME: use aware rather than naive object
@@ -43,9 +45,23 @@ build_date = now.strftime("%a %d %b %Y %H:%M UTC")
# Assign a (hopefully) unique identifier to the build (UUID)
build_id = str(uuid.uuid4())
+# Create a build version
if build_config['build_type'] == 'development':
- version = "999.{0}".format(build_timestamp)
+ try:
+ # Load the branch to version mapping file
+ with open('data/versions') as f:
+ version_mapping = json.load(f)
+
+ repo = git.Repo('.')
+ git_branch = repo.active_branch.name
+ branch_version = version_mapping[git_branch]
+
+ version = "{0}-rolling+{1}".format(branch_version, build_timestamp)
+ except Exception as e:
+ print("Could not build a version string specific to git branch, falling back to default: {0}".format(str(e)))
+ version = "999.{0}".format(build_timestamp)
else:
+ # Release build, use the version from ./configure arguments
version = build_config['version']
version_data = {