summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Trigaux <mat@odoo.com>2019-11-14 10:12:22 +0000
committerChristophe Monniez <moc@odoo.com>2020-01-22 14:09:46 +0000
commit9aef423d4da93af97385e2bce8140ed789a00679 (patch)
tree801eaa280738cbbe1bab43c3f94e2b6fc9f32681
parentb980086d275fcb21a1233f5c9f8eb52238198b59 (diff)
[FIX] auth_ldap: replace the deprecated library by one up to date
At 795c7b0a9415d04 the external dependencies was changed from trying to import 'ldap' to checking than 'pyldap' package was installed. The problem is that pyldap is a unmaintained library that should no longer be used, as explained on the package page: https://pypi.org/project/pyldap/ "The pyldap fork was merged back into python-ldap, and released as python-ldap 3.0.0." Having pyldap version >= 3.0 installs python-ldap automatically and will not cause any issue. The Debian control file package name is adapted to use the latest. The "ldap" externalm dependency defined in __manifest__.py will cause pkg_resources.get_distribution() to fail in both case ("python-lap" or "pyldap"), but the "import" fallback will succeed. For that reason, the log warning is turned into a log info. closes odoo/odoo#43769 Note: This library should be replaced by the pure python "ldap3" library. X-original-commit: 1afd0ccf20881ba97e3c07dffb33e9a3a0b2cda4 Signed-off-by: Christophe Monniez (moc) <moc@odoo.com>
-rw-r--r--addons/auth_ldap/README.rst2
-rw-r--r--addons/auth_ldap/__manifest__.py2
-rwxr-xr-xaddons/point_of_sale/tools/posbox/overwrite_before_init/etc/init_posbox_image.sh2
-rw-r--r--debian/control2
-rw-r--r--odoo/addons/base/models/ir_module.py2
-rw-r--r--requirements.txt2
-rw-r--r--setup.cfg1
-rw-r--r--setup.py2
-rw-r--r--setup/win32/winpy_requirements.txt1
9 files changed, 7 insertions, 9 deletions
diff --git a/addons/auth_ldap/README.rst b/addons/auth_ldap/README.rst
index f31047def21..64f802b01e5 100644
--- a/addons/auth_ldap/README.rst
+++ b/addons/auth_ldap/README.rst
@@ -3,7 +3,7 @@ Adds support for authentication by LDAP server.
This module allows users to login with their LDAP username and password, and
will automatically create Odoo users for them on the fly.
-**Note:** This module only work on servers who have Python's ``ldap`` module installed.
+**Note:** This module only work on servers that have Python's ``python-ldap`` module installed.
Configuration:
--------------
diff --git a/addons/auth_ldap/__manifest__.py b/addons/auth_ldap/__manifest__.py
index d70b6a54508..fa17447c510 100644
--- a/addons/auth_ldap/__manifest__.py
+++ b/addons/auth_ldap/__manifest__.py
@@ -11,6 +11,6 @@
'views/res_config_settings_views.xml',
],
'external_dependencies': {
- 'python': ['pyldap'],
+ 'python': ['ldap'],
}
}
diff --git a/addons/point_of_sale/tools/posbox/overwrite_before_init/etc/init_posbox_image.sh b/addons/point_of_sale/tools/posbox/overwrite_before_init/etc/init_posbox_image.sh
index 82d0b6d96b0..44061121115 100755
--- a/addons/point_of_sale/tools/posbox/overwrite_before_init/etc/init_posbox_image.sh
+++ b/addons/point_of_sale/tools/posbox/overwrite_before_init/etc/init_posbox_image.sh
@@ -68,7 +68,7 @@ PKGS_TO_INSTALL="
python3-feedparser \
python3-pil \
python3-jinja2 \
- python3-ldap3 \
+ python3-ldap \
python3-lxml \
python3-mako \
python3-mock \
diff --git a/debian/control b/debian/control
index 629c52aa05a..0530ba7ace6 100644
--- a/debian/control
+++ b/debian/control
@@ -51,7 +51,7 @@ Replaces: tinyerp-server, openerp-server, openerp-web, openerp
Recommends:
${python3:Recommends},
postgresql,
- python3-pyldap,
+ python3-ldap,
Description: Open Source Apps To Grow Your Business
Odoo, formerly known as OpenERP, is a suite of open-source business apps
written in Python and released under the LGPLv3 license. This suite of
diff --git a/odoo/addons/base/models/ir_module.py b/odoo/addons/base/models/ir_module.py
index 83541629921..b10ca516f74 100644
--- a/odoo/addons/base/models/ir_module.py
+++ b/odoo/addons/base/models/ir_module.py
@@ -320,7 +320,7 @@ class Module(models.Model):
except pkg_resources.DistributionNotFound as e:
try:
importlib.import_module(pydep)
- _logger.warning("python external dependency %s should be replaced by it's PyPI package name", pydep)
+ _logger.info("python external dependency on '%s' does not appear to be a valid PyPI package. Using a PyPI package name is recommended.", pydep)
except ImportError:
# backward compatibility attempt failed
_logger.warning("DistributionNotFound: %s", e)
diff --git a/requirements.txt b/requirements.txt
index 278039dfa55..2e49ba7b682 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -28,7 +28,7 @@ psutil==5.5.1
psycopg2==2.7.7; sys_platform != 'win32'
psycopg2==2.8.3; sys_platform == 'win32'
pydot==1.4.1
-pyldap==2.4.28; sys_platform != 'win32'
+python-ldap==3.1.0; sys_platform != 'win32'
pyparsing==2.2.0
PyPDF2==1.26.0
pyserial==3.4
diff --git a/setup.cfg b/setup.cfg
index ffccdc094ac..3bcb7bb3686 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -33,7 +33,6 @@ requires =
python3-psycopg2
python3-polib
python3-pydot
- python3-pyldap
python3-pyparsing
python3-PyPDF2
python3-pyserial
diff --git a/setup.py b/setup.py
index 47ea33a5a82..80baf7e0b1a 100644
--- a/setup.py
+++ b/setup.py
@@ -59,7 +59,7 @@ setup(
],
python_requires='>=3.6',
extras_require={
- 'ldap': ['pyldap'],
+ 'ldap': ['python-ldap'],
'SSL': ['pyopenssl'],
},
tests_require=[
diff --git a/setup/win32/winpy_requirements.txt b/setup/win32/winpy_requirements.txt
index ad7081536b4..cfeece68d92 100644
--- a/setup/win32/winpy_requirements.txt
+++ b/setup/win32/winpy_requirements.txt
@@ -19,7 +19,6 @@ polib>=1.1.0
psutil>=4.3.1
psycopg2==2.7.1
pydot==1.2.3
-pyldap>=2.4.28
pyparsing==2.1.10
PyPDF2==1.26.0
pyserial==3.1.1