mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +00:00
Unified handling of version extraction.
Removed oddly named and ridiculously outdated documentation text (scripts). Created new directory 'scripts'. Added unified version extraction script (scripts/get-version). Yes, it's more shell script code but faster and more maintainable than the sed commands and the swearwords/regexps repeated over and over again. Makefile and packaging/macosx/make-package.sh modified accordingly. I don't do windos neither macos but, AFAICS my tests show, it should be safe. Signed-off-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
2d8a203026
commit
727ee3aa98
4 changed files with 64 additions and 18 deletions
11
Makefile
11
Makefile
|
@ -26,11 +26,14 @@ MANFILES = $(NAME).1
|
|||
XSLTFILES = xslt/*.xslt
|
||||
|
||||
UNAME := $(shell $(CC) -dumpmachine 2>&1 | grep -E -o "linux|darwin|win")
|
||||
VERSION_STRING := $(shell git describe --tags --abbrev=12 || echo "v$(VERSION)")
|
||||
# Windows .nsi style with four numbers 1.2.3.4
|
||||
PRODVERSION_STRING := $(shell git describe --tags --abbrev=12 | sed 's/v\([0-9]*\)\.\([0-9]*\)-\([0-9]*\)-.*/\1.\2.\3.0/ ; s/v\([0-9]\)\.\([0-9]*\)/\1.\2.0.0/' || echo "$(VERSION).0.0")
|
||||
GET_VERSION = ./scripts/get-version
|
||||
VERSION_STRING := $(shell $(GET_VERSION) linux || echo "v$(VERSION)")
|
||||
# Mac Info.plist style with three numbers 1.2.3
|
||||
CFBUNDLEVERSION_STRING := $(shell git describe --tags --abbrev=12 | sed 's/v\([0-9]*\)\.\([0-9]*\)-\([0-9]*\)-.*/\1.\2.\3/ ; s/v\([0-9]\)\.\([0-9]*\)/\1.\2.0/' || echo "$(VERSION).0")
|
||||
CFBUNDLEVERSION_STRING := $(shell $(GET_VERSION) darwin $(VERSION_STRING) || \
|
||||
echo "$(VERSION).0")
|
||||
# Windows .nsi style with four numbers 1.2.3.4
|
||||
PRODVERSION_STRING := $(shell $(GET_VERSION) win $(VERSION_STRING) || \
|
||||
echo "$(VERSION).0.0")
|
||||
|
||||
# find libdivecomputer
|
||||
# First deal with the cross compile environment and with Mac.
|
||||
|
|
|
@ -24,7 +24,7 @@ PREFIX="/Applications/Subsurface.app/Contents/Resources"
|
|||
INFOPLIST=./packaging/macosx/Info.plist
|
||||
|
||||
# same git version magic as in the Makefile
|
||||
VERSION=`git describe --tags --abbrev=12 | sed 's/v\([0-9]*\)\.\([0-9]*\)-\([0-9]*\)-.*/\1.\2.\3/ ; s/v\([0-9]\)\.\([0-9]*\)/\1.\2.0/' || echo "git.missing.please.hardcode.version"`
|
||||
VERSION=$(./scripts/get-version darwin)
|
||||
|
||||
# gtk-mac-bundler allegedly supports signing by setting this environment
|
||||
# variable, but this fails as we change the shared objects below and all
|
||||
|
|
13
scripts
13
scripts
|
@ -1,13 +0,0 @@
|
|||
Downloading with 'libdivecomputer':
|
||||
|
||||
- result: one XML file for all dives in the computer
|
||||
|
||||
[torvalds@i5 examples]$ ./universal -b vyper2 /dev/ttyUSB0
|
||||
[torvalds@i5 examples]$ mv output.xml 2011-08-28.xml
|
||||
|
||||
Unpacking Suunto SDE files:
|
||||
|
||||
- result: one XML file per dive:
|
||||
|
||||
mv LinusDivelogs.SDE LinusDivelogs.zip
|
||||
unzip LinusDivelogs.zip
|
56
scripts/get-version
Executable file
56
scripts/get-version
Executable file
|
@ -0,0 +1,56 @@
|
|||
#!/bin/sh
|
||||
|
||||
# $1 - os name {linux|darwin|win}
|
||||
# $2 - [optional] raw version string "vX.Y-patchN-sha1". as from `git describe'
|
||||
# (see below)
|
||||
|
||||
set -eu
|
||||
#set -x
|
||||
|
||||
croak() {
|
||||
echo "$0: $*" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
[ $# -ge 1 ] || croak "missing OS argument"
|
||||
os=$1
|
||||
|
||||
if [ $# -eq 2 ] && [ "$2" ]; then
|
||||
v0=$2
|
||||
else
|
||||
cmd="git describe --tags --abbrev=12"
|
||||
v0=$($cmd) || croak "odd; command '$cmd' failed"
|
||||
fi
|
||||
|
||||
# strip off the 'v' prefix, if any
|
||||
v0=${v0#v}
|
||||
|
||||
case $os in
|
||||
linux)
|
||||
v=$v0
|
||||
;;
|
||||
darwin|win)
|
||||
# split version string using a '-' separator
|
||||
IFS='-'
|
||||
set -- $v0
|
||||
v1=$1
|
||||
if [ $# -gt 1 ]; then
|
||||
v1=$v1.$2
|
||||
else
|
||||
v1=$v1.0
|
||||
fi
|
||||
case $os in
|
||||
darwin)
|
||||
v=$v1
|
||||
;;
|
||||
win)
|
||||
# always add '0' as the 4:th digit
|
||||
v=$v1.0
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
v='git.missing.please.hardcode.version'
|
||||
;;
|
||||
esac
|
||||
printf '%s' $v
|
Loading…
Reference in a new issue