mirror of
https://github.com/OpenVPN/openvpn.git
synced 2025-05-08 21:25:53 +08:00
build: add git revision to --version output if build from git repository
If source is located at git repository, acquire branch and revision of head to be printed at --version output. Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com> Acked-by: David Sommerseth <davids@redhat.com> Message-Id: 1336199983-9916-1-git-send-email-alon.barlev@gmail.com URL: http://article.gmane.org/gmane.network.openvpn.devel/6431 Signed-off-by: David Sommerseth <davids@redhat.com>
This commit is contained in:
parent
f641637a73
commit
7046ff20f9
1
.gitignore
vendored
1
.gitignore
vendored
@ -51,3 +51,4 @@ doc/openvpn.8.html
|
||||
distro/rpm/openvpn.spec
|
||||
tests/t_client.sh
|
||||
src/openvpn/openvpn
|
||||
config-version.h
|
||||
|
21
Makefile.am
21
Makefile.am
@ -40,10 +40,20 @@ MAINTAINERCLEANFILES = \
|
||||
$(srcdir)/depcomp $(srcdir)/aclocal.m4 \
|
||||
$(srcdir)/config.guess $(srcdir)/config.sub
|
||||
|
||||
CLEANFILES = \
|
||||
config-version.h
|
||||
|
||||
EXTRA_DIST = \
|
||||
contrib \
|
||||
debug
|
||||
|
||||
.PHONY: config-version.h
|
||||
|
||||
if GIT_CHECKOUT
|
||||
BUILT_SOURCES = \
|
||||
config-version.h
|
||||
endif
|
||||
|
||||
SUBDIRS = build distro include src sample doc tests
|
||||
|
||||
dist_doc_DATA = \
|
||||
@ -56,6 +66,7 @@ dist_doc_DATA = \
|
||||
dist_noinst_DATA = \
|
||||
.gitignore \
|
||||
.gitattributes \
|
||||
config-version.h.in \
|
||||
PORTS \
|
||||
README.IPv6 TODO.IPv6 \
|
||||
README.polarssl \
|
||||
@ -78,3 +89,13 @@ if WIN32
|
||||
rootdir=$(prefix)
|
||||
root_DATA = version.sh
|
||||
endif
|
||||
|
||||
config-version.h:
|
||||
@CONFIGURE_GIT_REVISION="`GIT_DIR=\"$(top_srcdir)/.git\" $(GIT) rev-parse --symbolic-full-name HEAD`/`GIT_DIR=\"$(top_srcdir)/.git\" $(GIT) rev-parse --short=16 HEAD`"; \
|
||||
$(SED) "s#@CONFIGURE_GIT_REVISION[@]#$${CONFIGURE_GIT_REVISION}#g" "$(srcdir)/config-version.h.in" > config-version.h.tmp
|
||||
@if ! [ -f config-version.h ] || ! cmp -s config-version.h.tmp config-version.h; then \
|
||||
echo "replacing config-version.h"; \
|
||||
mv config-version.h.tmp config-version.h; \
|
||||
else \
|
||||
rm -f config-version.h.tmp; \
|
||||
fi
|
||||
|
@ -42,6 +42,11 @@ ifdef(
|
||||
,
|
||||
[AC_DEFUN([AC_USE_SYSTEM_EXTENSIONS], [GNU_SOURCE])]
|
||||
)
|
||||
ifdef(
|
||||
[AC_PROG_SED],
|
||||
,
|
||||
[AC_DEFUN([AC_PROG_SED], [AC_CHECK_PROGS([SED], [sed])])]
|
||||
)
|
||||
ifdef(
|
||||
[AC_TYPE_INT8_T],
|
||||
,
|
||||
|
1
config-version.h.in
Normal file
1
config-version.h.in
Normal file
@ -0,0 +1 @@
|
||||
#define CONFIGURE_GIT_REVISION "@CONFIGURE_GIT_REVISION@"
|
12
configure.ac
12
configure.ac
@ -300,6 +300,7 @@ PKG_PROG_PKG_CONFIG
|
||||
AC_PROG_CPP
|
||||
AC_PROG_INSTALL
|
||||
AC_PROG_LN_S
|
||||
AC_PROG_SED
|
||||
AC_PROG_MAKE_SET
|
||||
|
||||
AC_ARG_VAR([IFCONFIG], [full path to ipconfig utility])
|
||||
@ -307,11 +308,13 @@ AC_ARG_VAR([ROUTE], [full path to route utility])
|
||||
AC_ARG_VAR([IPROUTE], [full path to ip utility])
|
||||
AC_ARG_VAR([NETSTAT], [path to netstat utility]) # tests
|
||||
AC_ARG_VAR([MAN2HTML], [path to man2html utility])
|
||||
AC_ARG_VAR([GIT], [path to git utility])
|
||||
AC_PATH_PROGS([IFCONFIG], [ifconfig],, [$PATH:/usr/local/sbin:/usr/sbin:/sbin])
|
||||
AC_PATH_PROGS([ROUTE], [route],, [$PATH:/usr/local/sbin:/usr/sbin:/sbin])
|
||||
AC_PATH_PROGS([IPROUTE], [ip],, [$PATH:/usr/local/sbin:/usr/sbin:/sbin])
|
||||
AC_CHECK_PROGS([NETSTAT], [netstat], [netstat], [$PATH:/usr/local/sbin:/usr/sbin:/sbin:/etc]) # tests
|
||||
AC_CHECK_PROGS([MAN2HTML], [man2html])
|
||||
AC_CHECK_PROGS([GIT], [git]) # optional
|
||||
AC_DEFINE_UNQUOTED([IFCONFIG_PATH], ["$IFCONFIG"], [Path to ifconfig tool])
|
||||
AC_DEFINE_UNQUOTED([IPROUTE_PATH], ["$IPROUTE"], [Path to iproute tool])
|
||||
AC_DEFINE_UNQUOTED([ROUTE_PATH], ["$ROUTE"], [Path to route tool])
|
||||
@ -802,6 +805,14 @@ PKG_CHECK_MODULES(
|
||||
[]
|
||||
)
|
||||
|
||||
AC_MSG_CHECKING([git checkout])
|
||||
GIT_CHECKOUT="no"
|
||||
if test -n "${GIT}" -a -d "${srcdir}/.git"; then
|
||||
AC_DEFINE([HAVE_CONFIG_VERSION_H], [1], [extra version available in config-version.h])
|
||||
GIT_CHECKOUT="yes"
|
||||
fi
|
||||
AC_MSG_RESULT([${GIT_CHECKOUT}])
|
||||
|
||||
if test -n "${SP_PLATFORM_WINDOWS}"; then
|
||||
AC_DEFINE_UNQUOTED([PATH_SEPARATOR], ['\\\\'], [Path separator]) #"
|
||||
AC_DEFINE_UNQUOTED([PATH_SEPARATOR_STR], ["\\\\"], [Path separator]) #"
|
||||
@ -949,6 +960,7 @@ AC_SUBST([OPTIONAL_PKCS11_HELPER_CFLAGS])
|
||||
AC_SUBST([OPTIONAL_PKCS11_HELPER_LIBS])
|
||||
|
||||
AM_CONDITIONAL([WIN32], [test "${WIN32}" = "yes"])
|
||||
AM_CONDITIONAL([GIT_CHECKOUT], [test "${GIT_CHECKOUT}" = "yes"])
|
||||
|
||||
sampledir="\$(docdir)/sample"
|
||||
AC_SUBST([sampledir])
|
||||
|
@ -35,6 +35,9 @@
|
||||
#elif defined(_MSC_VER)
|
||||
#include "config-msvc.h"
|
||||
#endif
|
||||
#ifdef HAVE_CONFIG_VERSION_H
|
||||
#include "config-version.h"
|
||||
#endif
|
||||
|
||||
#include "syshead.h"
|
||||
|
||||
@ -3481,6 +3484,9 @@ usage_version (void)
|
||||
#ifdef CONFIGURE_DEFINES
|
||||
msg (M_INFO|M_NOPREFIX, "Compile time defines: %s", CONFIGURE_DEFINES);
|
||||
#endif
|
||||
#ifdef CONFIGURE_GIT_REVISION
|
||||
msg (M_INFO|M_NOPREFIX, "git revision: %s", CONFIGURE_GIT_REVISION);
|
||||
#endif
|
||||
#endif
|
||||
openvpn_exit (OPENVPN_EXIT_STATUS_USAGE); /* exit point */
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user