mirror of
https://github.com/containers/podman.git
synced 2025-05-20 16:47:39 +08:00

- Adopt bash strict mode - Avoid cd errors as seen on CI vendor jobs: hack/get_release_info.sh: line 9: cd: /go/src/github.com/containers/libpod: No such file or directory Signed-off-by: Sorin Sbarnea <ssbarnea@redhat.com>
56 lines
1.4 KiB
Bash
Executable File
56 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# This script produces various bits of metadata needed by Makefile. Using
|
|
# a script allows uniform behavior across multiple environments and
|
|
# distributions. The script expects a single argument, as reflected below.
|
|
|
|
set -euo pipefail
|
|
|
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
|
cd "${GOSRC:-${DIR}/../}"
|
|
|
|
valid_args() {
|
|
REGEX='^\s+[[:upper:]]+\*[)]'
|
|
egrep --text --no-filename --group-separator=' ' --only-matching "$REGEX" "$0" | \
|
|
cut -d '*' -f 1
|
|
}
|
|
|
|
unset OUTPUT
|
|
case "$1" in
|
|
# Wild-card suffix needed by valid_args() e.g. possible bad grep of "$(echo $FOO)"
|
|
VERSION*)
|
|
OUTPUT="${CIRRUS_TAG:-$(git fetch --tags && git describe HEAD 2> /dev/null)}"
|
|
;;
|
|
NUMBER*)
|
|
OUTPUT="$($0 VERSION | sed 's/-.*//')"
|
|
;;
|
|
DIST_VER*)
|
|
OUTPUT="$(source /etc/os-release; echo $VERSION_ID | cut -d '.' -f 1)"
|
|
;;
|
|
DIST*)
|
|
OUTPUT="$(source /etc/os-release; echo $ID)"
|
|
;;
|
|
ARCH*)
|
|
OUTPUT="${GOARCH:-$(go env GOARCH 2> /dev/null)}"
|
|
;;
|
|
BASENAME*)
|
|
OUTPUT="podman"
|
|
;;
|
|
REMOTENAME*)
|
|
OUTPUT="$($0 BASENAME)-remote"
|
|
;;
|
|
*)
|
|
echo "Error, unknown/unsupported argument '$1', valid arguments:"
|
|
valid_args
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
if [[ -n "$OUTPUT" ]]
|
|
then
|
|
echo -n "$OUTPUT"
|
|
else
|
|
echo "Error, empty output for info: '$1'" > /dev/stderr
|
|
exit 2
|
|
fi
|