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 $@) $@