summaryrefslogtreecommitdiffstats
path: root/maint/Makefile.am
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 06:53:20 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 06:53:20 +0000
commite5a812082ae033afb1eed82c0f2df3d0f6bdc93f (patch)
treea6716c9275b4b413f6c9194798b34b91affb3cc7 /maint/Makefile.am
parentInitial commit. (diff)
downloadpacemaker-e5a812082ae033afb1eed82c0f2df3d0f6bdc93f.tar.xz
pacemaker-e5a812082ae033afb1eed82c0f2df3d0f6bdc93f.zip
Adding upstream version 2.1.6.upstream/2.1.6
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'maint/Makefile.am')
-rw-r--r--maint/Makefile.am107
1 files changed, 107 insertions, 0 deletions
diff --git a/maint/Makefile.am b/maint/Makefile.am
new file mode 100644
index 0000000..788dd46
--- /dev/null
+++ b/maint/Makefile.am
@@ -0,0 +1,107 @@
+#
+# Copyright 2019-2022 the Pacemaker project contributors
+#
+# The version control history for this file may have further details.
+#
+# This source code is licensed under the GNU General Public License version 2
+# or later (GPLv2+) WITHOUT ANY WARRANTY.
+#
+
+# Define release-related variables
+include $(abs_srcdir)/../mk/release.mk
+
+noinst_SCRIPTS = bumplibs
+EXTRA_DIST = README
+
+#
+# Change log generation
+#
+
+# Count changes in these directories
+CHANGELOG_DIRS = ../include ../lib ../daemons ../tools ../xml
+
+.PHONY: require_last_release
+require_last_release:
+ @if [ -z "$(CHECKOUT)" ]; then \
+ echo "This target must be run from a git checkout"; \
+ exit 1; \
+ elif ! git rev-parse $(LAST_RELEASE) >/dev/null 2>&1; then \
+ echo "LAST_RELEASE must be set to a valid git tag"; \
+ exit 1; \
+ fi
+
+.PHONY: summary
+summary: require_last_release
+ @printf "* %s %s <%s> %s\n" "$$(date +'%a %b %d %Y')" \
+ "$$(git config user.name)" "$$(git config user.email)" \
+ "$(NEXT_RELEASE)"
+ @printf "\055 %d commits with%s\n" \
+ "$$(git log --pretty=oneline --no-merges \
+ $(LAST_RELEASE)..HEAD | wc -l)" \
+ "$$(git diff $(LAST_RELEASE)..HEAD --shortstat \
+ $(CHANGELOG_DIRS))"
+
+.PHONY: changes
+changes: summary
+ @printf "\n- Features added since $(LAST_RELEASE)\n"
+ @git log --pretty=format:'%s' --no-merges \
+ --abbrev-commit $(LAST_RELEASE)..HEAD \
+ | sed -n -e 's/^ *Feature: */ + /p' | sort -uf
+ @printf "\n- Fixes since $(LAST_RELEASE)\n"
+ @git log --pretty=format:'%s' --no-merges \
+ --abbrev-commit $(LAST_RELEASE)..HEAD \
+ | sed -n -e 's/^ *\(Fix\|High\|Bug\): */ + /p' | sed \
+ -e 's/\(cib\|pacemaker-based\|based\):/CIB:/' \
+ -e 's/\(lrmd\|pacemaker-execd\|execd\):/executor:/' \
+ -e 's/\(crmd\|pacemaker-controld\|controld\):/controller:/' \
+ -e 's/\(Fencing\|stonithd?\|pacemaker-fenced\|fenced\):/fencing:/' \
+ -e 's/\(PE\|pengine\|pacemaker-schedulerd\|schedulerd\):/scheduler:/' \
+ | sort -uf
+ @printf "\n- Public API changes since $(LAST_RELEASE)\n"
+ @git log --pretty=format:'%s' --no-merges \
+ --abbrev-commit $(LAST_RELEASE)..HEAD \
+ | sed -n -e 's/^ *API: */ + /p' | sort -uf
+
+.PHONY: changelog
+changelog: require_last_release
+ @printf "%s\n\n%s\n" \
+ "$$($(MAKE) $(AM_MAKEFLAGS) changes \
+ | grep -v 'make\(\[[0-9]*\]\)\?:')" \
+ "$$(cat ../ChangeLog)" > ../ChangeLog
+
+.PHONY: authors
+authors: require_last_release
+ git log $(LAST_RELEASE)..$(COMMIT) --format='%an' | sort -u
+
+#
+# gnulib updates
+#
+# See https://www.gnu.org/software/gnulib/manual/html_node/
+#
+
+# V3 = scandir unsetenv alphasort xalloc
+# V2 = setenv strerror strchrnul strndup
+GNU_MODS = crypto/md5-buffer
+# stdint appears to be surrogate only for C99-lacking environments
+GNU_MODS_AVOID = stdint
+
+.PHONY: gnulib-update
+gnulib-update:
+ @echo 'Newer versions of gnulib require automake 1.14'
+ @echo 'Pacemaker cannot update until minimum supported automake is 1.14'
+ @exit 1
+ if test -e gnulib; then \
+ cd gnulib && git pull; \
+ else \
+ git clone https://git.savannah.gnu.org/git/gnulib.git gnulib \
+ && cd gnulib && git config pull.rebase false; \
+ fi
+ cd $(top_srcdir) && maint/gnulib/gnulib-tool --source-base=lib/gnu \
+ --lgpl=2 --no-vc-files --no-conditional-dependencies --libtool \
+ $(GNU_MODS_AVOID:%=--avoid %) --import $(GNU_MODS)
+ sed -i -e "s/bundled(gnulib).*/bundled(gnulib) = `date +'%Y%m%d'`/" \
+ ../rpm/pacemaker.spec.in
+ sed -i -e "s/_GL_EXTERN_INLINE/_GL_INLINE/" \
+ -e "s#left_over -= 64;#left_over \&= 63; /* helps static analysis */#" \
+ -e "s#&ctx->buffer\[16\]#\&(((char *) ctx->buffer)[64]) /* helps static analysis */#" \
+ ../lib/gnu/md5.c