mirror of
https://git.proxmox.com/git/fwupd
synced 2025-05-15 16:41:10 +00:00
48 lines
1.2 KiB
Python
Executable File
48 lines
1.2 KiB
Python
Executable File
#!/usr/bin/python3
|
|
#
|
|
# Copyright (C) 2019 Dell, Inc.
|
|
#
|
|
# SPDX-License-Identifier: LGPL-2.1+
|
|
#
|
|
|
|
import xml.etree.ElementTree as etree
|
|
import os
|
|
import subprocess
|
|
|
|
def sanitize_for_ci(version):
|
|
if not 'CI' in os.environ:
|
|
return version
|
|
OS=os.getenv('OS')
|
|
if not OS:
|
|
return version
|
|
if "fedora" in OS:
|
|
return version.replace('-','.')
|
|
return version
|
|
|
|
def get_version_git():
|
|
try:
|
|
version = subprocess.check_output(['git', 'describe'], stderr=subprocess.DEVNULL)
|
|
return version.strip().decode('utf-8')
|
|
except (subprocess.CalledProcessError, PermissionError, FileNotFoundError):
|
|
return ''
|
|
|
|
def get_version():
|
|
tree = etree.parse(os.path.join("data", "org.freedesktop.fwupd.metainfo.xml"))
|
|
version = ''
|
|
for child in tree.findall('releases'):
|
|
for release in child:
|
|
if not "version" in release.attrib:
|
|
continue
|
|
if release.attrib['version'] > version:
|
|
version = release.attrib['version']
|
|
return version
|
|
|
|
if __name__ == '__main__':
|
|
|
|
version = get_version_git()
|
|
if version:
|
|
version = sanitize_for_ci(version)
|
|
else:
|
|
version = get_version()
|
|
print(version)
|