[414] | 1 | #!/bin/sh
|
---|
| 2 |
|
---|
| 3 | VERSION_FILE=$1
|
---|
| 4 | OUTPUT_FILE=$2
|
---|
| 5 |
|
---|
| 6 | if test -z "$VERSION_FILE";then
|
---|
| 7 | VERSION_FILE="VERSION"
|
---|
| 8 | fi
|
---|
| 9 |
|
---|
| 10 | if test -z "$OUTPUT_FILE";then
|
---|
| 11 | OUTPUT_FILE="include/version.h"
|
---|
| 12 | fi
|
---|
| 13 |
|
---|
| 14 | SOURCE_DIR=$3
|
---|
| 15 |
|
---|
| 16 | SAMBA_VERSION_MAJOR=`sed -n 's/^SAMBA_VERSION_MAJOR=//p' $SOURCE_DIR$VERSION_FILE`
|
---|
| 17 | SAMBA_VERSION_MINOR=`sed -n 's/^SAMBA_VERSION_MINOR=//p' $SOURCE_DIR$VERSION_FILE`
|
---|
| 18 | SAMBA_VERSION_RELEASE=`sed -n 's/^SAMBA_VERSION_RELEASE=//p' $SOURCE_DIR$VERSION_FILE`
|
---|
| 19 |
|
---|
| 20 | SAMBA_VERSION_REVISION=`sed -n 's/^SAMBA_VERSION_REVISION=//p' $SOURCE_DIR$VERSION_FILE`
|
---|
| 21 |
|
---|
| 22 | SAMBA_VERSION_TP_RELEASE=`sed -n 's/^SAMBA_VERSION_TP_RELEASE=//p' $SOURCE_DIR$VERSION_FILE`
|
---|
| 23 | SAMBA_VERSION_PRE_RELEASE=`sed -n 's/^SAMBA_VERSION_PRE_RELEASE=//p' $SOURCE_DIR$VERSION_FILE`
|
---|
| 24 | SAMBA_VERSION_RC_RELEASE=`sed -n 's/^SAMBA_VERSION_RC_RELEASE=//p' $SOURCE_DIR$VERSION_FILE`
|
---|
| 25 |
|
---|
| 26 | SAMBA_VERSION_IS_GIT_SNAPSHOT=`sed -n 's/^SAMBA_VERSION_IS_GIT_SNAPSHOT=//p' $SOURCE_DIR$VERSION_FILE`
|
---|
| 27 |
|
---|
| 28 | SAMBA_VERSION_RELEASE_NICKNAME=`sed -n 's/^SAMBA_VERSION_RELEASE_NICKNAME=//p' $SOURCE_DIR$VERSION_FILE`
|
---|
| 29 |
|
---|
| 30 | SAMBA_VERSION_VENDOR_SUFFIX=`sed -n 's/^SAMBA_VERSION_VENDOR_SUFFIX=//p' $SOURCE_DIR$VERSION_FILE`
|
---|
| 31 | SAMBA_VERSION_VENDOR_PATCH=`sed -n 's/^SAMBA_VERSION_VENDOR_PATCH=//p' $SOURCE_DIR$VERSION_FILE`
|
---|
| 32 |
|
---|
| 33 | SAMBA_VERSION_VENDOR_FUNCTION=`sed -n 's/^SAMBA_VERSION_VENDOR_FUNCTION=//p' $SOURCE_DIR$VERSION_FILE`
|
---|
[778] | 34 | MAINTAINED_BY=`sed -n 's/^MAINTAINED_BY=//p' $SOURCE_DIR$VERSION_FILE`
|
---|
[414] | 35 |
|
---|
| 36 | echo "/* Autogenerated by script/mkversion.sh */" > $OUTPUT_FILE
|
---|
| 37 |
|
---|
| 38 | echo "#define SAMBA_VERSION_MAJOR ${SAMBA_VERSION_MAJOR}" >> $OUTPUT_FILE
|
---|
| 39 | echo "#define SAMBA_VERSION_MINOR ${SAMBA_VERSION_MINOR}" >> $OUTPUT_FILE
|
---|
| 40 | echo "#define SAMBA_VERSION_RELEASE ${SAMBA_VERSION_RELEASE}" >> $OUTPUT_FILE
|
---|
[778] | 41 | echo "#define MAINTAINED_BY ${MAINTAINED_BY}" >> $OUTPUT_FILE
|
---|
[414] | 42 |
|
---|
| 43 | ##
|
---|
| 44 | ## start with "3.0.22"
|
---|
| 45 | ##
|
---|
| 46 | SAMBA_VERSION_STRING="${SAMBA_VERSION_MAJOR}.${SAMBA_VERSION_MINOR}.${SAMBA_VERSION_RELEASE}"
|
---|
| 47 |
|
---|
| 48 |
|
---|
| 49 | ##
|
---|
| 50 | ## maybe add "3.0.22a" or "4.0.0tp11" or "3.0.22pre1" or "3.0.22rc1"
|
---|
| 51 | ## We do not do pre or rc version on patch/letter releases
|
---|
| 52 | ##
|
---|
| 53 | if test -n "${SAMBA_VERSION_REVISION}";then
|
---|
| 54 | SAMBA_VERSION_STRING="${SAMBA_VERSION_STRING}${SAMBA_VERSION_REVISION}"
|
---|
| 55 | echo "#define SAMBA_VERSION_REVISION \"${SAMBA_VERSION_REVISION}\"" >> $OUTPUT_FILE
|
---|
| 56 | elif test -n "${SAMBA_VERSION_TP_RELEASE}";then
|
---|
| 57 | SAMBA_VERSION_STRING="${SAMBA_VERSION_STRING}tp${SAMBA_VERSION_TP_RELEASE}"
|
---|
| 58 | echo "#define SAMBA_VERSION_TP_RELEASE ${SAMBA_VERSION_TP_RELEASE}" >> $OUTPUT_FILE
|
---|
| 59 | elif test -n "${SAMBA_VERSION_PRE_RELEASE}";then
|
---|
| 60 | ## maybe add "3.0.22pre2"
|
---|
| 61 | SAMBA_VERSION_STRING="${SAMBA_VERSION_STRING}pre${SAMBA_VERSION_PRE_RELEASE}"
|
---|
| 62 | echo "#define SAMBA_VERSION_PRE_RELEASE ${SAMBA_VERSION_PRE_RELEASE}" >> $OUTPUT_FILE
|
---|
| 63 | elif test -n "${SAMBA_VERSION_RC_RELEASE}";then
|
---|
| 64 | SAMBA_VERSION_STRING="${SAMBA_VERSION_STRING}rc${SAMBA_VERSION_RC_RELEASE}"
|
---|
| 65 | echo "#define SAMBA_VERSION_RC_RELEASE ${SAMBA_VERSION_RC_RELEASE}" >> $OUTPUT_FILE
|
---|
| 66 | fi
|
---|
| 67 |
|
---|
| 68 | ##
|
---|
| 69 | ## GIT commit details
|
---|
| 70 | ##
|
---|
| 71 | if test x"${SAMBA_VERSION_IS_GIT_SNAPSHOT}" = x"yes";then
|
---|
| 72 | _SAVE_LANG=${LANG}
|
---|
| 73 | LANG="C"
|
---|
| 74 | HAVEVER="no"
|
---|
| 75 |
|
---|
| 76 | if test x"${HAVEVER}" != x"yes" -a -d "${SOURCE_DIR}../.git";then
|
---|
| 77 | HAVEGIT=no
|
---|
| 78 | GIT_INFO=`git show --pretty=format:"%h%n%ct%n%H%n%cd" --stat HEAD 2>/dev/null`
|
---|
| 79 | GIT_COMMIT_ABBREV=`printf "%s" "${GIT_INFO}" | sed -n 1p`
|
---|
| 80 | GIT_COMMIT_TIME=`printf "%s" "${GIT_INFO}" | sed -n 2p`
|
---|
| 81 | GIT_COMMIT_FULLREV=`printf "%s" "${GIT_INFO}" | sed -n 3p`
|
---|
| 82 | GIT_COMMIT_DATE=`printf "%s" "${GIT_INFO}" | sed -n 4p`
|
---|
| 83 | if test -n "${GIT_COMMIT_ABBREV}";then
|
---|
| 84 | HAVEGIT=yes
|
---|
| 85 | HAVEVER=yes
|
---|
| 86 | fi
|
---|
| 87 | fi
|
---|
| 88 |
|
---|
| 89 | if test x"${HAVEGIT}" = x"yes";then
|
---|
| 90 | SAMBA_VERSION_STRING="${SAMBA_VERSION_STRING}-GIT-${GIT_COMMIT_ABBREV}"
|
---|
| 91 |
|
---|
| 92 | echo "#define SAMBA_VERSION_GIT_COMMIT_ABBREV \"${GIT_COMMIT_ABBREV}\"" >> $OUTPUT_FILE
|
---|
| 93 | echo "#define SAMBA_VERSION_GIT_COMMIT_TIME ${GIT_COMMIT_TIME}" >> $OUTPUT_FILE
|
---|
| 94 | echo "#define SAMBA_VERSION_GIT_COMMIT_FULLREV \"${GIT_COMMIT_FULLREV}\"" >> $OUTPUT_FILE
|
---|
| 95 | echo "#define SAMBA_VERSION_GIT_COMMIT_DATE \"${GIT_COMMIT_DATE}\"" >> $OUTPUT_FILE
|
---|
| 96 | else
|
---|
| 97 | SAMBA_VERSION_STRING="${SAMBA_VERSION_STRING}-GIT-UNKNOWN"
|
---|
| 98 | fi
|
---|
| 99 | LANG=${_SAVE_LANG}
|
---|
| 100 | fi
|
---|
| 101 |
|
---|
| 102 | echo "#define SAMBA_VERSION_OFFICIAL_STRING \"${SAMBA_VERSION_STRING}\"" >> $OUTPUT_FILE
|
---|
| 103 |
|
---|
| 104 | ##
|
---|
| 105 | ## Add the vendor string if present
|
---|
| 106 | ##
|
---|
| 107 | if test -n "${SAMBA_VERSION_VENDOR_FUNCTION}"; then
|
---|
| 108 | echo "#define SAMBA_VERSION_VENDOR_FUNCTION ${SAMBA_VERSION_VENDOR_FUNCTION}" >> $OUTPUT_FILE
|
---|
| 109 | fi
|
---|
| 110 |
|
---|
| 111 | if test -n "${SAMBA_VERSION_VENDOR_SUFFIX}";then
|
---|
| 112 | echo "#define SAMBA_VERSION_VENDOR_SUFFIX ${SAMBA_VERSION_VENDOR_SUFFIX}" >> $OUTPUT_FILE
|
---|
| 113 | SAMBA_VERSION_STRING="${SAMBA_VERSION_STRING}-${SAMBA_VERSION_VENDOR_SUFFIX}"
|
---|
| 114 | if test -n "${SAMBA_VERSION_VENDOR_PATCH}";then
|
---|
| 115 | echo "#define SAMBA_VERSION_VENDOR_PATCH ${SAMBA_VERSION_VENDOR_PATCH}" >> $OUTPUT_FILE
|
---|
| 116 | echo "#define SAMBA_VERSION_VENDOR_PATCH_STRING \"${SAMBA_VERSION_VENDOR_PATCH}\"" >> $OUTPUT_FILE
|
---|
| 117 | SAMBA_VERSION_STRING="${SAMBA_VERSION_STRING}-${SAMBA_VERSION_VENDOR_PATCH}"
|
---|
| 118 | fi
|
---|
| 119 | fi
|
---|
| 120 |
|
---|
| 121 | ##
|
---|
| 122 | ## Add a release nickname
|
---|
| 123 | ##
|
---|
| 124 | if test -n "${SAMBA_VERSION_RELEASE_NICKNAME}";then
|
---|
| 125 | echo "#define SAMBA_VERSION_RELEASE_NICKNAME ${SAMBA_VERSION_RELEASE_NICKNAME}" >> $OUTPUT_FILE
|
---|
| 126 | SAMBA_VERSION_STRING="${SAMBA_VERSION_STRING} (${SAMBA_VERSION_RELEASE_NICKNAME})"
|
---|
| 127 | fi
|
---|
| 128 |
|
---|
| 129 | cat >>$OUTPUT_FILE<<CEOF
|
---|
| 130 | #ifdef SAMBA_VERSION_VENDOR_FUNCTION
|
---|
| 131 | # define SAMBA_VERSION_STRING SAMBA_VERSION_VENDOR_FUNCTION
|
---|
| 132 | #else /* SAMBA_VERSION_VENDOR_FUNCTION */
|
---|
| 133 | # ifdef SAMBA_VERSION_VENDOR_SUFFIX
|
---|
| 134 | # ifdef SAMBA_VERSION_VENDOR_PATCH
|
---|
| 135 | # define SAMBA_VERSION_STRING SAMBA_VERSION_OFFICIAL_STRING "-" SAMBA_VERSION_VENDOR_SUFFIX "-" SAMBA_VERSION_VENDOR_PATCH_STRING
|
---|
| 136 | # else /* SAMBA_VERSION_VENDOR_PATCH */
|
---|
| 137 | # define SAMBA_VERSION_STRING SAMBA_VERSION_OFFICIAL_STRING "-" SAMBA_VERSION_VENDOR_SUFFIX
|
---|
| 138 | # endif /* SAMBA_VERSION_VENDOR_SUFFIX */
|
---|
| 139 | # else /* SAMBA_VERSION_VENDOR_FUNCTION */
|
---|
| 140 | # define SAMBA_VERSION_STRING SAMBA_VERSION_OFFICIAL_STRING
|
---|
| 141 | # endif
|
---|
| 142 | #endif
|
---|
| 143 | CEOF
|
---|
| 144 |
|
---|
| 145 | echo "$0: '$OUTPUT_FILE' created for Samba(\"${SAMBA_VERSION_STRING}\")"
|
---|
| 146 |
|
---|
| 147 | exit 0
|
---|