summaryrefslogtreecommitdiffstats
path: root/fastboot
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2015-06-02 13:50:00 -0700
committerElliott Hughes <enh@google.com>2015-06-04 13:26:40 -0700
commite283ca29c53817091a17f44b7c93ba6d6362fd38 (patch)
tree651913436900651e9429e54eb62bad17f04e8bf7 /fastboot
parent71aebefe49d8126f522287bd35d17c432a4e6383 (diff)
downloadsystem_core-e283ca29c53817091a17f44b7c93ba6d6362fd38.zip
system_core-e283ca29c53817091a17f44b7c93ba6d6362fd38.tar.gz
system_core-e283ca29c53817091a17f44b7c93ba6d6362fd38.tar.bz2
Add "fastboot --version".
So bug reporters can actually tell us what they're running. Bug: http://b/21558406 Bug: http://b/21583225 Change-Id: If2a4ae97b4792aa321566603ce2c354a72d32307 (cherry picked from commit 379646b2ca2cf681be3489eb74a421b3f8c80e26)
Diffstat (limited to 'fastboot')
-rw-r--r--fastboot/Android.mk7
-rw-r--r--fastboot/fastboot.cpp8
2 files changed, 11 insertions, 4 deletions
diff --git a/fastboot/Android.mk b/fastboot/Android.mk
index 23cb404..66a470a 100644
--- a/fastboot/Android.mk
+++ b/fastboot/Android.mk
@@ -14,6 +14,8 @@
LOCAL_PATH:= $(call my-dir)
+fastboot_version := $(shell git -C $(LOCAL_PATH) rev-parse --short=12 HEAD 2>/dev/null)-android
+
include $(CLEAR_VARS)
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../mkbootimg \
@@ -25,14 +27,15 @@ LOCAL_MODULE_TAGS := debug
LOCAL_CONLYFLAGS += -std=gnu99
LOCAL_CFLAGS += -Wall -Wextra -Werror -Wunreachable-code
+LOCAL_CFLAGS += -DFASTBOOT_REVISION='"$(fastboot_version)"'
+
ifeq ($(HOST_OS),linux)
LOCAL_SRC_FILES += usb_linux.c util_linux.c
endif
ifeq ($(HOST_OS),darwin)
LOCAL_SRC_FILES += usb_osx.c util_osx.c
- LOCAL_LDLIBS += -lpthread -framework CoreFoundation -framework IOKit \
- -framework Carbon
+ LOCAL_LDLIBS += -lpthread -framework CoreFoundation -framework IOKit -framework Carbon
LOCAL_CFLAGS += -Wno-unused-parameter
endif
diff --git a/fastboot/fastboot.cpp b/fastboot/fastboot.cpp
index 51985af..c9a6772 100644
--- a/fastboot/fastboot.cpp
+++ b/fastboot/fastboot.cpp
@@ -964,8 +964,9 @@ int main(int argc, char **argv)
{"page_size", required_argument, 0, 'n'},
{"ramdisk_offset", required_argument, 0, 'r'},
{"tags_offset", required_argument, 0, 't'},
- {"help", 0, 0, 'h'},
- {"unbuffered", 0, 0, 0},
+ {"help", no_argument, 0, 'h'},
+ {"unbuffered", no_argument, 0, 0},
+ {"version", no_argument, 0, 0},
{0, 0, 0, 0}
};
@@ -1037,6 +1038,9 @@ int main(int argc, char **argv)
if (strcmp("unbuffered", longopts[longindex].name) == 0) {
setvbuf(stdout, NULL, _IONBF, 0);
setvbuf(stderr, NULL, _IONBF, 0);
+ } else if (strcmp("version", longopts[longindex].name) == 0) {
+ fprintf(stdout, "fastboot version %s\n", FASTBOOT_REVISION);
+ return 0;
}
break;
default: