To get the sources, do a git checkout of one of the following repositories:
To work on Ipsilon, you need to have some packages installed. To get everything you need to run all included test cases, you can run the following command on a Fedora system:
yum install make pylint python-pep8 python-openid python-openid-teams \ python-openid-cla python-cherrypy m2crypto lasso-python \ python-sqlalchemy python-ldap python-pam python-fedora \ freeipa-python httpd mod_auth_mellon postgresql-server \ openssl mod_wsgi python-jinja2 python-psycopg2 sssd \ libsss_simpleifp openldap-servers mod_auth_gssapi krb5-server \ socket_wrapper nss_wrapper python-requests-kerberos python-lesscpy\ krb5-workstation python-sssdconfig mod_ssl python-jwcrypto \ mod_auth_openidc sqlite3
Note that except for installing the packages, you will not need root access to run the tests (so if you add any new tests, make sure they run in-tree, in the testdir directory!).
To run the tests, change into your Ipsilon directory, and execute:
If it ends with the message "All tests passed", all tests have passed.
If your test seems to hang at "Installing KDC server", that is likely due to low entropy (most likely you're running on a virtual machine). During this step, the machine needs sufficient random entropy to generate keys used during testing. To speed this up, on Fedora, you can run the following commands to install and run haveged:
yum install haveged systemctl enable haveged.service systemctl start haveged.service
If you need any help with using or developing Ipsilon, you can either:
All submitted patches must pass any non-optional distro testrun. This currently includes current RHEL/CentOS and Fedora releases.
As part of the testrun, the code will by analyzed with pep8 and pylint, and if either tool reports issues, the test run fails, thus these issues must be corrected before they can be included.
All bugfixes where this is reasonable should have regression tests added.
Any new functionality is required to have test cases.
Ipsilon is using Pagure Pull Requests for patch submission/tracking.
To begin, head over to https://pagure.io/ipsilon and log in. Then click the Fork button on the right of the project menu, and push your code to a new branch in your fork.
After that, open the branch page on your fork, and click Request Pull, enter a title, hit submit, and your patch is on its way for review!
You will likely get questions for improvements and such.
For the gatekeepers: please make sure to add a Reviewed-by: "reviewer name firstname.lastname@example.org" to the git commit, and then push to upstream master (forward only, no merge commits please).
Release wrangler, making a release: https://fedorahosted.org/ipsilon/wiki/ReleasesProcess