diff --git a/.hgsigs b/.hgsigs --- a/.hgsigs +++ b/.hgsigs @@ -1,1 +1,2 @@ 9b3e9e242f5c97cc0c7657e5ac93dce7de61ca16 0 iQEcBAABAgAGBQJWDuAdAAoJEJ1bI/kYT6UUAlYH/ReCa7Im5tvy+ot5oAc7xey/O2rCVHp2h6i82tTWK/0i9EaS4DP+eTbAjV4WJA4qWF5DPenEJ3X9JhrTLNvGkR0f7lUqiFVMTJ472YlSsvIWg38gVFruzwk1cODRfq72o8ERYcRSfzrL4cDpIqjEd/vVVCV/gKVvPmzr4/FED/ZmS0X6T9gxWJo/eWSuLNAxHHtE/pCWDO3XEe+iOm+hHjkyz4Hn2r9/+ucrirnzycH6DnYO/kWvQzBnzgMjJm+1rLZ5cfU89V8zfhv6z0pd8CHZfpKGc2Z8EwVJq9LR+M4/76uDlYXx7IfZAxhRNqN6MC+yvPmDo3382dNr7Wkopi0= +9bf8eb837e785b6856ccfac264e977ce3ebe1535 0 iQEcBAABAgAGBQJW5XaVAAoJEJ1bI/kYT6UUbeMH/AsGg21jTc0tTT+228T+WfrfkbxrPkkULQF/Eo3ChlrhnFZ5B1y7ellSx6XGas7yKpqHHtNmrVwY3KBfUaYEljML/osEt1kvM6JGcd0vDbAW1uA2sdJR2AXmf32MjguFVhmYi9Lj79WYtgg241YGPe4dH0ompNFVqazNxCfmDBZijzSkF57FURMpV2e6+MyNq0txSo9Q82eALy0GAIX7NKQcxtynxG9ETzVzuVpeNE9MEZh0ObbUtPGezd55GXXcVqI8ZEurZwf6KHnd5M+5wxIZf84gM/k4QgQbRiIxNj4QfVmTZlVNSkC7PwSbF8twZPjlAprwldYvMi/c7ZVocEY= diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -62,3 +62,5 @@ ad0ce803b40cb17fc3988373052943e041030b02 c6e32714336345403adf76abb6ebf9b8116fcdc7 0.2.1 14f488a5dc4ca6647bc6acf12534fd137e968aa8 0.2.2 9b3e9e242f5c97cc0c7657e5ac93dce7de61ca16 0.3 +250f8150c4bb0ca00dcb92f49ce9a475545863e8 0.3.1 +9bf8eb837e785b6856ccfac264e977ce3ebe1535 0.3.1 diff --git a/docs/contributing.rst b/docs/contributing.rst --- a/docs/contributing.rst +++ b/docs/contributing.rst @@ -35,7 +35,7 @@ To get started with development:: virtualenv ../kallithea-venv source ../kallithea-venv/bin/activate pip install --upgrade pip setuptools - python2 setup.py develop + pip install -e . paster make-config Kallithea my.ini paster setup-db my.ini --user=user --email=user@example.com --password=password --repos=/tmp paster serve my.ini --reload & diff --git a/docs/installation.rst b/docs/installation.rst --- a/docs/installation.rst +++ b/docs/installation.rst @@ -40,7 +40,7 @@ repository, follow the instructions belo virtualenv ../kallithea-venv source ../kallithea-venv/bin/activate pip install --upgrade pip setuptools - python2 setup.py develop + pip install -e . python2 setup.py compile_catalog # for translation of the UI You can now proceed to :ref:`setup`. @@ -96,7 +96,7 @@ An additional benefit of virtualenv_ is Alternatively, download a .tar.gz from http://pypi.python.org/pypi/Kallithea, extract it and run:: - python2 setup.py install + pip install . - This will install Kallithea together with pylons_ and all other required python libraries into the activated virtualenv. diff --git a/docs/overview.rst b/docs/overview.rst --- a/docs/overview.rst +++ b/docs/overview.rst @@ -53,7 +53,7 @@ installed. updating it is that you take advantage of the most recent improvements. Using it directly from a DVCS also means that it is easy to track local customizations. - Running ``setup.py develop`` in the source will use pip to install the + Running ``pip install -e .`` in the source will use pip to install the necessary dependencies in the Python environment and create a ``.../site-packages/Kallithea.egg-link`` file there that points at the Kallithea source. diff --git a/kallithea/__init__.py b/kallithea/__init__.py --- a/kallithea/__init__.py +++ b/kallithea/__init__.py @@ -29,7 +29,7 @@ Original author and date, and relevant c import sys import platform -VERSION = (0, 3) +VERSION = (0, 3, 99) BACKENDS = { 'hg': 'Mercurial repository', 'git': 'Git repository', diff --git a/kallithea/lib/auth_modules/auth_pam.py b/kallithea/lib/auth_modules/auth_pam.py --- a/kallithea/lib/auth_modules/auth_pam.py +++ b/kallithea/lib/auth_modules/auth_pam.py @@ -25,7 +25,14 @@ Original author and date, and relevant c import logging import time -import pam + +try: + from pam import authenticate as pam_authenticate +except ImportError: + # work around pam.authenticate missing in python-pam 1.8.* + from pam import pam + pam_authenticate = pam().authenticate + import pwd import grp import re @@ -92,7 +99,7 @@ class KallitheaAuthPlugin(auth_modules.K # Need lock here, as PAM authentication is not thread safe _pam_lock.acquire() try: - auth_result = pam.authenticate(username, password, + auth_result = pam_authenticate(username, password, settings["service"]) # cache result only if we properly authenticated if auth_result: diff --git a/requirements.txt b/requirements.txt new file mode 100644 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,4 @@ +# requirements.txt file for use as "pip install -r requirements.txt" as a +# readthedocs compatible alternative to "pip install -e ." which is a working +# alternative to "setup.py develop" which doesn't work with Mercurial 3.7 +.