summaryrefslogtreecommitdiff
path: root/hack
diff options
context:
space:
mode:
Diffstat (limited to 'hack')
-rwxr-xr-xhack/get_release_info.sh18
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