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