tvheadend/support/version
2013-01-06 20:47:26 +00:00

40 lines
968 B
Bash
Executable file

#!/bin/bash
#
# Update Tvheadend version file (if required)
#
# Path to version file
FILE=$1
# Calculate version
if [ -d ".git" ]; then
VER=$(cd $(dirname $0); git describe --dirty --match "v*" 2> /dev/null)
if [ $? -ne 0 ]; then
# Git describe failed, maybe "--dirty" option is not available
# Adding "-unknown" postfix to mark this situation
VER=$(cd $(dirname $0); git describe --match "v*" 2> /dev/null)-unknown
fi
VER=$(echo $VER | sed "s/^v//" | sed "s/-\([0-9]*\)-\(g[0-9a-f]*\)/.\1~\2/")
else
VER=$(head -1 $(dirname $0)/../debian/changelog | awk '{ print $2 }' | tr -d '()' | cut -d '-' -f 1)
fi
# Output
if [ -z "$FILE" ]; then
echo $VER
exit
fi
# Leave (probably ppa build)
if [ -z "$VER" -a -s "$FILE" ]; then
cat $FILE
exit
fi
# Update?
NEW_VER="const char *tvheadend_version = \"$VER\";"
OLD_VER=$(cat $FILE 2> /dev/null)
if [ "$NEW_VER" != "$OLD_VER" ]; then
echo $NEW_VER > $FILE
fi
echo $VER