From e5a812082ae033afb1eed82c0f2df3d0f6bdc93f Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 08:53:20 +0200 Subject: Adding upstream version 2.1.6. Signed-off-by: Daniel Baumann --- mk/release.mk | 87 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 mk/release.mk (limited to 'mk/release.mk') diff --git a/mk/release.mk b/mk/release.mk new file mode 100644 index 0000000..7d7259c --- /dev/null +++ b/mk/release.mk @@ -0,0 +1,87 @@ +# +# Copyright 2008-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 variables related to release version and such + +COMMIT ?= HEAD + +# TAG defaults to DIST when in a source distribution instead of a git checkout, +# the tag name if COMMIT is tagged, and the full commit ID otherwise. +TAG ?= $(shell \ + T=$$(git describe --tags --exact-match '$(COMMIT)' 2>/dev/null); \ + [ -n "$${T}" ] && echo "$${T}" \ + || git log --pretty=format:%H -n 1 '$(COMMIT)' 2>/dev/null \ + || echo DIST) + +# If DIRTY=anything is passed to make, generated versions will end in ".mod" +# as long as there are uncommitted changes and COMMIT is not changed from the +# default. +DIRTY_EXT = $(shell [ -n "$(DIRTY)" ] \ + && [ "$(COMMIT)" == "HEAD" ] \ + && ! git diff-index --quiet HEAD -- 2>/dev/null \ + && echo .mod) + +# These can be used in case statements to avoid make interpreting parentheses +lparen = ( +rparen = ) + +# This will be empty if not in a git checkout +CHECKOUT = $(shell git rev-parse --git-dir 2>/dev/null) + +# VERSION is set by configure, but we allow some make targets to be run without +# running configure first, so set a reasonable default in that case. +VERSION ?= $(shell if [ -z "$(CHECKOUT)" ]; then \ + echo 0.0.0; \ + else \ + git tag -l \ + | sed -n -e 's/^\(Pacemaker-[0-9.]*\)$$/\1/p' \ + | sort -Vr | head -n 1; \ + fi) + +# What the git tag would be for configured VERSION (such as "Pacemaker-2.1.5") +LAST_RELEASE ?= Pacemaker-$(VERSION) + +# What the git tag would be for the release after the configured VERSION +# (LAST_RELEASE stripped of its -rc* suffix if present, or with minor-minor +# version bumped if not; this should be manually overriden when bumping +# the major or minor version) +NEXT_RELEASE ?= $(shell case "$(LAST_RELEASE)" in \ + *-rc*$(rparen) \ + echo $(LAST_RELEASE) | sed s:-rc.*:: ;; \ + *$(rparen) \ + echo $(LAST_RELEASE) | awk -F. \ + '/[0-9]+\./{$$3+=1;OFS=".";print $$1,$$2,$$3}' \ + ;; \ + esac) + +# We have two make targets for creating distributions: +# +# - "make dist" is automake's native functionality, based on the various +# dist/nodist make variables; it always uses the current sources +# +# - "make export" is a custom target based on "git archive" and relevant +# entries from .gitattributes; it defaults to current sources but can use any +# git tag +# +# Both targets use the same name for the result, though they generate different +# contents. +# +# The directory is named pacemaker- when in a source distribution +# instead of a git checkout, pacemaker- for tagged +# commits, and pacemaker- otherwise. +top_distdir = $(PACKAGE)-$(shell \ + case $(TAG) in \ + DIST$(rparen) \ + [ -n "$(VERSION)" ] && echo "$(VERSION)" \ + || echo DIST;; \ + Pacemaker-*$(rparen) \ + echo '$(TAG)' | cut -c11-;; \ + *$(rparen) \ + git log --pretty=format:%h -n 1 '$(TAG)';; \ + esac)$(DIRTY_EXT) -- cgit v1.2.3