When tagging a new version, rpm will give us the version twice, one for main package and one for the -utils subpackage. We should only use the first one (they should be the same anyway). Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
		
			
				
	
	
		
			109 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			109 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
.PHONY: all clean doc log test
 | 
						|
 | 
						|
PKGNAME=pungi
 | 
						|
VERSION=$(shell rpm -q --qf "%{VERSION}\n" --specfile ${PKGNAME}.spec | head -n1)
 | 
						|
RELEASE=$(shell rpm -q --qf "%{RELEASE}\n" --specfile ${PKGNAME}.spec | head -n1)
 | 
						|
GITTAG=${PKGNAME}-$(VERSION)
 | 
						|
PKGRPMFLAGS=--define "_topdir ${PWD}" --define "_specdir ${PWD}" --define "_sourcedir ${PWD}/dist" --define "_srcrpmdir ${PWD}" --define "_rpmdir ${PWD}" --define "_builddir ${PWD}"
 | 
						|
 | 
						|
RPM="noarch/${PKGNAME}-$(VERSION)-$(RELEASE).noarch.rpm"
 | 
						|
SRPM="${PKGNAME}-$(VERSION)-$(RELEASE).src.rpm"
 | 
						|
 | 
						|
 | 
						|
all: help
 | 
						|
 | 
						|
 | 
						|
help:
 | 
						|
	@echo "Usage: make <target>"
 | 
						|
	@echo
 | 
						|
	@echo "Available targets are:"
 | 
						|
	@echo " help                    show this text"
 | 
						|
	@echo " clean                   remove python bytecode and temp files"
 | 
						|
	@echo " doc                     build documentation"
 | 
						|
	@echo " install                 install program on current system"
 | 
						|
	@echo " test                    run tests"
 | 
						|
	@echo " test-coverage           run tests and generate a coverage report"
 | 
						|
	@echo " test-compose            run a small teest compose (requires test data)"
 | 
						|
	@echo " test-data               build test data (requirement for running tests)"
 | 
						|
	@echo
 | 
						|
	@echo "Available rel-eng targets are:"
 | 
						|
	@echo " archive                 create source tarball"
 | 
						|
	@echo " log                     display changelog for spec file"
 | 
						|
	@echo " tag                     create a git tag according to version and release from spec file"
 | 
						|
	@echo " rpm                     build rpm"
 | 
						|
	@echo " srpm                    build srpm"
 | 
						|
	@echo " rpminstall              build rpm and install it"
 | 
						|
	@echo " release                 build srpm and create git tag"
 | 
						|
 | 
						|
 | 
						|
tag:
 | 
						|
	@git tag -a -m "Tag as $(GITTAG)" -f $(GITTAG)
 | 
						|
	@echo "Tagged as $(GITTAG)"
 | 
						|
 | 
						|
 | 
						|
Changelog:
 | 
						|
	(GIT_DIR=.git git log > .changelog.tmp && mv .changelog.tmp Changelog; rm -f .changelog.tmp) || (touch Changelog; echo 'git directory not found: installing possibly empty changelog.' >&2)
 | 
						|
 | 
						|
 | 
						|
log:
 | 
						|
	@(LC_ALL=C date +"* %a %b %e %Y `git config --get user.name` <`git config --get user.email`> - VERSION"; git log --pretty="format:- %s (%ae)" | sed -r 's/ \(([^@]+)@[^)]+\)/ (\1)/g' | cat) | less
 | 
						|
 | 
						|
 | 
						|
archive:
 | 
						|
	@rm -f Changelog
 | 
						|
	@rm -f MANIFEST
 | 
						|
	@make Changelog
 | 
						|
	@rm -rf ${PKGNAME}-$(VERSION)/
 | 
						|
	@python setup.py sdist --formats=bztar > /dev/null
 | 
						|
	@echo "The archive is in dist/${PKGNAME}-$(VERSION).tar.bz2"
 | 
						|
 | 
						|
 | 
						|
srpm: archive
 | 
						|
	@rm -f $(SRPM)
 | 
						|
	@rpmbuild -bs ${PKGRPMFLAGS} ${PKGNAME}.spec
 | 
						|
	@echo "The srpm is in $(SRPM)"
 | 
						|
 | 
						|
 | 
						|
rpm: archive
 | 
						|
	@rpmbuild --clean -bb ${PKGRPMFLAGS} ${PKGNAME}.spec
 | 
						|
	@echo "The rpm is in $(RPM)"
 | 
						|
 | 
						|
 | 
						|
rpminstall: rpm
 | 
						|
	@rpm -ivh --force $(RPM)
 | 
						|
 | 
						|
 | 
						|
release: tag srpm
 | 
						|
 | 
						|
 | 
						|
install:
 | 
						|
	@python setup.py install
 | 
						|
 | 
						|
 | 
						|
clean:
 | 
						|
	@python setup.py clean
 | 
						|
	@rm -vf *.rpm
 | 
						|
	@rm -vrf noarch
 | 
						|
	@rm -vf *.tar.gz
 | 
						|
	@rm -vrf dist
 | 
						|
	@rm -vf MANIFEST
 | 
						|
	@rm -vf Changelog
 | 
						|
	@find . -\( -name "*.pyc" -o -name '*.pyo' -o -name "*~" -o -name "__pycache__" -\) -delete
 | 
						|
	@find . -depth -type d -a -name '*.egg-info' -exec rm -rf {} \;
 | 
						|
 | 
						|
 | 
						|
test:
 | 
						|
	nosetests --exe $(NOSE_OPTS)
 | 
						|
 | 
						|
test-coverage:
 | 
						|
	nosetests --exe --with-cov --cov-report html --cov-config tox.ini $(NOSE_OPTS)
 | 
						|
 | 
						|
test-data:
 | 
						|
	./tests/data/specs/build.sh
 | 
						|
 | 
						|
test-compose:
 | 
						|
	cd tests && ./test_compose.sh
 | 
						|
 | 
						|
doc:
 | 
						|
	cd doc; make html
 |