deep_scrub_choked
This commit is contained in:
@@ -0,0 +1,113 @@
|
||||
# Makefile for constructing RPMs.
|
||||
# Try "make" (for SRPMS) or "make rpm"
|
||||
|
||||
NAME = ceph-ansible
|
||||
|
||||
# Set the RPM package NVR from "git describe".
|
||||
# Examples:
|
||||
#
|
||||
# A "git describe" value of "v2.2.0beta1" would create an NVR
|
||||
# "ceph-ansible-2.2.0-0.beta1.1.el8"
|
||||
#
|
||||
# A "git describe" value of "v2.2.0rc1" would create an NVR
|
||||
# "ceph-ansible-2.2.0-0.rc1.1.el8"
|
||||
#
|
||||
# A "git describe" value of "v2.2.0rc1-1-gc465f85" would create an NVR
|
||||
# "ceph-ansible-2.2.0-0.rc1.1.gc465f85.el8"
|
||||
#
|
||||
# A "git describe" value of "v2.2.0" creates an NVR
|
||||
# "ceph-ansible-2.2.0-1.el8"
|
||||
|
||||
DIST ?= "el8"
|
||||
MOCK_CONFIG ?= "centos-stream+epel-8-x86_64"
|
||||
TAG := $(shell git describe --tags --abbrev=0 --match 'v*')
|
||||
VERSION := $(shell echo $(TAG) | sed 's/^v//')
|
||||
COMMIT := $(shell git rev-parse HEAD)
|
||||
SHORTCOMMIT := $(shell echo $(COMMIT) | cut -c1-7)
|
||||
RELEASE := $(shell git describe --tags --match 'v*' \
|
||||
| sed 's/^v//' \
|
||||
| sed 's/^[^-]*-//' \
|
||||
| sed 's/-/./')
|
||||
ifeq ($(VERSION),$(RELEASE))
|
||||
RELEASE = 1
|
||||
endif
|
||||
ifneq (,$(findstring alpha,$(VERSION)))
|
||||
ALPHA := $(shell echo $(VERSION) | sed 's/.*alpha/alpha/')
|
||||
RELEASE := 0.$(ALPHA).$(RELEASE)
|
||||
VERSION := $(subst $(ALPHA),,$(VERSION))
|
||||
endif
|
||||
ifneq (,$(findstring beta,$(VERSION)))
|
||||
BETA := $(shell echo $(VERSION) | sed 's/.*beta/beta/')
|
||||
RELEASE := 0.$(BETA).$(RELEASE)
|
||||
VERSION := $(subst $(BETA),,$(VERSION))
|
||||
endif
|
||||
ifneq (,$(findstring rc,$(VERSION)))
|
||||
RC := $(shell echo $(VERSION) | sed 's/.*rc/rc/')
|
||||
RELEASE := 0.$(RC).$(RELEASE)
|
||||
VERSION := $(subst $(RC),,$(VERSION))
|
||||
endif
|
||||
|
||||
ifneq (,$(shell echo $(VERSION) | grep [a-zA-Z]))
|
||||
# If we still have alpha characters in our Git tag string, we don't know
|
||||
# how to translate that into a sane RPM version/release. Bail out.
|
||||
$(error cannot translate Git tag version $(VERSION) to an RPM NVR)
|
||||
endif
|
||||
|
||||
NVR := $(NAME)-$(VERSION)-$(RELEASE).$(DIST)
|
||||
|
||||
all: srpm
|
||||
|
||||
# Testing only
|
||||
echo:
|
||||
echo COMMIT $(COMMIT)
|
||||
echo VERSION $(VERSION)
|
||||
echo RELEASE $(RELEASE)
|
||||
echo NVR $(NVR)
|
||||
|
||||
clean:
|
||||
rm -rf dist/
|
||||
rm -rf ceph-ansible-$(VERSION)-$(SHORTCOMMIT).tar.gz
|
||||
rm -rf $(NVR).src.rpm
|
||||
|
||||
dist:
|
||||
git archive --format=tar.gz --prefix=ceph-ansible-$(VERSION)/ HEAD > ceph-ansible-$(VERSION)-$(SHORTCOMMIT).tar.gz
|
||||
|
||||
spec:
|
||||
sed ceph-ansible.spec.in \
|
||||
-e 's/@COMMIT@/$(COMMIT)/' \
|
||||
-e 's/@VERSION@/$(VERSION)/' \
|
||||
-e 's/@RELEASE@/$(RELEASE)/' \
|
||||
> ceph-ansible.spec
|
||||
|
||||
srpm: dist spec
|
||||
rpmbuild -bs ceph-ansible.spec \
|
||||
--define "_topdir ." \
|
||||
--define "_sourcedir ." \
|
||||
--define "_srcrpmdir ." \
|
||||
--define "dist .$(DIST)"
|
||||
|
||||
rpm: dist srpm
|
||||
mock -r $(MOCK_CONFIG) rebuild $(NVR).src.rpm \
|
||||
--resultdir=. \
|
||||
--define "dist .$(DIST)"
|
||||
|
||||
tag:
|
||||
$(eval BRANCH := $(shell git rev-parse --abbrev-ref HEAD))
|
||||
$(eval LASTNUM := $(shell echo $(TAG) \
|
||||
| sed -E "s/.*[^0-9]([0-9]+)$$/\1/"))
|
||||
$(eval NEXTNUM=$(shell echo $$(($(LASTNUM)+1))))
|
||||
$(eval NEXTTAG=$(shell echo $(TAG) | sed "s/$(LASTNUM)$$/$(NEXTNUM)/"))
|
||||
if [[ "$(TAG)" == "$(git describe --tags --match 'v*')" ]]; then \
|
||||
echo "$(SHORTCOMMIT) on $(BRANCH) is already tagged as $(TAG)"; \
|
||||
exit 1; \
|
||||
fi
|
||||
if [[ "$(BRANCH)" != "master" || "$(BRANCH)" != "main" ]] && \
|
||||
! [[ "$(BRANCH)" =~ ^stable- ]]; then \
|
||||
echo Cannot tag $(BRANCH); \
|
||||
exit 1; \
|
||||
fi
|
||||
@echo Tagging Git branch $(BRANCH)
|
||||
git tag $(NEXTTAG)
|
||||
@echo run \'git push origin $(NEXTTAG)\' to push to GitHub.
|
||||
|
||||
.PHONY: dist rpm srpm tag
|
||||
Reference in New Issue
Block a user