diff options
Diffstat (limited to 'hack/get_release_info.sh')
-rwxr-xr-x | hack/get_release_info.sh | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/hack/get_release_info.sh b/hack/get_release_info.sh index 40c473246..b3e208ac9 100755 --- a/hack/get_release_info.sh +++ b/hack/get_release_info.sh @@ -14,12 +14,20 @@ valid_args() { cut -d '*' -f 1 } -# `git describe` does not reliably produce a useful version number. +# `git describe` will never produce a useful version number under all +# branches. This is because the podman release process (see `RELEASE_PROCESS.md`) +# tags release versions only on release-branches (i.e. never on master). +# Scraping the version number directly from the source, is the only way +# to reliably obtain the number from all the various contexts supported by +# the `Makefile`. scrape_version() { - local versionfile='version/version.go' - local version_line=$(grep -m 1 'var Version =' $versionfile) - local version_string=$(cut -d '"' -f 2 <<<"$version_line") - echo "$version_string" | tr -d '[:space:]' + local v + # extract the value of 'var Version' + v=$(sed -ne 's/^var\s\+Version\s\+=\s.*("\(.*\)").*/\1/p' <version/version.go) + # If it's empty, something has changed in version.go, that would be bad! + test -n "$v" + # Value consumed literally, must not have any embedded newlines + echo -n "$v" } unset OUTPUT |