Revision 84a12e40

b/Makefile.am
66 66
	$(docpng) \
67 67
	$(maninput) \
68 68
	doc/install-quick.rst \
69
	doc/news.rst
69
	doc/news.rst \
70
	vcs-version
70 71

  
71 72
maintainer-clean-local:
72 73
	rm -rf $(BUILDTIME_DIRS)
......
501 502
man/%.html: man/%.html.in $(REPLACE_VARS_SED)
502 503
	sed -f $(REPLACE_VARS_SED) < $< > $@
503 504

  
504
lib/_autoconf.py: Makefile stamp-directories
505
vcs-version:
506
	if test -d .git; then \
507
	  git describe > $@; \
508
	elif test ! -f $@ ; then \
509
	  echo "Cannot auto-generate $@ file"; exit 1; \
510
	fi
511

  
512
.PHONY: regen-vcs-version
513
regen-vcs-version:
505 514
	set -e; \
515
	cd $(srcdir); \
516
	if test -d .git; then \
517
	  rm -f vcs-version; \
518
	  $(MAKE) vcs-version; \
519
	fi
520

  
521
lib/_autoconf.py: Makefile stamp-directories vcs-version
522
	set -e; \
523
	VCSVER=`cat $(abs_top_srcdir)/vcs-version`; \
506 524
	{ echo '# This file is automatically generated, do not edit!'; \
507 525
	  echo '#'; \
508 526
	  echo ''; \
......
547 565
	  echo "DAEMONS_GROUP = '$(DAEMONS_GROUP)'"; \
548 566
	  echo "MASTERD_USER = '$(MASTERD_USER)'"; \
549 567
	  echo "RAPI_USER = '$(RAPI_USER)'"; \
568
	  echo "VCS_VERSION = '$$VCSVER'"; \
550 569
	} > $@
551 570

  
552 571
$(REPLACE_VARS_SED): Makefile
......
620 639
	@test -n "$(PYLINT)" || { echo 'pylint' not found during configure; exit 1; }
621 640
	$(PYLINT) $(LINT_OPTS) $(lint_python_code)
622 641

  
623
# a dist hook rule for catching revision control directories
642
# a dist hook rule for updating the vcs-version file; this is
643
# hardcoded due to where it needs to build the file...
644
dist-hook:
645
	$(MAKE) regen-vcs-version && \
646
	rm -f $(top_distdir)/vcs-version && \
647
	cp -p $(srcdir)/vcs-version $(top_distdir)
648

  
649
# a distcheck hook rule for catching revision control directories
624 650
distcheck-hook:
625 651
	if find $(top_distdir) -name .svn -or -name .git | grep .; then \
626 652
		echo "Found revision control files in final archive." 1>&2; \
b/devel/upload.in
1 1
#!/bin/bash
2 2

  
3
# Copyright (C) 2006, 2007 Google Inc.
3
# Copyright (C) 2006, 2007, 2008, 2009, 2010 Google Inc.
4 4
#
5 5
# This program is free software; you can redistribute it and/or modify
6 6
# it under the terms of the GNU General Public License as published by
......
20 20
# This is a test script to ease development and testing on test clusters.
21 21
# It should not be used to update production environments.
22 22

  
23
# Usage: upload.sh node-{1,2,3}
23
# Usage: upload node-{1,2,3}
24 24
# it will upload the python libraries to
25 25
# $prefix/lib/python2.4/site-packages/ganeti and the command line utils to
26 26
# $prefix/sbin. It needs passwordless root login to the nodes.
......
64 64

  
65 65
set ${hosts}
66 66

  
67
make regen-vcs-version
68

  
67 69
TXD=`mktemp -d`
68 70
trap 'rm -rf $TXD' EXIT
69 71

  
b/lib/cli.py
1033 1033
    binary = argv[0].split("/")[-1]
1034 1034

  
1035 1035
  if len(argv) > 1 and argv[1] == "--version":
1036
    ToStdout("%s (ganeti) %s", binary, constants.RELEASE_VERSION)
1036
    ToStdout("%s (ganeti %s) %s", binary, constants.VCS_VERSION,
1037
             constants.RELEASE_VERSION)
1037 1038
    # Quit right away. That way we don't have to care about this special
1038 1039
    # argument. optparse.py does it the same.
1039 1040
    sys.exit(0)
b/lib/constants.py
1 1
#
2 2
#
3 3

  
4
# Copyright (C) 2006, 2007 Google Inc.
4
# Copyright (C) 2006, 2007, 2008, 2009, 2010 Google Inc.
5 5
#
6 6
# This program is free software; you can redistribute it and/or modify
7 7
# it under the terms of the GNU General Public License as published by
......
32 32
OS_API_V15 = 15
33 33
OS_API_V20 = 20
34 34
OS_API_VERSIONS = frozenset([OS_API_V10, OS_API_V15, OS_API_V20])
35
VCS_VERSION = _autoconf.VCS_VERSION
35 36
EXPORT_VERSION = 0
36 37
RAPI_VERSION = 2
37 38

  

Also available in: Unified diff