github.com/whamcloud/lemur@v0.0.0-20190827193804-4655df8a52af/packaging/rpm/Makefile (about) 1 SOURCE := $(NAME)-$(VERSION).tar.gz 2 TOPDIR ?= $(shell rpm --eval '%_topdir') 3 WORKDIR := $(shell mktemp -d) 4 SPECFILE := $(NAME).spec 5 INITFILES := $(patsubst %,$(WORKDIR)/%,lhsmd.service lhsmd.conf) 6 USER ?= $(shell whoami) 7 YBLDDEP := $(shell if which yum-builddep 2>/dev/null; then true; else echo yum-builddep; fi) 8 CREATEREPO := $(shell if which createrepo 2>/dev/null; then true; else echo createrepo; fi) 9 10 rpm: $(WORKDIR)/$(SOURCE) $(INITFILES) $(WORKDIR)/$(SPECFILE) $(WORKDIR)/.deps 11 cd $(WORKDIR) && \ 12 rpmbuild --define '%_sourcedir $(WORKDIR)' \ 13 --define '%_gitver $(VERSION)' \ 14 --define '%_topdir $(TOPDIR)' \ 15 --define '%PACKAGE_PREFIX $(NAME)' \ 16 --define '%dist $(RELEASE)' \ 17 -ba $(SPECFILE) && \ 18 rm -fr $(WORKDIR) 19 # clean up any cruft left by the go compiler 20 rm -fr $$(rpm --eval '%{_builddir}')/$(NAME)-* 21 22 repo: $(CREATEREPO) 23 cd $(TOPDIR)/RPMS && \ 24 createrepo -v -p . 25 26 27 $(WORKDIR)/.deps: $(YBLDDEP) $(WORKDIR)/$(SPECFILE) 28 sudo yum-builddep -y $(WORKDIR)/$(SPECFILE) && touch $(WORKDIR)/.deps 29 30 $(YBLDDEP): 31 sudo yum install -y yum-utils 32 33 $(CREATEREPO): 34 sudo yum install -y createrepo 35 36 $(WORKDIR)/$(SPECFILE): 37 cp $(SPECFILE) $(WORKDIR) && chown $(USER).$(USER) $(WORKDIR)/$(SPECFILE) 38 39 $(WORKDIR)/$(SOURCE): 40 cd ../../ && \ 41 tar --owner=$(USER) --group=$(USER) \ 42 --exclude=.git --exclude=*.swp --exclude=packaging/ci/* \ 43 --transform 's|./|$(NAME)-$(VERSION)/|' -czf $@ ./ && \ 44 chown $(USER).$(USER) $@ 45 46 $(INITFILES): 47 cp $(notdir $@) $@