RADIUSD_MAJOR_VERSION = @RADIUSD_MAJOR_VERSION@
RADIUSD_MINOR_VERSION = @RADIUSD_MINOR_VERSION@
+RADIUSD_INCRM_VERSION = @RADIUSD_INCRM_VERSION@
RADIUSD_VERSION = @RADIUSD_VERSION@
+RADIUSD_VERSION_STRING = @RADIUSD_VERSION_STRING@
+RADIUSD_VERSION_COMMIT = @RADIUSD_VERSION_COMMIT@
MODULES = @MODULES@
HOSTINFO = @HOSTINFO@
# BEFORE running this command!
#
######################################################################
-freeradius-server-$(RADIUSD_VERSION).tar.gz: .git
- git archive --format=tar --prefix=freeradius-server-$(RADIUSD_VERSION)/ v2.1.x | gzip > $@
+freeradius-server-$(RADIUSD_VERSION_STRING).tar.gz: .git
+ git archive --format=tar --prefix=freeradius-server-$(RADIUSD_VERSION_STRING)/ v2.1.x | gzip > $@
-freeradius-server-$(RADIUSD_VERSION).tar.gz.sig: freeradius-server-$(RADIUSD_VERSION).tar.gz
+freeradius-server-$(RADIUSD_VERSION_STRING).tar.gz.sig: freeradius-server-$(RADIUSD_VERSION_STRING).tar.gz
gpg --default-key aland@freeradius.org -b $<
-freeradius-server-$(RADIUSD_VERSION).tar.bz2: .git
- git archive --format=tar --prefix=freeradius-server-$(RADIUSD_VERSION)/ v2.1.x | bzip2 > $@
+freeradius-server-$(RADIUSD_VERSION_STRING).tar.bz2: .git
+ git archive --format=tar --prefix=freeradius-server-$(RADIUSD_VERSION_STRING)/ v2.1.x | bzip2 > $@
-freeradius-server-$(RADIUSD_VERSION).tar.bz2.sig: freeradius-server-$(RADIUSD_VERSION).tar.bz2
+freeradius-server-$(RADIUSD_VERSION_STRING).tar.bz2.sig: freeradius-server-$(RADIUSD_VERSION_STRING).tar.bz2
gpg --default-key aland@freeradius.org -b $<
# high-level targets
.PHONY: dist-check
dist-check: redhat/freeradius.spec suse/freeradius.spec debian/changelog
- @if [ `grep ^Version: redhat/freeradius.spec | sed 's/.*://;s/ //'` != "$(RADIUSD_VERSION)" ]; then \
- cat redhat/freeradius.spec | sed 's/^Version: .*/Version: $(RADIUSD_VERSION)/' > redhat/.foo; \
+ @if [ `grep ^Version: redhat/freeradius.spec | sed 's/.*://;s/ //'` != "$(RADIUSD_VERSION_STRING)" ]; then \
+ cat redhat/freeradius.spec | sed 's/^Version: .*/Version: $(RADIUSD_VERSION_STRING)/' > redhat/.foo; \
mv redhat/.foo redhat/freeradius.spec; \
echo redhat/freeradius.spec 'Version' needs to be updated; \
exit 1; \
fi
- @if [ `grep ^Version: suse/freeradius.spec | sed 's/.*://;s/ //'` != "$(RADIUSD_VERSION)" ]; then \
- cat suse/freeradius.spec | sed 's/^Version: .*/Version: $(RADIUSD_VERSION)/' > suse/.foo; \
+ @if [ `grep ^Version: suse/freeradius.spec | sed 's/.*://;s/ //'` != "$(RADIUSD_VERSION_STRING)" ]; then \
+ cat suse/freeradius.spec | sed 's/^Version: .*/Version: $(RADIUSD_VERSION_STRING)/' > suse/.foo; \
mv suse/.foo suse/freeradius.spec; \
echo suse/freeradius.spec 'Version' needs to be updated; \
exit 1; \
fi
- @if [ `head -n 1 debian/changelog | sed 's/.*(//;s/\+.*).*//;s/-1).*//;'` != "$(RADIUSD_VERSION)" ]; then \
+ @if [ `head -n 1 debian/changelog | sed 's/.*(//;s/\+.*).*//;s/-1).*//;'` != "$(RADIUSD_VERSION_STRING)" ]; then \
echo debian/changelog needs to be updated; \
exit 1; \
fi
-dist: dist-check freeradius-server-$(RADIUSD_VERSION).tar.gz freeradius-server-$(RADIUSD_VERSION).tar.bz2
+dist: dist-check freeradius-server-$(RADIUSD_VERSION_STRING).tar.gz freeradius-server-$(RADIUSD_VERSION_STRING).tar.bz2
-dist-sign: freeradius-server-$(RADIUSD_VERSION).tar.gz.sig freeradius-server-$(RADIUSD_VERSION).tar.bz2.sig
+dist-sign: freeradius-server-$(RADIUSD_VERSION_STRING).tar.gz.sig freeradius-server-$(RADIUSD_VERSION_STRING).tar.bz2.sig
-dist-publish: freeradius-server-$(RADIUSD_VERSION).tar.gz.sig freeradius-server-$(RADIUSD_VERSION).tar.gz freeradius-server-$(RADIUSD_VERSION).tar.gz.sig freeradius-server-$(RADIUSD_VERSION).tar.bz2 freeradius-server-$(RADIUSD_VERSION).tar.gz.sig freeradius-server-$(RADIUSD_VERSION).tar.bz2.sig
+dist-publish: freeradius-server-$(RADIUSD_VERSION_STRING).tar.gz.sig freeradius-server-$(RADIUSD_VERSION_STRING).tar.gz freeradius-server-$(RADIUSD_VERSION_STRING).tar.gz.sig freeradius-server-$(RADIUSD_VERSION_STRING).tar.bz2 freeradius-server-$(RADIUSD_VERSION_STRING).tar.gz.sig freeradius-server-$(RADIUSD_VERSION_STRING).tar.bz2.sig
scp $^ freeradius.org@ftp.freeradius.org:public_ftp
# scp $^ freeradius.org@www.tr.freeradius.org:public_ftp
# Note that we do NOT do the tagging here! We just print out what
# to do!
#
-dist-tag: freeradius-server-$(RADIUSD_VERSION).tar.gz freeradius-server-$(RADIUSD_VERSION).tar.bz2
- @echo "git tag release_`echo $(RADIUSD_VERSION) | tr .- __`"
+dist-tag: freeradius-server-$(RADIUSD_VERSION_STRING).tar.gz freeradius-server-$(RADIUSD_VERSION_STRING).tar.bz2
+ @echo "git tag release_`echo $(RADIUSD_VERSION_STRING) | tr .- __`"
#
# Build a debian package
AC_REVISION($Revision$)dnl
dnl # The version of the software
-RADIUSD_VERSION=`cat VERSION`
+
RADIUSD_MAJOR_VERSION=`cat VERSION | sed 's/\..*//'`
-RADIUSD_MINOR_VERSION=`cat VERSION | sed 's/^2\.//'`
+RADIUSD_MINOR_VERSION=`cat VERSION | sed 's/^[^\.]*\.//' | sed 's/\..*$//'`
+RADIUSD_INCRM_VERSION=`cat VERSION | sed 's/^.*\..*\.//' | sed 's/-.*$//'`
+
+RADIUSD_VERSION=`echo | awk -v major="$RADIUSD_MAJOR_VERSION" \
+-v minor="$RADIUSD_MINOR_VERSION" \
+-v incrm="$RADIUSD_INCRM_VERSION" \
+'{ printf "%02i%02i%02i", major, minor, incrm }'`
+
+dnl # Still useful for custom builds
+RADIUSD_VERSION_STRING=`cat VERSION`
PACKAGE=freeradius
dnl #############################################################
from ftp://prep.ai.mit.edu/pub/gnu/make/ before continuing.)
fi
+dnl See if we have Git.
+AC_CHECK_PROG(GIT, git, yes, no)
+
AC_ARG_WITH(system-libltdl,
[ --with-system-libltdl Use the libltdl installed in your system (default=use our own)],
[
esac ]
)
-if test "x$developer" != "xno" -a -d $srcdir/CVS; then
- dnl turn on the developer flag when taken from a CVS checkout (not a release)
- developer="yes"
-fi
-
-if test "x$developer" != "xno" -a -d $srcdir/.git; then
- dnl turn on the developer flag when taken from a git checkout (not a release)
- developer="yes"
+if test -d $srcdir/.git; then
+ if test "x$developer" != "xno"; then
+ dnl turn on the developer flag when taken from a git checkout (not a release)
+ developer="yes"
+ fi
+
+ dnl append the current git hash onto the version string
+ if test $GIT = yes; then
+ RADIUSD_VERSION_COMMIT=`git log --pretty=format:'%h' -n 1`
+ fi
fi
dnl extra argument: --with-experimental-modules
AC_SUBST(STATIC_MODULES)
AC_SUBST(RADIUSD_MAJOR_VERSION)
AC_SUBST(RADIUSD_MINOR_VERSION)
+AC_SUBST(RADIUSD_INCRM_VERSION)
AC_SUBST(RADIUSD_VERSION)
+AC_SUBST(RADIUSD_VERSION_STRING)
+AC_SUBST(RADIUSD_VERSION_COMMIT)
AC_OUTPUT(\
./Make.inc \
CFLAGS += -I$(top_builddir)/src
CFLAGS += -DHOSTINFO=\"${HOSTINFO}\"
CFLAGS += -DRADIUSD_VERSION=\"${RADIUSD_VERSION}\"
+CFLAGS += -DRADIUSD_VERSION_STRING=\"${RADIUSD_VERSION_STRING}\"
+ifdef RADIUSD_VERSION_COMMIT
+CFLAGS += -DRADIUSD_VERSION_COMMIT=\"${RADIUSD_VERSION_COMMIT}\"
+endif
CFLAGS += $(SNMP_INCLUDE)
CFLAGS += $(OPENSSL_INCLUDE)
VFLAGS = -DRADIUSD_MAJOR_VERSION=$(RADIUSD_MAJOR_VERSION)
VFLAGS += -DRADIUSD_MINOR_VERSION=$(RADIUSD_MINOR_VERSION)
+VFLAGS += -DRADIUSD_INCRM_VERSION=$(RADIUSD_INCRM_VERSION)
MODULE_LIBS = $(STATIC_MODULES)
BINARIES = radiusd$(EXEEXT) radwho$(EXEEXT) radclient$(EXEEXT) radmin$(EXEEXT) radconf2xml$(EXEEXT)
static radclient_t *radclient_head = NULL;
static radclient_t *radclient_tail = NULL;
+const char *radclient_version = "radclient version " RADIUSD_VERSION_STRING
+#ifdef RADIUSD_VERSION_COMMIT
+" (git #" RADIUSD_VERSION_COMMIT ")"
+#endif
+", built on " __DATE__ " at " __TIME__;
static void NEVER_RETURNS usage(void)
{
timeout = atof(optarg);
break;
case 'v':
- printf("radclient: " RADIUSD_VERSION " built on " __DATE__ " at " __TIME__ "\n");
+ printf(radclient_version);
exit(0);
break;
case 'x':
int debug_flag = 0;
int check_config = FALSE;
-const char *radiusd_version = "FreeRADIUS Version " RADIUSD_VERSION ", for host " HOSTINFO ", built on " __DATE__ " at " __TIME__;
+const char *radiusd_version = "FreeRADIUS Version " RADIUSD_VERSION_STRING
+#ifdef RADIUSD_VERSION_COMMIT
+" (git #" RADIUSD_VERSION_COMMIT ")"
+#endif
+", for host " HOSTINFO ", built on " __DATE__ " at " __TIME__;
pid_t radius_pid;
*/
const char *radius_dir = RADDBDIR;
const char *progname = "radmin";
+const char *radmin_version = "radmin version " RADIUSD_VERSION_STRING
+#ifdef RADIUSD_VERSION_COMMIT
+" (git #" RADIUSD_VERSION_COMMIT ")"
+#endif
+;
+
/*
* The rest of this is because the conffile.c, etc. assume
}
if (!done_license && !quiet) {
- printf("radmin " RADIUSD_VERSION " - FreeRADIUS Server administration tool.\n");
+ printf("%s - FreeRADIUS Server administration tool.\n", radmin_version);
printf("Copyright (C) 2008-2012 The FreeRADIUS server project and contributors.\n");
printf("There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n");
printf("PARTICULAR PURPOSE.\n");
all: $(TARGET).la
$(TARGET).la: $(LT_OBJS)
- $(LIBTOOL) --mode=link $(CC) -release $(RADIUSD_VERSION) \
+ $(LIBTOOL) --mode=link $(CC) -release $(RADIUSD_VERSION_STRING) \
$(LDFLAGS) $(LINK_MODE) -o $@ -rpath $(libdir) $^ \
$(LIBRADIUS) $(LIBS)
@for x in .libs/* $^; do \
install: all
$(LIBTOOL) --mode=install $(INSTALL) -c $(TARGET).la \
$(R)$(libdir)/$(TARGET).la
- rm -f $(R)$(libdir)/$(TARGET)-$(RADIUSD_VERSION).la;
- ln -s $(TARGET).la $(R)$(libdir)/$(TARGET)-$(RADIUSD_VERSION).la
+ rm -f $(R)$(libdir)/$(TARGET)-$(RADIUSD_VERSION_STRING).la;
+ ln -s $(TARGET).la $(R)$(libdir)/$(TARGET)-$(RADIUSD_VERSION_STRING).la
done
$(TARGET).la: $(LT_OBJS)
- $(LIBTOOL) --mode=link $(CC) -release $(RADIUSD_VERSION) \
+ $(LIBTOOL) --mode=link $(CC) -release $(RADIUSD_VERSION_STRING) \
-module $(LINK_MODE) $(LDFLAGS) $(RLM_SQL_LDFLAGS) -o $@ \
-rpath $(libdir) $^ $(RLM_SQL_LIBS)
if [ "x$(TARGET)" != "x" ]; then \
$(LIBTOOL) --mode=install $(INSTALL) -c \
$(TARGET).la $(R)$(libdir)/$(TARGET).la || exit $$?; \
- rm -f $(R)$(libdir)/$(TARGET)-$(RADIUSD_VERSION).la; \
- ln -s $(TARGET).la $(R)$(libdir)/$(TARGET)-$(RADIUSD_VERSION).la || exit $$?; \
+ rm -f $(R)$(libdir)/$(TARGET)-$(RADIUSD_VERSION_STRING).la; \
+ ln -s $(TARGET).la $(R)$(libdir)/$(TARGET)-$(RADIUSD_VERSION_STRING).la || exit $$?; \
fi
done
$(TARGET).la: $(RLM_SUBDIRS) $(LT_OBJS)
- $(LIBTOOL) --mode=link $(CC) -release $(RADIUSD_VERSION) \
+ $(LIBTOOL) --mode=link $(CC) -release $(RADIUSD_VERSION_STRING) \
-module $(LINK_MODE) $(LDFLAGS) $(RLM_LDFLAGS) -o $@ \
-rpath $(libdir) $^ $(LIBRADIUS) $(RLM_LIBS) $(LIBS)
if [ "x$(TARGET)" != "x" ]; then \
$(LIBTOOL) --mode=install $(INSTALL) -c \
$(TARGET).la $(R)$(libdir)/$(TARGET).la || exit $$?; \
- rm -f $(R)$(libdir)/$(TARGET)-$(RADIUSD_VERSION).la; \
- ln -s $(TARGET).la $(R)$(libdir)/$(TARGET)-$(RADIUSD_VERSION).la || exit $$?; \
+ rm -f $(R)$(libdir)/$(TARGET)-$(RADIUSD_VERSION_STRING).la; \
+ ln -s $(TARGET).la $(R)$(libdir)/$(TARGET)-$(RADIUSD_VERSION_STRING).la || exit $$?; \
fi