New version.
[pykickstart.git] / Makefile
blob3585cfa36aff4ef747b86322e8a34f09bf5611c6
1 PKGNAME=pykickstart
2 VERSION=$(shell awk '/Version:/ { print $$2 }' $(PKGNAME).spec)
3 RELEASE=$(shell awk '/Release:/ { print $$2 }' $(PKGNAME).spec | sed -e 's|%.*$$||g')
4 TAG=r$(VERSION)-$(RELEASE)
6 TX_PULL_ARGS = -a --disable-overwrite
7 TX_PUSH_ARGS = -s
9 MANDIR=/usr/share/man
10 PREFIX=/usr
12 TESTSUITE:=tests/baseclass.py
14 all:
15 $(MAKE) -C po
17 po-pull:
18 tx pull $(TX_PULL_ARGS)
20 docs:
21 mkdir -p docs
22 curl -A "pykickstart-build" -o docs/kickstart-docs.txt "https://fedoraproject.org/w/index.php?title=Anaconda/Kickstart&action=raw"
23 curl -A "programmers-guide" -o docs/programmers-guide "https://fedoraproject.org/w/index.php?title=PykickstartIntro&action=raw"
25 check:
26 @echo "*** Running pylint to verify source ***"
27 PYTHONPATH=. pylint pykickstart/*.py pykickstart/*/*.py --rcfile=/dev/null -i y -r n --disable=C,R --disable=W0141,W0142,W0221,W0401,W0403,W0404,W0603,W0611,W0612,W0613,W0614,W0703
29 test:
30 @echo "*** Running unittests ***"
31 PYTHONPATH=. python $(TESTSUITE) -v
33 clean:
34 -rm *.tar.gz pykickstart/*.pyc pykickstart/*/*.pyc tests/*.pyc tests/*/*.pyc docs/* ChangeLog
35 $(MAKE) -C po clean
36 python setup.py -q clean --all
38 install:
39 python setup.py install --root=$(DESTDIR)
40 $(MAKE) -C po install
42 ChangeLog:
43 (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)
45 tag:
46 git tag -a -m "Tag as $(TAG)" -f $(TAG)
47 @echo "Tagged as $(TAG)"
49 archive: check test tag docs
50 @rm -f ChangeLog
51 @make ChangeLog
52 git archive --format=tar --prefix=$(PKGNAME)-$(VERSION)/ $(TAG) > $(PKGNAME)-$(VERSION).tar
53 mkdir -p $(PKGNAME)-$(VERSION)/docs/
54 cp -r po $(PKGNAME)-$(VERSION)
55 cp docs/kickstart-docs.txt $(PKGNAME)-$(VERSION)/docs/
56 cp docs/programmers-guide $(PKGNAME)-$(VERSION)/docs/
57 cp ChangeLog $(PKGNAME)-$(VERSION)/
58 tar -rf $(PKGNAME)-$(VERSION).tar $(PKGNAME)-$(VERSION)
59 gzip -9 $(PKGNAME)-$(VERSION).tar
60 rm -rf $(PKGNAME)-$(VERSION)
61 git checkout -- po/$(PKGNAME).pot
62 @echo "The archive is in $(PKGNAME)-$(VERSION).tar.gz"
64 local: docs po-pull
65 @rm -f ChangeLog
66 @make ChangeLog
67 @rm -rf $(PKGNAME)-$(VERSION).tar.gz
68 @rm -rf /tmp/$(PKGNAME)-$(VERSION) /tmp/$(PKGNAME)
69 @dir=$$PWD; cp -a $$dir /tmp/$(PKGNAME)-$(VERSION)
70 @cd /tmp/$(PKGNAME)-$(VERSION) ; python setup.py -q sdist
71 @cp /tmp/$(PKGNAME)-$(VERSION)/dist/$(PKGNAME)-$(VERSION).tar.gz .
72 @rm -rf /tmp/$(PKGNAME)-$(VERSION)
73 @echo "The archive is in $(PKGNAME)-$(VERSION).tar.gz"
75 rpmlog:
76 @git log --pretty="format:- %s (%ae)" $(TAG).. |sed -e 's/@.*)/)/'
77 @echo
79 bumpver: po-pull
80 @NEWSUBVER=$$((`echo $(VERSION) |cut -d . -f 2` + 1)) ; \
81 NEWVERSION=`echo $(VERSION).$$NEWSUBVER |cut -d . -f 1,3` ; \
82 DATELINE="* `date "+%a %b %d %Y"` `git config user.name` <`git config user.email`> - $$NEWVERSION-1" ; \
83 cl=`grep -n %changelog pykickstart.spec |cut -d : -f 1` ; \
84 tail --lines=+$$(($$cl + 1)) pykickstart.spec > speclog ; \
85 (head -n $$cl pykickstart.spec ; echo "$$DATELINE" ; make --quiet rpmlog 2>/dev/null ; echo ""; cat speclog) > pykickstart.spec.new ; \
86 mv pykickstart.spec.new pykickstart.spec ; rm -f speclog ; \
87 sed -i "s/Version: $(VERSION)/Version: $$NEWVERSION/" pykickstart.spec ; \
88 sed -i "s/version='$(VERSION)'/version='$$NEWVERSION'/" setup.py ; \
89 make -C po $(PKGNAME).pot ; \
90 tx push $(TX_PUSH_ARGS)
92 .PHONY: check clean install tag archive local docs