diff --git a/auto_cpufreq/core.py b/auto_cpufreq/core.py index 20896dc..75e8a7d 100644 --- a/auto_cpufreq/core.py +++ b/auto_cpufreq/core.py @@ -12,6 +12,7 @@ import time import click import warnings import configparser +import pkg_resources from math import isclose from pathlib import Path from shutil import which @@ -111,7 +112,7 @@ except PermissionError: # display running version of auto-cpufreq def app_version(): - print("auto-cpufreq version:") + print("auto-cpufreq version: ", end="") # snap package if os.getenv("PKG_MARKER") == "SNAP": @@ -120,23 +121,27 @@ def app_version(): elif dist_name in ["arch", "manjaro", "garuda"]: aur_pkg_check = call("pacman -Qs auto-cpufreq > /dev/null", shell=True) if aur_pkg_check == 1: - print( - "Git commit:", - check_output(["git", "describe", "--always"]).strip().decode(), - ) + print(get_formatted_version()) else: print(getoutput("pacman -Qi auto-cpufreq | grep Version")) else: # source code (auto-cpufreq-installer) try: - print( - "Git commit:", - check_output(["git", "describe", "--always"]).strip().decode(), - ) + print(get_formatted_version()) except Exception as e: print(repr(e)) pass +# return formatted version for a better readability +def get_formatted_version(): + literal_version = pkg_resources.require("auto-cpufreq")[0].version + splitted_version = literal_version.split("+") + formatted_version = splitted_version[0] + + if len(splitted_version) > 1: + formatted_version += " (git: " + splitted_version[1] + ")" + + return formatted_version def app_res_use(): p = psutil.Process() diff --git a/setup.py b/setup.py index 6c542b6..f9afd3e 100644 --- a/setup.py +++ b/setup.py @@ -12,10 +12,18 @@ def read(name): with open(os.path.join(this, name)) as f: return f.read() +# Used for the tar.gz/snap releases +VERSION = "1.9.0" setup( name="auto-cpufreq", - version="1.0", + setuptools_git_versioning={ + "starting_version": VERSION, + "template": "{tag}+{sha}", + "dev_template": "{tag}+{sha}", + "dirty_template": "{tag}+{sha}.post{ccount}.dirty" + }, + setup_requires=["setuptools-git-versioning"], description="Automatic CPU speed & power optimizer for Linux", long_description=readme, author="Adnan Hodzic", diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index b0331bd..f5c0492 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -1,6 +1,5 @@ name: auto-cpufreq base: core20 -version: '1.9.1' summary: Automatic CPU speed & power optimizer for Linux description: | Automatic CPU speed & power optimizer for Linux based on active @@ -11,6 +10,7 @@ description: | license: LGPL-3.0 grade: stable confinement: strict +adopt-info: auto-cpufreq compression: lzo @@ -27,6 +27,9 @@ parts: - coreutils - dmidecode source: . + override-pull: | + snapcraftctl pull + snapcraftctl set-version `grep ^VERSION $SNAPCRAFT_PART_SRC/setup.py | sed 's/.*"\(.*\)"/\1/'` deploy-scripts: plugin: dump