diff --git a/devicemodel/Makefile b/devicemodel/Makefile index f54376252..5a34c925a 100644 --- a/devicemodel/Makefile +++ b/devicemodel/Makefile @@ -227,27 +227,26 @@ distclean: $(VERSION_H): mkdir -p $(DM_OBJDIR)/include touch $(VERSION_H) - if [ "$(DM_BUILD_VERSION)"x = x -o "$(DM_BUILD_TAG)"x = x ];then\ + if [ "$(DM_BUILD_VERSION)"x = x ];then\ COMMIT=`git rev-parse --verify --short HEAD 2>/dev/null`;\ DIRTY=`git diff-index --name-only HEAD`;\ if [ -n "$$DIRTY" ];then PATCH="$$COMMIT-dirty";else PATCH="$$COMMIT";fi;\ - DAILY_TAG=`git tag --merged HEAD|grep "acrn"|tail -n 1`;\ else\ - PATCH=$(DM_BUILD_VERSION);\ - DAILY_TAG=$(DM_BUILD_TAG);\ + PATCH="$(DM_BUILD_VERSION)";\ fi;\ + COMMIT_TAGS=$$(git tag --points-at HEAD|tr -s "\n" " "); \ + COMMIT_TAGS=$$(eval echo $$COMMIT_TAGS);\ + COMMIT_TIME=$$(git log -1 --date=format:"%Y-%m-%d-%T" --format=%cd); \ TIME=$$(date -u -d "@$${SOURCE_DATE_EPOCH:-$$(date +%s)}" "+%Y-%m-%d %H:%M:%S"); \ USER="$${USER:-$$(id -u -n)}"; \ echo "/*" > $(VERSION_H); \ sed 's/^/ * /' ../LICENSE >> $(VERSION_H);\ echo " */" >> $(VERSION_H);\ echo "" >> $(VERSION_H);\ - echo "#define DM_MAJOR_VERSION $(MAJOR_VERSION)" >> $(VERSION_H);\ - echo "#define DM_MINOR_VERSION $(MINOR_VERSION)" >> $(VERSION_H);\ - echo "#define DM_EXTRA_VERSION "\"$(EXTRA_VERSION)\""" >> $(VERSION_H);\ - echo "#define DM_FULL_VERSION "\"$(FULL_VERSION)\""" >> $(VERSION_H);\ - echo "#define DM_DAILY_TAG "\""$$DAILY_TAG"\""" >> $(VERSION_H);\ - echo "#define DM_BUILD_VERSION "\""$$PATCH"\""" >> $(VERSION_H);\ + echo "#define DM_BRANCH_VERSION "\"$(BRANCH_VERSION)\""" >> $(VERSION_H);\ + echo "#define DM_COMMIT_DIRTY "\""$$PATCH"\""" >> $(VERSION_H);\ + echo "#define DM_COMMIT_TAGS "\"$$COMMIT_TAGS\""" >> $(VERSION_H);\ + echo "#define DM_COMMIT_TIME "\"$$COMMIT_TIME\""" >> $(VERSION_H);\ echo "#define DM_BUILD_TIME "\""$$TIME"\""" >> $(VERSION_H);\ echo "#define DM_BUILD_USER "\""$$USER"\""" >> $(VERSION_H) diff --git a/devicemodel/core/main.c b/devicemodel/core/main.c index 135a6435c..487fda1be 100644 --- a/devicemodel/core/main.c +++ b/devicemodel/core/main.c @@ -202,9 +202,11 @@ static void outdate(char *msg) static void print_version(void) { - fprintf(stdout, "DM version is: %s-%s (daily tag:%s), build by %s@%s\n", - DM_FULL_VERSION, - DM_BUILD_VERSION, DM_DAILY_TAG, DM_BUILD_USER, DM_BUILD_TIME); + fprintf(stdout, "DM: %s-%s-%s%s%s%s build by %s@%s\n", + DM_BRANCH_VERSION, DM_COMMIT_TIME, DM_COMMIT_DIRTY, + (sizeof(DM_COMMIT_TAGS) > 1) ? "(tag: " : "", DM_COMMIT_TAGS, + (sizeof(DM_COMMIT_TAGS) > 1) ? ")" : "", + DM_BUILD_USER, DM_BUILD_TIME); exit(0); }