Up to now, when compiling flashrom outside a VCS it would print two
warnings that are not very clear to the user. This patch adds a new
auxilary function to getrevision.sh and uses it in the makefile to print a
single and more meaningful message to the user while hiding the
warnings from getrevision.sh.

Signed-off-by: Stefan Tauner <[email protected]>
---
 Makefile            |  9 +++++++--
 util/getrevision.sh | 10 ++++++++++
 2 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index a59a8f1..1bbc4e6 100644
--- a/Makefile
+++ b/Makefile
@@ -373,7 +373,7 @@ CLI_OBJS = cli_classic.o cli_output.o cli_common.o print.o
 # Set the flashrom version string from the highest revision number of the 
checked out flashrom files.
 # Note to packagers: Any tree exported with "make export" or "make tarball"
 # will not require subversion. The downloadable snapshots are already exported.
-SVNVERSION := $(shell ./util/getrevision.sh -u)
+SVNVERSION := $(shell ./util/getrevision.sh -u 2>/dev/null )
 
 RELEASE := 0.9.7
 VERSION := $(RELEASE)-$(SVNVERSION)
@@ -381,6 +381,11 @@ RELEASENAME ?= $(VERSION)
 
 SVNDEF := -D'FLASHROM_VERSION="$(VERSION)"'
 
+# Inform user if there is no meaningful version string. If there is version 
information from a VCS print
+# something anyway because $(info...) will print a line break in any case 
which would look suspicious.
+$(info $(shell ./util/getrevision.sh -c 2>/dev/null || echo "Files don't seem 
to be under version control." ; \
+       echo "Replacing all version templates with $(VERSION)." ))
+
 ###############################################################################
 # Default settings of CONFIG_* variables.
 
@@ -992,7 +997,7 @@ endif
        @rm -f .featuretest.c .featuretest$(EXEC_SUFFIX)
 
 $(PROGRAM).8: $(PROGRAM).8.tmpl
-       @sed -e '1 s#".*".*#"$(shell ./util/getrevision.sh -d 
$(PROGRAM).8.tmpl)" "$(VERSION)"#' <$< >$@
+       @sed -e '1 s#".*".*#"$(shell ./util/getrevision.sh -d $(PROGRAM).8.tmpl 
2>/dev/null)" "$(VERSION)"#' <$< >$@
 
 install: $(PROGRAM)$(EXEC_SUFFIX) $(PROGRAM).8
        mkdir -p $(DESTDIR)$(PREFIX)/sbin
diff --git a/util/getrevision.sh b/util/getrevision.sh
index e50db75..1012058 100755
--- a/util/getrevision.sh
+++ b/util/getrevision.sh
@@ -215,6 +215,10 @@ upstream_revision() {
        echo "${r}"
 }
 
+is_tracked() {
+       is_file_tracked "$1"
+}
+
 show_help() {
        echo "Usage:
        ${0} <command> [path]
@@ -222,6 +226,8 @@ show_help() {
 Commands
     -h or --help
         this message
+    -c or --check
+        test if path is under version control at all
     -l or --local
         local revision information including an indicator for uncommitted 
changes
     -u or --upstream
@@ -274,6 +280,10 @@ main() {
                        check_action $1
                        action="timestamp +%Y-%m-%dT%H:%M:%SZ" # There is only 
one valid time format! ISO 8601
                        shift;;
+               -c|--check)
+                       check_action=$1
+                       action="is_tracked"
+                       shift;;
                -*)
                        show_help;
                        echo "Error: Invalid option: ${1}"
-- 
Kind regards, Stefan Tauner


_______________________________________________
flashrom mailing list
[email protected]
http://www.flashrom.org/mailman/listinfo/flashrom

Reply via email to