1
mirror of https://github.com/mpv-player/mpv synced 2024-08-08 13:25:45 +02:00
mpv/version.sh
wm4 5a1b60c567 version.sh: don't use git tags for version output (again)
With the way I've been doing releases in the release/0.1 branch, this
proved completely useless. You need to write the VERSION file anyway,
and since we use github's automatically generated tarballs (via its
release system), the VERSION file needs to be in the git revision of
a release anyway. git master on the other hand displayed the v0.1.0
tag, because the tag is within the master branch.

This essentially reverts commit b27f65a. Now just print the contents
of the VERSION file if it exists, and likewise, we append the git
revision if it exists. (Do that even if VERSION exists, because this
way we can tell if someone is using the release branch at an in-between
point where no new release has been made yet.)
2013-10-14 20:14:17 +02:00

55 lines
1.2 KiB
Bash
Executable File

#!/bin/sh
export LC_ALL=C
for ac_option do
case "$ac_option" in
--extra=*)
extra="-$option"
;;
--print)
print=yes
;;
*)
echo "Unknown parameter: $option" >&2
exit 1
;;
esac
done
# Extract revision number from file used by daily tarball snapshots
# or from "git describe" output
git_revision=$(cat snapshot_version 2> /dev/null)
test $git_revision || test ! -e .git || git_revision=`git rev-parse --short HEAD`
test $git_revision && git_revision=git-$git_revision
version="$git_revision"
# releases extract the version number from the VERSION file
releaseversion=$(cat VERSION 2> /dev/null)
if test $releaseversion ; then
test $version && version="-$version"
version="$releaseversion$version"
fi
test $version || version=UNKNOWN
VERSION="${version}${extra}"
if test "$print" = yes ; then
echo "$VERSION"
exit 0
fi
NEW_REVISION="#define VERSION \"${VERSION}\""
OLD_REVISION=$(head -n 1 version.h 2> /dev/null)
BUILDDATE="#define BUILDDATE \"$(date)\""
# Update version.h only on revision changes to avoid spurious rebuilds
if test "$NEW_REVISION" != "$OLD_REVISION"; then
cat <<EOF > version.h
$NEW_REVISION
$BUILDDATE
EOF
fi