summaryrefslogtreecommitdiffstats
path: root/update-version.sh
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 17:36:47 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 17:36:47 +0000
commit0441d265f2bb9da249c7abf333f0f771fadb4ab5 (patch)
tree3f3789daa2f6db22da6e55e92bee0062a7d613fe /update-version.sh
parentInitial commit. (diff)
downloaddovecot-0441d265f2bb9da249c7abf333f0f771fadb4ab5.tar.xz
dovecot-0441d265f2bb9da249c7abf333f0f771fadb4ab5.zip
Adding upstream version 1:2.3.21+dfsg1.upstream/1%2.3.21+dfsg1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'update-version.sh')
-rw-r--r--update-version.sh68
1 files changed, 68 insertions, 0 deletions
diff --git a/update-version.sh b/update-version.sh
new file mode 100644
index 0000000..d7b149d
--- /dev/null
+++ b/update-version.sh
@@ -0,0 +1,68 @@
+#!/bin/sh
+
+SRCDIR="${1:-`pwd`}"
+BUILDDIR="${2:-`pwd`}"
+VERSION_H="dovecot-version.h"
+VERSION_HT="dovecot-version.h.tmp"
+DOVECOT_BUILD_INFO=${DOVECOT_BUILD_INFO:-DOVECOT_VERSION_FULL}
+
+abspath()
+{ #$1 the path
+ #$2 1 -> SRCDIR || 2 -> BUILDDIR
+ old=`pwd`
+ cd "${1}"
+ if [ ${2} -eq 1 ]; then
+ SRCDIR=`pwd`
+ else
+ BUILDDIR=`pwd`
+ fi
+ cd "$old"
+}
+
+abspath "${SRCDIR}" 1
+abspath "${BUILDDIR}" 2
+
+# when using a different BUILDDIR just copy from SRCDIR, if there is no .git
+if [ "${BUILDDIR}" != "${SRCDIR}" ]; then
+ if [ ! -d "${SRCDIR}/.git" ] && [ -f "${SRCDIR}/${VERSION_H}" ]; then
+ cmp -s "${SRCDIR}/${VERSION_H}" "${BUILDDIR}/${VERSION_H}"
+ if [ $? -ne 0 ]; then
+ cp "${SRCDIR}/${VERSION_H}" "${BUILDDIR}/${VERSION_H}"
+ exit 0
+ fi
+ fi
+fi
+
+# Don't generate dovecot-version.h if the source tree has no .git dir but
+# a dovecot-version.h. This may be the result of a release/nightly tarball.
+[ ! -d "${SRCDIR}/.git" ] && [ -f "${BUILDDIR}/${VERSION_H}" ] && exit 0
+
+# Lets generate the dovecot-version.h
+[ -f "${BUILDDIR}/${VERSION_HT}" ] && rm -f "${BUILDDIR}/${VERSION_HT}"
+if true; then
+ GITID=`git --git-dir ${SRCDIR}/.git rev-parse --short HEAD`
+ cat > "${BUILDDIR}/${VERSION_HT}" <<EOF
+#ifndef DOVECOT_VERSION_H
+#define DOVECOT_VERSION_H
+
+#define DOVECOT_REVISION "${GITID}"
+#define DOVECOT_VERSION_FULL VERSION" ("DOVECOT_REVISION")"
+#define DOVECOT_BUILD_INFO ${DOVECOT_BUILD_INFO}
+
+#endif /* DOVECOT_VERSION_H */
+EOF
+else
+ cat > "${BUILDDIR}/${VERSION_HT}" <<EOF
+#ifndef DOVECOT_VERSION_H
+#define DOVECOT_VERSION_H
+
+#define DOVECOT_VERSION_FULL VERSION
+#define DOVECOT_BUILD_INFO ${DOVECOT_BUILD_INFO}
+
+#endif /* DOVECOT_VERSION_H */
+EOF
+fi
+
+cmp -s "${BUILDDIR}/${VERSION_H}" "${BUILDDIR}/${VERSION_HT}" && \
+ rm -f "${BUILDDIR}/${VERSION_HT}" || \
+ mv -f "${BUILDDIR}/${VERSION_HT}" "${BUILDDIR}/${VERSION_H}"