mirror of
https://gitlab.com/fdroid/fdroidserver.git
synced 2024-11-20 13:50:12 +01:00
fdroid --version
for installed releases and running from git
This will report the version embedded in the module if it is installed, and will report `git describe` if being run from git. If someone installs from git using pip, this will probably report the version in setup.py, which will be wrong. But that is not a documented install method, and I haven't heard of anyone using it. The recommended way is to run straight from git.
This commit is contained in:
parent
4a4bb3e7a5
commit
3fc2a99d71
@ -84,10 +84,10 @@ __vercode() {
|
|||||||
__complete_options() {
|
__complete_options() {
|
||||||
case "${cur}" in
|
case "${cur}" in
|
||||||
--*)
|
--*)
|
||||||
COMPREPLY=( $( compgen -W "--help ${lopts}" -- $cur ) )
|
COMPREPLY=( $( compgen -W "--help --version ${lopts}" -- $cur ) )
|
||||||
return 0;;
|
return 0;;
|
||||||
*)
|
*)
|
||||||
COMPREPLY=( $( compgen -W "-h ${opts} --help ${lopts}" -- $cur ) )
|
COMPREPLY=( $( compgen -W "-h ${opts} --help --version ${lopts}" -- $cur ) )
|
||||||
return 0;;
|
return 0;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
32
fdroid
32
fdroid
@ -21,7 +21,7 @@
|
|||||||
import sys
|
import sys
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from fdroidserver.common import FDroidException
|
import fdroidserver.common
|
||||||
from optparse import OptionError
|
from optparse import OptionError
|
||||||
|
|
||||||
commands = {
|
commands = {
|
||||||
@ -45,7 +45,7 @@ commands = {
|
|||||||
|
|
||||||
|
|
||||||
def print_help():
|
def print_help():
|
||||||
print "usage: fdroid [-h|--help] <command> [<args>]"
|
print "usage: fdroid [-h|--help|--version] <command> [<args>]"
|
||||||
print
|
print
|
||||||
print "Valid commands are:"
|
print "Valid commands are:"
|
||||||
for cmd, summary in commands.items():
|
for cmd, summary in commands.items():
|
||||||
@ -64,6 +64,32 @@ def main():
|
|||||||
if command in ('-h', '--help'):
|
if command in ('-h', '--help'):
|
||||||
print_help()
|
print_help()
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
elif command == '--version':
|
||||||
|
import os.path
|
||||||
|
output = 'no version info found!'
|
||||||
|
cmddir = os.path.realpath(os.path.dirname(__file__))
|
||||||
|
moduledir = os.path.realpath(os.path.dirname(fdroidserver.common.__file__) + '/..')
|
||||||
|
if cmddir == moduledir:
|
||||||
|
# running from git
|
||||||
|
os.chdir(cmddir)
|
||||||
|
if os.path.isdir('.git'):
|
||||||
|
import subprocess
|
||||||
|
try:
|
||||||
|
output = subprocess.check_output(['git', 'describe'],
|
||||||
|
stderr=subprocess.STDOUT)
|
||||||
|
except subprocess.CalledProcessError:
|
||||||
|
output = 'git commit ' + subprocess.check_output(['git', 'rev-parse', 'HEAD'])
|
||||||
|
elif os.path.exists('setup.py'):
|
||||||
|
import re
|
||||||
|
m = re.search(r'''.*[\s,\(]+version\s*=\s*["']([0-9a-z.]+)["'].*''',
|
||||||
|
open('setup.py').read(), flags=re.MULTILINE)
|
||||||
|
if m:
|
||||||
|
output = m.group(1) + '\n'
|
||||||
|
else:
|
||||||
|
from pkg_resources import get_distribution
|
||||||
|
output = get_distribution('fdroidserver').version + '\n'
|
||||||
|
print(output),
|
||||||
|
sys.exit(0)
|
||||||
else:
|
else:
|
||||||
print "Command '%s' not recognised.\n" % command
|
print "Command '%s' not recognised.\n" % command
|
||||||
print_help()
|
print_help()
|
||||||
@ -92,7 +118,7 @@ def main():
|
|||||||
try:
|
try:
|
||||||
mod.main()
|
mod.main()
|
||||||
# These are ours, contain a proper message and are "expected"
|
# These are ours, contain a proper message and are "expected"
|
||||||
except FDroidException, e:
|
except fdroidserver.common.FDroidException, e:
|
||||||
if verbose:
|
if verbose:
|
||||||
raise
|
raise
|
||||||
else:
|
else:
|
||||||
|
@ -102,6 +102,12 @@ for testcase in $WORKSPACE/tests/*.TestCase; do
|
|||||||
done
|
done
|
||||||
|
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------------#
|
||||||
|
echo_header "print fdroid version"
|
||||||
|
|
||||||
|
$fdroid --version
|
||||||
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------#
|
#------------------------------------------------------------------------------#
|
||||||
echo_header "build the TeX manual"
|
echo_header "build the TeX manual"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user