1#!/bin/sh 2# 3 4VERSION_FILE=$1 5OUTPUT_FILE=$2 6 7if test -z "$VERSION_FILE";then 8 VERSION_FILE="VERSION" 9fi 10 11if test -z "$OUTPUT_FILE";then 12 OUTPUT_FILE="include/version.h" 13fi 14 15SOURCE_DIR=$3 16 17SAMBA_VERSION_MAJOR=`sed -n 's/^SAMBA_VERSION_MAJOR=//p' $SOURCE_DIR$VERSION_FILE` 18SAMBA_VERSION_MINOR=`sed -n 's/^SAMBA_VERSION_MINOR=//p' $SOURCE_DIR$VERSION_FILE` 19SAMBA_VERSION_RELEASE=`sed -n 's/^SAMBA_VERSION_RELEASE=//p' $SOURCE_DIR$VERSION_FILE` 20 21SAMBA_VERSION_PRE_RELEASE=`sed -n 's/^SAMBA_VERSION_PRE_RELEASE=//p' $SOURCE_DIR$VERSION_FILE` 22 23SAMBA_VERSION_RC_RELEASE=`sed -n 's/^SAMBA_VERSION_RC_RELEASE=//p' $SOURCE_DIR$VERSION_FILE` 24 25SAMBA_VERSION_IS_SVN_SNAPSHOT=`sed -n 's/^SAMBA_VERSION_IS_SVN_SNAPSHOT=//p' $SOURCE_DIR$VERSION_FILE` 26 27SAMBA_VERSION_VENDOR_SUFFIX=`sed -n 's/^SAMBA_VERSION_VENDOR_SUFFIX=//p' $SOURCE_DIR$VERSION_FILE` 28 29echo "/* Autogenerated by script/mkversion.sh */" > $OUTPUT_FILE 30 31echo "#define SAMBA_VERSION_MAJOR ${SAMBA_VERSION_MAJOR}" >> $OUTPUT_FILE 32echo "#define SAMBA_VERSION_MINOR ${SAMBA_VERSION_MINOR}" >> $OUTPUT_FILE 33echo "#define SAMBA_VERSION_RELEASE ${SAMBA_VERSION_RELEASE}" >> $OUTPUT_FILE 34 35 36SAMBA_VERSION_STRING="${SAMBA_VERSION_MAJOR}.${SAMBA_VERSION_MINOR}.${SAMBA_VERSION_RELEASE}" 37 38 39if test -n "${SAMBA_VERSION_PRE_RELEASE}";then 40 SAMBA_VERSION_STRING="${SAMBA_VERSION_STRING}pre${SAMBA_VERSION_PRE_RELEASE}" 41 echo "#define SAMBA_VERSION_PRE_RELEASE ${SAMBA_VERSION_PRE_RELEASE}" >> $OUTPUT_FILE 42elif test -n "${SAMBA_VERSION_RC_RELEASE}";then 43 SAMBA_VERSION_STRING="${SAMBA_VERSION_STRING}rc${SAMBA_VERSION_RC_RELEASE}" 44 echo "#define SAMBA_VERSION_RC_RELEASE ${SAMBA_VERSION_RC_RELEASE}" >> $OUTPUT_FILE 45fi 46 47 48if test x"${SAMBA_VERSION_IS_SVN_SNAPSHOT}" = x"yes";then 49 HAVESVN=no 50 svn info ${SOURCE_DIR} >/dev/null 2>&1 && HAVESVN=yes 51 TMP_REVISION=`(svn info ${SOURCE_DIR} 2>/dev/null || svk info ${SOURCE_DIR} 2>/dev/null) |grep 'Last Changed Rev.*:' |sed -e 's/Last Changed Rev.*: \([0-9]*\).*/\1/'` 52 if test x"${HAVESVN}" = x"no";then 53 HAVESVK=no 54 svk info ${SOURCE_DIR} >/dev/null 2>&1 && HAVESVK=yes 55 TMP_SVK_REVISION_STR="${TMP_REVISION}-${USER}@${HOSTNAME}" 56 fi 57 58 if test x"${HAVESVN}" = x"yes";then 59 SAMBA_VERSION_STRING="${SAMBA_VERSION_STRING}-SVN-build-${TMP_REVISION}" 60 echo "#define SAMBA_VERSION_SVN_REVISION ${TMP_REVISION}" >> $OUTPUT_FILE 61 elif test x"${HAVESVK}" = x"yes";then 62 SAMBA_VERSION_STRING="${SAMBA_VERSION_STRING}-SVK-build-${TMP_SVK_REVISION_STR}" 63 else 64 SAMBA_VERSION_STRING="${SAMBA_VERSION_STRING}-SVN-build-UNKNOWN" 65 fi 66fi 67 68if test -n "${SAMBA_VERSION_VENDOR_SUFFIX}";then 69 echo "#define SAMBA_VERSION_VENDOR_SUFFIX ${SAMBA_VERSION_VENDOR_SUFFIX}" >> $OUTPUT_FILE 70fi 71 72echo "#define SAMBA_VERSION_OFFICIAL_STRING \"${SAMBA_VERSION_STRING}\"" >> $OUTPUT_FILE 73 74echo "#define SAMBA_VERSION_STRING samba_version_string()" >> $OUTPUT_FILE 75 76echo "$0: 'include/version.h' created for Samba(\"${SAMBA_VERSION_STRING}\")" 77 78if test -n "${SAMBA_VERSION_VENDOR_SUFFIX}";then 79 echo "$0: with VENDOR_SUFFIX = ${SAMBA_VERSION_VENDOR_SUFFIX}" 80fi 81 82exit 0 83