1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
|
RPMBUILD = $(PWD)/dist/rpmbuild
all: testdeps lint pep8 test
echo "All tests passed"
testdeps:
# Determine if test deps are installed
# First, some binaries
which lessc
which pylint
which pep8
which httpd
which postgres
which openssl
which slapd
# Now, python libraries
python -c 'import openid'
python -c 'import openid_teams'
python -c 'import openid_cla'
python -c 'import cherrypy'
python -c 'import M2Crypto'
python -c 'import lasso'
python -c 'import sqlalchemy'
python -c 'import ldap'
python -c 'import pam'
python -c 'import fedora'
python -c 'import ipapython'
python -c 'import jinja2'
python -c 'import psycopg2'
# And now everything else
ls /usr/share/doc/sssd
ls /usr/lib64/libsss_simpleifp.so.0
ls /usr/lib64/httpd/modules/mod_wsgi.so
ls /usr/libexec/mod_auth_mellon
lint:
# Analyze code
# don't show recommendations, info, comments, report
# W0613 - unused argument
# Ignore cherrypy class members as they are dynamically added
# Ignore IPA API class members as they are dynamically added
pylint -d c,r,i,W0613 -r n -f colorized \
--notes= \
--ignored-classes=cherrypy,API \
./ipsilon
pep8:
# Check style consistency
pep8 ipsilon
# Requires python-lesscpy
ui: less/ipsilon.less less/admin.less
# Create CSS
lesscpy less/ipsilon.less > ui/css/ipsilon.css
lesscpy less/admin.less > ui/css/admin.css
# Requires NodeJS less and clear-css packages
# Should be removed when lesscpy starts to work properly
ui-node: less/ipsilon.less less/admin.less
# Create and minify CSS
#lessc --clean-css less/ipsilon.less ui/css/ipsilon.css
#lessc --clean-css less/admin.less ui/css/admin.css
#FIXME: temporarily disable clean-css fo deveopment
lessc less/ipsilon.less ui/css/ipsilon.css
lessc less/admin.less ui/css/admin.css
clean:
rm -fr testdir cscope.out
find ./ -name '*.pyc' -exec rm -f {} \;
cscope:
git ls-files | xargs pycscope
lp-test:
pylint -d c,r,i,W0613 -r n -f colorized \
--notes= \
--ignored-classes=cherrypy \
./tests
pep8 tests
wrappers:
#rm -fr wrapdir
#mkdir wrapdir
#LD_PRELOAD=libsocket_wrapper.so
#SOCKET_WRAPPER_DIR=wrapdir
#SOCKET_WRAPPER_DEFAULT_IFACE=9
tests: wrappers
PYTHONPATH=./ ./tests/tests.py --test=test1
PYTHONPATH=./ ./tests/tests.py --test=testlogout
PYTHONPATH=./ ./tests/tests.py --test=testnameid
PYTHONPATH=./ ./tests/tests.py --test=testrest
PYTHONPATH=./ ./tests/tests.py --test=testmapping
PYTHONPATH=./ ./tests/tests.py --test=attrs
PYTHONPATH=./ ./tests/tests.py --test=trans
PYTHONPATH=./ ./tests/tests.py --test=pgdb
PYTHONPATH=./ ./tests/tests.py --test=fconf
PYTHONPATH=./ ./tests/tests.py --test=ldap
test: lp-test unittests tests
unittests:
PYTHONPATH=./ ./ipsilon/tools/saml2metadata.py
PYTHONPATH=./ python ./ipsilon/util/policy.py
sdist:
python setup.py sdist
rpmroot:
rm -rf $(RPMBUILD)
mkdir -p $(RPMBUILD)/BUILD
mkdir -p $(RPMBUILD)/RPMS
mkdir -p $(RPMBUILD)/SOURCES
mkdir -p $(RPMBUILD)/SPECS
mkdir -p $(RPMBUILD)/SRPMS
rpmdistdir:
mkdir -p dist/rpms
mkdir -p dist/srpms
rpms: rpmroot rpmdistdir sdist
cp dist/ipsilon*.tar.gz $(RPMBUILD)/SOURCES/
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
mv $(RPMBUILD)/RPMS/*/ipsilon-*.rpm dist/rpms/
mv $(RPMBUILD)/SRPMS/ipsilon-*.src.rpm dist/srpms/
rm -rf $(RPMBUILD)
releaserpms: rpmroot rpmdistdir sdist
cp dist/ipsilon*.tar.gz $(RPMBUILD)/SOURCES/
rpmbuild --define "_topdir $(RPMBUILD)" -ba contrib/fedora/ipsilon.spec
mv $(RPMBUILD)/RPMS/*/ipsilon-*.rpm dist/rpms/
mv $(RPMBUILD)/SRPMS/ipsilon-*.src.rpm dist/srpms/
rm -rf $(RPMBUILD)
|