From a51706c0467becdad29046475bfc803f9da0ad0f Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Sat, 11 May 2019 14:22:17 +0200 Subject: T1378: extend version file with Git commit ID The Git commit ID will be crucial for the future when the full VyOS build can be reproduced by the one Git commit ID, thus start recording it in the version file. (cherry picked from commit e08da45e6d20f1f2ac38fff24e697a155ddac3ea) --- scripts/make-version-file | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'scripts') diff --git a/scripts/make-version-file b/scripts/make-version-file index 95574722..4df2cb6c 100755 --- a/scripts/make-version-file +++ b/scripts/make-version-file @@ -43,7 +43,16 @@ build_timestamp = now.strftime("%Y%m%d%H%M") 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()) +build_uuid = str(uuid.uuid4()) + +# Initialize Git object from our repository +repo = git.Repo('.') + +# Retrieve the Git commit ID of the repository, 14 charaters will be sufficient +build_git = repo.head.object.hexsha[:14] +# If somone played around with the source tree and the build is "dirty", mark it +if repo.is_dirty(): + build_git += "-dirty" # Create a build version if build_config['build_type'] == 'development': @@ -52,7 +61,6 @@ if build_config['build_type'] == 'development': 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] @@ -68,10 +76,10 @@ version_data = { 'version': version, 'built_by': build_config['build_by'], 'built_on': build_date, - 'build_id': build_id + 'build_uuid': build_uuid, + 'build_git': build_git } - os.makedirs(os.path.join(defaults.CHROOT_INCLUDES_DIR, 'usr/share/vyos'), exist_ok=True) with open(os.path.join(defaults.CHROOT_INCLUDES_DIR, 'usr/share/vyos/version.json'), 'w') as f: json.dump(version_data, f) -- cgit v1.2.3