1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-27 22:50:26 +03:00

Simplify samba_version_string.

This adds a new macro for a vender version function which will be returned
by the samba_version_string() function if defined.

Signed-off-by: Andreas Schneider <anschneider@suse.de>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be commit 8b9301fbc73f28c657ec81c605760a0ff7a1973a)
This commit is contained in:
Andreas Schneider 2008-07-17 12:25:31 +02:00 committed by Stefan Metzmacher
parent 848558026f
commit 2a8ebdca53
3 changed files with 36 additions and 47 deletions

View File

@ -72,8 +72,6 @@ SAMBA_VERSION_IS_GIT_SNAPSHOT=yes
########################################################
# This can be set by vendors if they want... #
# This can be a string constant or a function which #
# returns a string (const char *) #
# #
# <MAJOR>.<MINOR>.<RELEASE>[...]-<VENDOR_SUFFIX> #
# #
@ -82,18 +80,26 @@ SAMBA_VERSION_IS_GIT_SNAPSHOT=yes
# e.g. SAMBA_VERSION_VENDOR_SUFFIX="VendorVersion" #
# -> "CVS 3.0.0rc2-VendorVersion" #
# #
# Note: If you want to use a function, #
# then patch lib/version.c and add this function #
# there, because the symbol must be available in #
# binary. #
# Note: If you want to use a function, take a look at #
# SAMBA_VERSION_VENDOR_FUNCTION #
# #
# const char *vendor_version(void) #
# { #
# return "VendorVersion"; #
# } #
# #
# e.g. SAMBA_VERSION_VENDOR_SUFFIX=vendor_version() #
# -> "CVS 3.0.0rc2-VendorVersion" #
########################################################
SAMBA_VERSION_VENDOR_SUFFIX="test"
SAMBA_VERSION_VENDOR_PATCH=
########################################################
# This can be set by vendors if they want.. #
# This have to be a function which returns a string #
# (const char *). #
# #
# Patch for example lib/version.c and add something #
# like the following example: #
# #
# const char *samba_vendor_version(void) #
# { #
# return SAMBA_VERSION_OFFICIAL_STRING "-ENREDO-1.0" #
# } #
# #
# -> "Version 3.2.0-ENREDO-1.0 #
########################################################
SAMBA_VERSION_VENDOR_FUNCTION=

View File

@ -23,39 +23,16 @@
const char *samba_version_string(void)
{
#ifndef SAMBA_VERSION_VENDOR_SUFFIX
#ifdef SAMBA_VERSION_VENDOR_FUNCTION
return SAMBA_VERSION_VENDOR_FUNCTION;
#else /* SAMBA_VERSION_VENDOR_FUNCTION */
#ifdef SAMBA_VERSION_VENDOR_SUFFIX
#ifdef SAMBA_VERSION_VENDOR_PATCH
return SAMBA_VERSION_OFFICIAL_STRING "-" SAMBA_VERSION_VENDOR_SUFFIX \
"-" SAMBA_VERSION_VENDOR_PATCH;
#endif /* SAMBA_VERSION_VENDOR_PATCH */
return SAMBA_VERSION_OFFICIAL_STRING "-" SAMBA_VERSION_VENDOR_SUFFIX;
#endif /* SAMBA_VERSION_VENDOR_SUFFIX */
#endif /* SAMBA_VERSION_VENDOR_FUNCTION */
return SAMBA_VERSION_OFFICIAL_STRING;
#else
static char *samba_version;
int res;
#ifdef SAMBA_VERSION_VENDOR_PATCH
char *tmp_version;
#endif
if (samba_version != NULL)
return samba_version;
res = asprintf(&samba_version, "%s-%s",
SAMBA_VERSION_OFFICIAL_STRING,
SAMBA_VERSION_VENDOR_SUFFIX);
/*
* Can't use smb_panic here due to dependencies
*/
assert(res != -1);
#ifdef SAMBA_VERSION_VENDOR_PATCH
res = asprintf(&tmp_version, "%s-%d", samba_version,
SAMBA_VERSION_VENDOR_PATCH);
/*
* Can't use smb_panic here due to dependencies
*/
assert(res != -1);
SAFE_FREE(samba_version);
samba_version = tmp_version;
#endif
return samba_version;
#endif
}

View File

@ -30,6 +30,8 @@ SAMBA_VERSION_RELEASE_NICKNAME=`sed -n 's/^SAMBA_VERSION_RELEASE_NICKNAME=//p' $
SAMBA_VERSION_VENDOR_SUFFIX=`sed -n 's/^SAMBA_VERSION_VENDOR_SUFFIX=//p' $SOURCE_DIR$VERSION_FILE`
SAMBA_VERSION_VENDOR_PATCH=`sed -n 's/^SAMBA_VERSION_VENDOR_PATCH=//p' $SOURCE_DIR$VERSION_FILE`
SAMBA_VERSION_VENDOR_FUNCTION=`sed -n 's/^SAMBA_VERSION_VENDOR_FUNCTION=//p' $SOURCE_DIR$VERSION_FILE`
echo "/* Autogenerated by script/mkversion.sh */" > $OUTPUT_FILE
echo "#define SAMBA_VERSION_MAJOR ${SAMBA_VERSION_MAJOR}" >> $OUTPUT_FILE
@ -101,6 +103,10 @@ echo "#define SAMBA_VERSION_OFFICIAL_STRING \"${SAMBA_VERSION_STRING}\"" >> $OUT
##
## Add the vendor string if present
##
if test -n "${SAMBA_VERSION_VENDOR_FUNCTION}"; then
echo "#define SAMBA_VERSION_VENDOR_FUNCTION ${SAMBA_VERSION_VENDOR_FUNCTION}" >> $OUTPUT_FILE
fi
if test -n "${SAMBA_VERSION_VENDOR_SUFFIX}";then
echo "#define SAMBA_VERSION_VENDOR_SUFFIX ${SAMBA_VERSION_VENDOR_SUFFIX}" >> $OUTPUT_FILE
SAMBA_VERSION_STRING="${SAMBA_VERSION_STRING}-${SAMBA_VERSION_VENDOR_SUFFIX}"