[flashrom] [PATCH 1/5] Refine revision handling.

Stefan Tauner stefan.tauner at alumni.tuwien.ac.at
Mon Jan 5 01:12:39 CET 2015


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 <stefan.tauner at alumni.tuwien.ac.at>
---
 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





More information about the flashrom mailing list