1# Base image version class extension 2 3DEPENDS_append = " os-release" 4 5def do_get_version(d): 6 import configparser 7 import io 8 path = d.getVar('STAGING_DIR_TARGET', True) + d.getVar('sysconfdir', True) 9 path = os.path.join(path, 'os-release') 10 parser = configparser.SafeConfigParser(strict=False) 11 parser.optionxform = str 12 version = '' 13 try: 14 with open(path, 'r') as fd: 15 buf = '[root]\n' + fd.read() 16 fd = io.StringIO(buf) 17 parser.readfp(fd) 18 version = parser['root']['VERSION_ID'] 19 except: 20 pass 21 return version 22 23def do_get_versionID(d): 24 import hashlib 25 version = do_get_version(d) 26 version = version.strip('"') 27 version_id = (hashlib.sha512(version.encode('utf-8')).hexdigest())[:8] 28 return version_id 29