diff options
author | Andreas Schneider <anschneider@suse.de> | 2008-07-17 12:25:31 +0200 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2008-07-17 14:16:19 +0200 |
commit | 2a8ebdca535aed431d51270a2bdcafce0b55bb12 (patch) | |
tree | 58ed9b0cb4cc500a80e267a9ce584ff4bda3e3b4 /source3 | |
parent | 848558026f8c10366db07053714557a9840e8bc9 (diff) | |
download | samba-2a8ebdca535aed431d51270a2bdcafce0b55bb12.tar.gz samba-2a8ebdca535aed431d51270a2bdcafce0b55bb12.tar.bz2 samba-2a8ebdca535aed431d51270a2bdcafce0b55bb12.zip |
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)
Diffstat (limited to 'source3')
-rw-r--r-- | source3/VERSION | 30 | ||||
-rw-r--r-- | source3/lib/version.c | 45 | ||||
-rwxr-xr-x | source3/script/mkversion.sh | 6 |
3 files changed, 35 insertions, 46 deletions
diff --git a/source3/VERSION b/source3/VERSION index c8206c804f..758956e9f7 100644 --- a/source3/VERSION +++ b/source3/VERSION @@ -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) # +######################################################## +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 "VendorVersion"; # +# return SAMBA_VERSION_OFFICIAL_STRING "-ENREDO-1.0" # # } # # # -# e.g. SAMBA_VERSION_VENDOR_SUFFIX=vendor_version() # -# -> "CVS 3.0.0rc2-VendorVersion" # +# -> "Version 3.2.0-ENREDO-1.0 # ######################################################## -SAMBA_VERSION_VENDOR_SUFFIX="test" -SAMBA_VERSION_VENDOR_PATCH= +SAMBA_VERSION_VENDOR_FUNCTION= diff --git a/source3/lib/version.c b/source3/lib/version.c index 3cae02ad2e..3982646f56 100644 --- a/source3/lib/version.c +++ b/source3/lib/version.c @@ -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 } diff --git a/source3/script/mkversion.sh b/source3/script/mkversion.sh index b678476976..695fc7dd9c 100755 --- a/source3/script/mkversion.sh +++ b/source3/script/mkversion.sh @@ -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}" |