From ce8597eca31b1de8e7bacc70c5736d813ccfbeca Mon Sep 17 00:00:00 2001 From: FrantiĊĦek Zatloukal Date: Jul 13 2018 13:42:39 +0000 Subject: Makefile: Use generic Makefile provided by qa-make Project can be found here: https://pagure.io/fedora-qa/qa-make --- diff --git a/Makefile b/Makefile index d75810a..0592971 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # -# Copyright 2013, Red Hat, Inc. +# Copyright 2018, Red Hat, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -16,23 +16,35 @@ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # -# general variables -VENV=test_env -SRC=taskotron-trigger -MODULENAME=jobtriggers +# Allows to print variables, eg. make print-SRC +print-% : ; @echo $* = $($*) + +# Get variables from Makefile.cfg +SRC=$(shell grep -s SRC Makefile.cfg | sed 's/SRC=//') +VENV=$(shell grep -s VENV Makefile.cfg | sed 's/VENV=//') +MODULENAME=$(shell grep -s MODULENAME Makefile.cfg | sed 's/MODULENAME=//') + +# Try to detect SRC in case we didn't find Makefile.cfg +ifeq ($(SRC),) +SRC=$(shell rpmspec -q --queryformat="%{NAME}\n" *.spec | uniq) +endif # Variables used for packaging SPECFILE=$(SRC).spec BASEARCH:=$(shell uname -i) DIST:=$(shell rpm --eval '%{dist}') +TARGETVER:=$(shell lsb_release -r |grep -o '[0-9]*') +TARGETDIST:=fc$(TARGETVER) VERSION:=$(shell rpmspec -q --queryformat="%{VERSION}\n" $(SPECFILE) | uniq) -RELEASE:=$(subst $(DIST),,$(shell rpmspec -q --queryformat="%{RELEASE}\n" $(SPECFILE) | uniq)) +RELEASE:=$(shell rpmspec -q --queryformat="%{RELEASE}\n" $(SPECFILE) | uniq | sed 's/$(DIST)/\.$(TARGETDIST)/g') NVR:=$(SRC)-$(VERSION)-$(RELEASE) GITBRANCH:=$(shell git rev-parse --abbrev-ref HEAD) -TARGETVER:=$(shell lsb_release -r |grep -o '[0-9]*') -TARGETDIST:=fc$(TARGETVER) BUILDTARGET:=fedora-$(TARGETVER)-x86_64 +.PHONY: update-makefile +update-makefile: + wget -q https://pagure.io/fedora-qa/qa-make/raw/master/f/Makefile -O Makefile + .PHONY: test test: $(VENV) sh -c "set -e; . $(VENV)/bin/activate; \ @@ -73,19 +85,21 @@ archive: $(SRC)-$(VERSION).tar.gz .PHONY: $(SRC)-$(VERSION).tar.gz $(SRC)-$(VERSION).tar.gz: git archive $(GITBRANCH) --prefix=$(SRC)-$(VERSION)/ | gzip -c9 > $@ + mkdir -p build/$(VERSION)-$(RELEASE) + mv $(SRC)-$(VERSION).tar.gz build/$(VERSION)-$(RELEASE)/ -.PHONY: mocksrpm -mocksrpm: archive - mock -r $(BUILDTARGET) --buildsrpm --spec $(SPECFILE) --sources . - cp /var/lib/mock/$(BUILDTARGET)/result/$(NVR).$(TARGETDIST).src.rpm . +.PHONY: srpm +srpm: archive + mock -r $(BUILDTARGET) --buildsrpm --spec $(SPECFILE) --sources build/$(VERSION)-$(RELEASE)/ + cp /var/lib/mock/$(BUILDTARGET)/result/$(NVR).src.rpm build/$(VERSION)-$(RELEASE)/ -.PHONY: mockbuild -mockbuild: mocksrpm - mock -r $(BUILDTARGET) --no-clean --rebuild $(NVR).$(TARGETDIST).src.rpm - cp /var/lib/mock/$(BUILDTARGET)/result/$(NVR).$(TARGETDIST).noarch.rpm . +.PHONY: build +build: srpm + mock -r $(BUILDTARGET) --no-clean --rebuild build/$(VERSION)-$(RELEASE)/$(NVR).src.rpm + cp /var/lib/mock/$(BUILDTARGET)/result/$(NVR).noarch.rpm build/$(VERSION)-$(RELEASE)/ -#.PHONY: kojibuild -#kojibuild: mocksrpm +#.PHONY: koji +#kojibuild: srpm # koji build --scratch dist-6E-epel-testing-candidate $(NVR).src.rpm .PHONY: nvr diff --git a/Makefile.cfg b/Makefile.cfg new file mode 100644 index 0000000..5b333c8 --- /dev/null +++ b/Makefile.cfg @@ -0,0 +1,3 @@ +SRC=taskotron-trigger +VENV=test_env +MODULENAME=jobtriggers