Merge pull request #697 from viktorTarasov/feature/package-revision

tools: print package revision
This commit is contained in:
Frank Morgner 2016-03-04 17:14:26 +01:00
commit 1c0ab2a2d2
6 changed files with 48 additions and 9 deletions

View File

@ -76,4 +76,5 @@ then
rm -f version.m4.tmp rm -f version.m4.tmp
fi fi
autoreconf --verbose --install --force || true ./bootstrap
# autoreconf --verbose --install --force || true

View File

@ -9,7 +9,6 @@ define([PACKAGE_VERSION_MAJOR], [0])
define([PACKAGE_VERSION_MINOR], [15]) define([PACKAGE_VERSION_MINOR], [15])
define([PACKAGE_VERSION_FIX], [0]) define([PACKAGE_VERSION_FIX], [0])
define([PACKAGE_SUFFIX], []) define([PACKAGE_SUFFIX], [])
define([PACKAGE_VERSION_REVISION], [0])
define([VS_FF_LEGAL_COPYRIGHT], [OpenSC Project]) define([VS_FF_LEGAL_COPYRIGHT], [OpenSC Project])
define([VS_FF_LEGAL_COMPANY_NAME], [OpenSC Project]) define([VS_FF_LEGAL_COMPANY_NAME], [OpenSC Project])
@ -31,7 +30,6 @@ AM_INIT_AUTOMAKE(foreign 1.10)
OPENSC_VERSION_MAJOR="PACKAGE_VERSION_MAJOR" OPENSC_VERSION_MAJOR="PACKAGE_VERSION_MAJOR"
OPENSC_VERSION_MINOR="PACKAGE_VERSION_MINOR" OPENSC_VERSION_MINOR="PACKAGE_VERSION_MINOR"
OPENSC_VERSION_FIX="PACKAGE_VERSION_FIX" OPENSC_VERSION_FIX="PACKAGE_VERSION_FIX"
OPENSC_VERSION_REVISION="PACKAGE_VERSION_REVISION"
OPENSC_VS_FF_LEGAL_COPYRIGHT="VS_FF_LEGAL_COPYRIGHT" OPENSC_VS_FF_LEGAL_COPYRIGHT="VS_FF_LEGAL_COPYRIGHT"
OPENSC_VS_FF_COMPANY_NAME="VS_FF_LEGAL_COMPANY_NAME" OPENSC_VS_FF_COMPANY_NAME="VS_FF_LEGAL_COMPANY_NAME"
@ -303,11 +301,26 @@ AC_MSG_RESULT([${xslstylesheetsdir}])
AC_MSG_CHECKING([git checkout]) AC_MSG_CHECKING([git checkout])
GIT_CHECKOUT="no" GIT_CHECKOUT="no"
if test -n "${GIT}" -a -d "${srcdir}/.git"; then if test -n "${GIT}" -a -d "${srcdir}/.git"; then
AC_DEFINE([HAVE_CONFIG_VERSION_H], [1], [extra version available in config-version.h]) AC_DEFINE([HAVE_CONFIG_VERSION_H], [1], [extra version available in config-version.h])
GIT_CHECKOUT="yes" GIT_CHECKOUT="yes"
fi fi
AC_MSG_RESULT([${GIT_CHECKOUT}]) AC_MSG_RESULT([${GIT_CHECKOUT}])
if test "${GIT_CHECKOUT}" = "yes"; then
REVISION_DESCRIPTION="$(${GIT} describe || echo '<version not available>' )"
if test "${REVISION_DESCRIPTION}" = "<version not available>"; then
REVISION_DESCRIPTION="$(${GIT} describe --tags || echo '<version not available>')"
fi
HASH_COMMIT_DATE="$(${GIT} log -1 --pretty=format:'rev: %h, commit-time: %ci')"
GIT_TAG_COMMIT="$(${GIT} rev-list --tags --no-walk --max-count=1)"
OPENSC_SCM_REVISION="OpenSC-${REVISION_DESCRIPTION}, ${HASH_COMMIT_DATE}"
OPENSC_VERSION_REVISION="$(${GIT} rev-list ${GIT_TAG_COMMIT}..HEAD --count || echo 0)"
else
OPENSC_SCM_REVISION="No Git revision info available"
OPENSC_VERSION_REVISION="0"
fi
dnl C Compiler features dnl C Compiler features
AC_C_INLINE AC_C_INLINE
@ -683,7 +696,8 @@ fi
AC_DEFINE_UNQUOTED([OPENSC_VERSION_MAJOR], [${OPENSC_VERSION_MAJOR}], [OpenSC version major component]) AC_DEFINE_UNQUOTED([OPENSC_VERSION_MAJOR], [${OPENSC_VERSION_MAJOR}], [OpenSC version major component])
AC_DEFINE_UNQUOTED([OPENSC_VERSION_MINOR], [${OPENSC_VERSION_MINOR}], [OpenSC version minor component]) AC_DEFINE_UNQUOTED([OPENSC_VERSION_MINOR], [${OPENSC_VERSION_MINOR}], [OpenSC version minor component])
AC_DEFINE_UNQUOTED([OPENSC_VERSION_FIX], [${OPENSC_VERSION_FIX}], [OpenSC version fix component]) AC_DEFINE_UNQUOTED([OPENSC_VERSION_FIX], [${OPENSC_VERSION_FIX}], [OpenSC version fix component])
AC_DEFINE_UNQUOTED([OPENSC_VERSION_REVISION], [${OPENSC_VERSION_REVISION}], [OpenSC version Git describe revision]) AC_DEFINE_UNQUOTED([OPENSC_VERSION_REVISION], [${OPENSC_VERSION_REVISION}], [OpenSC file version revision])
AC_DEFINE_UNQUOTED([OPENSC_SCM_REVISION], ["${OPENSC_SCM_REVISION}"], [OpenSC version Git describe revision])
AC_DEFINE_UNQUOTED([OPENSC_FEATURES], ["${OPENSC_FEATURES}"], [Enabled OpenSC features]) AC_DEFINE_UNQUOTED([OPENSC_FEATURES], ["${OPENSC_FEATURES}"], [Enabled OpenSC features])
AC_DEFINE_UNQUOTED([OPENSC_VS_FF_LEGAL_COPYRIGHT], [${OPENSC_VS_FF_LEGAL_COPYRIGHT}], [OpenSC version-info LegalCopyright value]) AC_DEFINE_UNQUOTED([OPENSC_VS_FF_LEGAL_COPYRIGHT], [${OPENSC_VS_FF_LEGAL_COPYRIGHT}], [OpenSC version-info LegalCopyright value])
@ -702,6 +716,7 @@ AC_SUBST([OPENSC_VERSION_MAJOR])
AC_SUBST([OPENSC_VERSION_MINOR]) AC_SUBST([OPENSC_VERSION_MINOR])
AC_SUBST([OPENSC_VERSION_FIX]) AC_SUBST([OPENSC_VERSION_FIX])
AC_SUBST([OPENSC_VERSION_REVISION]) AC_SUBST([OPENSC_VERSION_REVISION])
AC_SUBST([OPENSC_SCM_REVISION])
AC_SUBST([OPENSC_VS_FF_LEGAL_COPYRIGHT]) AC_SUBST([OPENSC_VS_FF_LEGAL_COPYRIGHT])
AC_SUBST([OPENSC_VS_FF_COMPANY_NAME]) AC_SUBST([OPENSC_VS_FF_COMPANY_NAME])
AC_SUBST([OPENSC_VS_FF_COMMENTS]) AC_SUBST([OPENSC_VS_FF_COMMENTS])
@ -805,6 +820,7 @@ OpenSC has been configured with the following options:
Version: ${PACKAGE_VERSION} Version: ${PACKAGE_VERSION}
Version fix: ${OPENSC_VERSION_FIX} Version fix: ${OPENSC_VERSION_FIX}
Version revision: ${OPENSC_VERSION_REVISION} Version revision: ${OPENSC_VERSION_REVISION}
Git revision: ${OPENSC_SCM_REVISION}
Copyright: ${OPENSC_VS_FF_LEGAL_COPYRIGHT} Copyright: ${OPENSC_VS_FF_LEGAL_COPYRIGHT}
Company: ${OPENSC_VS_FF_COMPANY_NAME} Company: ${OPENSC_VS_FF_COMPANY_NAME}

View File

@ -33,6 +33,12 @@
<title>Options</title> <title>Options</title>
<para> <para>
<variablelist> <variablelist>
<varlistentry>
<term>
<option>--version</option>,
</term>
<listitem><para>Print the OpenSC package release version.</para></listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term> <term>
<option>--atr</option>, <option>--atr</option>,

View File

@ -50,17 +50,19 @@ static int verbose = 0;
enum { enum {
OPT_SERIAL = 0x100, OPT_SERIAL = 0x100,
OPT_LIST_ALG OPT_LIST_ALG,
OPT_VERSION
}; };
static const struct option options[] = { static const struct option options[] = {
{ "version", 0, NULL, OPT_VERSION },
{ "info", 0, NULL, 'i' }, { "info", 0, NULL, 'i' },
{ "atr", 0, NULL, 'a' }, { "atr", 0, NULL, 'a' },
{ "serial", 0, NULL, OPT_SERIAL }, { "serial", 0, NULL, OPT_SERIAL },
{ "name", 0, NULL, 'n' }, { "name", 0, NULL, 'n' },
{ "get-conf-entry", 1, NULL, 'G' }, { "get-conf-entry", 1, NULL, 'G' },
{ "set-conf-entry", 1, NULL, 'S' }, { "set-conf-entry", 1, NULL, 'S' },
{ "list-readers", 0, NULL, 'l' }, { "list-readers", 0, NULL, 'l' },
{ "list-drivers", 0, NULL, 'D' }, { "list-drivers", 0, NULL, 'D' },
{ "list-files", 0, NULL, 'f' }, { "list-files", 0, NULL, 'f' },
{ "send-apdu", 1, NULL, 's' }, { "send-apdu", 1, NULL, 's' },
@ -73,6 +75,7 @@ static const struct option options[] = {
}; };
static const char *option_help[] = { static const char *option_help[] = {
"Prints OpenSC package revision",
"Prints information about OpenSC", "Prints information about OpenSC",
"Prints the ATR bytes of the card", "Prints the ATR bytes of the card",
"Prints the card serial number", "Prints the card serial number",
@ -650,6 +653,7 @@ int main(int argc, char * const argv[])
int do_list_files = 0; int do_list_files = 0;
int do_send_apdu = 0; int do_send_apdu = 0;
int do_print_atr = 0; int do_print_atr = 0;
int do_print_version = 0;
int do_print_serial = 0; int do_print_serial = 0;
int do_print_name = 0; int do_print_name = 0;
int do_list_algorithms = 0; int do_list_algorithms = 0;
@ -724,6 +728,10 @@ int main(int argc, char * const argv[])
case 'v': case 'v':
verbose++; verbose++;
break; break;
case OPT_VERSION:
do_print_version = 1;
action_count++;
break;
case 'c': case 'c':
opt_driver = optarg; opt_driver = optarg;
break; break;
@ -743,6 +751,11 @@ int main(int argc, char * const argv[])
if (action_count == 0) if (action_count == 0)
util_print_usage_and_die(app_name, options, option_help, NULL); util_print_usage_and_die(app_name, options, option_help, NULL);
if (do_print_version) {
printf("%s\n", OPENSC_SCM_REVISION);
action_count--;
}
if (do_info) { if (do_info) {
opensc_info(); opensc_info();
action_count--; action_count--;

View File

@ -3,7 +3,6 @@ define([PRODUCT_NAME], [OpenSC])
define([PRODUCT_TARNAME], [opensc]) define([PRODUCT_TARNAME], [opensc])
define([PRODUCT_BUGREPORT], [opensc-devel@lists.sourceforge.net]) define([PRODUCT_BUGREPORT], [opensc-devel@lists.sourceforge.net])
define([PACKAGE_SUFFIX], []) define([PACKAGE_SUFFIX], [])
define([PACKAGE_VERSION_REVISION], [0])
define([VS_FF_LEGAL_COPYRIGHT], [OpenSC Project]) define([VS_FF_LEGAL_COPYRIGHT], [OpenSC Project])
define([VS_FF_LEGAL_COMPANY_NAME], [OpenSC Project]) define([VS_FF_LEGAL_COMPANY_NAME], [OpenSC Project])

View File

@ -100,4 +100,8 @@
#define DEFAULT_PKCS11_PROVIDER "opensc-pkcs11.dll" #define DEFAULT_PKCS11_PROVIDER "opensc-pkcs11.dll"
#endif #endif
#ifndef OPENSC_SCM_REVISION
#define OPENSC_SCM_REVISION "@OPENSC_SCM_REVISION@"
#endif
#endif #endif