Update spec file after Fedora review
[cascardo/ipsilon.git] / Makefile
1 RPMBUILD = $(PWD)/dist/rpmbuild
2
3 all: lint pep8
4
5 lint:
6         # Analyze code
7         # don't show recommendations, info, comments, report
8         # W0613 - unused argument
9         # Ignore cherrypy class members as they are dynamically added
10         pylint -d c,r,i,W0613 -r n -f colorized \
11                    --notes= \
12                    --ignored-classes=cherrypy \
13                    ./ipsilon
14
15 pep8:
16         # Check style consistency
17         pep8 ipsilon
18
19 # Requires python-lesscpy
20 ui: less/ipsilon.less less/admin.less
21         # Create CSS
22         lesscpy less/ipsilon.less > ui/css/ipsilon.css
23         lesscpy less/admin.less > ui/css/admin.css
24
25 # Requires NodeJS less and clear-css packages
26 # Should be removed when lesscpy starts to work properly
27 ui-node: less/ipsilon.less less/admin.less
28
29         # Create and minify CSS
30         #lessc --clean-css less/ipsilon.less ui/css/ipsilon.css
31         #lessc --clean-css less/admin.less ui/css/admin.css
32
33         #FIXME: temporarily disable clean-css fo deveopment
34         lessc less/ipsilon.less ui/css/ipsilon.css
35         lessc less/admin.less ui/css/admin.css
36
37 clean:
38         rm -fr testdir cscope.out
39         find ./ -name '*.pyc' -exec rm -f {} \;
40
41 cscope:
42         git ls-files | xargs pycscope
43
44 lp-test:
45         pylint -d c,r,i,W0613 -r n -f colorized \
46                    --notes= \
47                    --ignored-classes=cherrypy \
48                    ./tests
49         pep8 tests
50
51 wrappers:
52         #rm -fr wrapdir
53         #mkdir wrapdir
54         #LD_PRELOAD=libsocket_wrapper.so
55         #SOCKET_WRAPPER_DIR=wrapdir
56         #SOCKET_WRAPPER_DEFAULT_IFACE=9
57
58 tests: wrappers
59         PYTHONPATH=./ ./tests/tests.py --test=test1
60         PYTHONPATH=./ ./tests/tests.py --test=attrs
61         PYTHONPATH=./ ./tests/tests.py --test=trans
62         PYTHONPATH=./ ./tests/tests.py --test=pgdb
63         PYTHONPATH=./ ./tests/tests.py --test=fconf
64
65 test: lp-test tests
66         PYTHONPATH=./ ./ipsilon/tools/saml2metadata.py
67
68 sdist:
69         python setup.py sdist
70
71 rpmroot:
72         rm -rf $(RPMBUILD)
73         mkdir -p $(RPMBUILD)/BUILD
74         mkdir -p $(RPMBUILD)/RPMS
75         mkdir -p $(RPMBUILD)/SOURCES
76         mkdir -p $(RPMBUILD)/SPECS
77         mkdir -p $(RPMBUILD)/SRPMS
78
79 rpmdistdir:
80         mkdir -p dist/rpms
81         mkdir -p dist/srpms
82
83 rpms: rpmroot rpmdistdir sdist
84         cp dist/ipsilon*.tar.gz $(RPMBUILD)/SOURCES/
85         rpmbuild --define "_topdir $(RPMBUILD)" -ba contrib/fedora/ipsilon.spec
86         mv $(RPMBUILD)/RPMS/*/ipsilon-*.rpm dist/rpms/
87         mv $(RPMBUILD)/SRPMS/ipsilon-*.src.rpm dist/srpms/
88         rm -rf $(RPMBUILD)
89
90 rpms: sdist