Makefile/version: use version/date from .git if possible.

If being built from a git tree, use the version and date
information from the top commit rather than the hard-coded
values.

Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
NeilBrown 2013-06-25 16:27:05 +10:00
parent 399e0b9709
commit b379508eeb
3 changed files with 15 additions and 3 deletions

View File

@ -80,6 +80,12 @@ DIRFLAGS += -DMDMON_DIR=\"$(MDMON_DIR)\"
DIRFLAGS += -DFAILED_SLOTS_DIR=\"$(FAILED_SLOTS_DIR)\"
CFLAGS = $(CWFLAGS) $(CXFLAGS) -DSendmail=\""$(MAILCMD)"\" $(CONFFILEFLAGS) $(DIRFLAGS)
VERSION = $(shell [ -d .git ] && git describe HEAD | sed 's/mdadm-//')
VERS_DATE = $(shell [ -d .git ] && date --date="`git log -n1 --format=format:%cd --date=short`" '+%0dth %B %Y' | sed -e 's/1th/1st/' -e 's/2th/2nd/' -e 's/11st/11th/' -e 's/12nd/12th/')
DVERS = $(if $(VERSION),-DVERSION=\"$(VERSION)\",)
DDATE = $(if $(VERS_DATE),-DVERS_DATE="\"$(VERS_DATE)\"",)
CFLAGS += $(DVERS) $(DDATE)
# The glibc TLS ABI requires applications that call clone(2) to set up
# TLS data structures, use pthreads until mdmon implements this support
USE_PTHREADS = 1

View File

@ -24,7 +24,13 @@
#include "mdadm.h"
char Version[] = Name " - v3.2.5 - 18th May 2012\n";
#ifndef VERSION
#define VERSION "3.2.5"
#endif
#ifndef VERS_DATE
#define VERS_DATE "18th May 2012"
#endif
char Version[] = Name " - v" VERSION " - " VERS_DATE "\n";
/*
* File: ReadMe.c

View File

@ -14,8 +14,8 @@ then :
else echo $target is not a directory
exit 2
fi
set `grep '^char Version' ReadMe.c `
version=`echo $7 | sed 's/v//'`
set `grep '^#define VERSION' ReadMe.c `
version=`echo $7 | sed -e 's/"//g'`
grep "^.TH MDADM 8 .. v$version" mdadm.8.in > /dev/null 2>&1 ||
{
echo mdadm.8.in does not mention version $version.