mirror of
https://github.com/Telecominfraproject/OpenNetworkLinux.git
synced 2025-11-01 02:38:15 +00:00
- Development builds will be marked with the branch and build id. - Release builds will contain the specific release name and a simplified system issue string.
76 lines
2.3 KiB
Python
76 lines
2.3 KiB
Python
import subprocess
|
|
|
|
class OnlVersionImplementation(object):
|
|
|
|
PRODUCTS = [
|
|
{
|
|
"id" : "ONL",
|
|
# "version": "20YY-MM"
|
|
}
|
|
]
|
|
|
|
def __init__(self):
|
|
if 'version' in self.PRODUCTS[0]:
|
|
# Release builds have a specific version.
|
|
self.release = True
|
|
else:
|
|
# The current branch is used as the release version.
|
|
self.release = False
|
|
cmd = ('git', 'rev-parse', '--abbrev-ref', 'HEAD')
|
|
branch = subprocess.check_output(cmd).strip()
|
|
self.PRODUCTS[0]['version'] = branch
|
|
|
|
def V_OS_NAME(self, data):
|
|
return "Open Network Linux OS"
|
|
|
|
def V_BUILD_SHA1(self, data):
|
|
return data['build_sha1']
|
|
|
|
def V_BUILD_SHORT_SHA1(self, data):
|
|
return self.V_BUILD_SHA1(data)[0:7]
|
|
|
|
def V_BUILD_TIMESTAMP(self, data):
|
|
return data['build_timestamp']
|
|
|
|
def V_FNAME_BUILD_TIMESTAMP(self, data):
|
|
return self.V_BUILD_TIMESTAMP(data).replace(':', '')
|
|
|
|
def V_BUILD_ID(self, data):
|
|
return "%s-%s" % (self.V_BUILD_TIMESTAMP(data), self.V_BUILD_SHORT_SHA1(data))
|
|
|
|
def V_FNAME_BUILD_ID(self, data):
|
|
return "%s-%s" % (self.V_FNAME_BUILD_TIMESTAMP(data), self.V_BUILD_SHORT_SHA1(data))
|
|
|
|
def V_PRODUCT_ID_VERSION(self, data):
|
|
return data['product']['version']
|
|
|
|
def V_VERSION_ID(self, data):
|
|
return "ONL-%s" % (self.V_PRODUCT_ID_VERSION(data))
|
|
|
|
def V_FNAME_VERSION_ID(self, data):
|
|
return self.V_VERSION_ID(data)
|
|
|
|
def V_PRODUCT_VERSION(self, data):
|
|
return "ONL-%s" % (self.V_PRODUCT_ID_VERSION(data))
|
|
|
|
def V_FNAME_PRODUCT_VERSION(self, data):
|
|
return "ONL-%s" % (self.V_PRODUCT_ID_VERSION(data))
|
|
|
|
def V_VERSION_STRING(self, data):
|
|
return "%s %s, %s" % (self.V_OS_NAME(data), self.V_VERSION_ID(data), self.V_BUILD_ID(data))
|
|
|
|
def V_RELEASE_ID(self, data):
|
|
return "%s,%s" % (self.V_VERSION_ID(data), self.V_BUILD_ID(data))
|
|
|
|
def V_FNAME_RELEASE_ID(self, data):
|
|
return "%s-%s" % (self.V_VERSION_ID(data), self.V_FNAME_BUILD_ID(data))
|
|
|
|
def V_SYSTEM_COMPATIBILITY_VERSION(self, data):
|
|
return "2"
|
|
|
|
def V_ISSUE(self, data):
|
|
if self.release:
|
|
return "%s %s" % (self.V_OS_NAME(data), self.V_VERSION_ID(data))
|
|
else:
|
|
return self.V_VERSION_STRING(data)
|