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:
parent
848558026f
commit
2a8ebdca53
@ -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=
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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}"
|
||||
|
Loading…
x
Reference in New Issue
Block a user