104 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			104 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| .PHONY: all clean doc log test
 | |
| 
 | |
| PKGNAME=pungi
 | |
| VERSION=$(shell rpm -q --qf "%{VERSION}\n" --specfile ${PKGNAME}.spec)
 | |
| RELEASE=$(shell rpm -q --qf "%{RELEASE}\n" --specfile ${PKGNAME}.spec)
 | |
| GITTAG=${PKGNAME}-$(VERSION)-$(RELEASE)
 | |
| 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-data               build test data (requirement for running tests)"
 | |
| 	@echo " test                    run 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:
 | |
| 	python2 setup.py test
 | |
| 	python3 setup.py test
 | |
| 
 | |
| 
 | |
| test-data:
 | |
| 	./tests/data/specs/build.sh
 | |
| 
 | |
| 
 | |
| doc:
 | |
| 	cd doc; make html
 |