Compare commits
No commits in common. "c8" and "c9s" have entirely different histories.
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1 @@
|
||||
SOURCES/python-ldap-3.3.1.tar.gz
|
||||
/python_ldap-*.tar.gz
|
||||
|
||||
@ -1 +0,0 @@
|
||||
324f671225f10005b34e9cce2c0e307a96fa8ac3 SOURCES/python-ldap-3.3.1.tar.gz
|
||||
136
0001-Disable-openldap-servers-tests.patch
Normal file
136
0001-Disable-openldap-servers-tests.patch
Normal file
@ -0,0 +1,136 @@
|
||||
From eba004c1992ca7e21abb8af55ecd913f5ae0bdc6 Mon Sep 17 00:00:00 2001
|
||||
From: Simon Pichugin <spichugi@redhat.com>
|
||||
Date: Wed, 4 Jan 2023 15:30:15 -0800
|
||||
Subject: [PATCH] Disable openldap-servers tests
|
||||
|
||||
---
|
||||
Tests/t_bind.py | 1 +
|
||||
Tests/t_cext.py | 1 +
|
||||
Tests/t_edit.py | 1 +
|
||||
Tests/t_ldap_options.py | 1 +
|
||||
Tests/t_ldap_sasl.py | 1 +
|
||||
Tests/t_ldap_schema_subentry.py | 1 +
|
||||
Tests/t_ldap_syncrepl.py | 2 ++
|
||||
Tests/t_ldapobject.py | 1 +
|
||||
Tests/t_slapdobject.py | 1 +
|
||||
9 files changed, 10 insertions(+)
|
||||
|
||||
diff --git a/Tests/t_bind.py b/Tests/t_bind.py
|
||||
index ba90c4c..653b871 100644
|
||||
--- a/Tests/t_bind.py
|
||||
+++ b/Tests/t_bind.py
|
||||
@@ -9,6 +9,7 @@ from ldap.ldapobject import LDAPObject
|
||||
from slapdtest import SlapdTestCase
|
||||
|
||||
|
||||
+@unittest.skip("openldap-server package is absent")
|
||||
class TestBinds(SlapdTestCase):
|
||||
unicode_val = "abc\U0001f498def"
|
||||
unicode_val_bytes = unicode_val.encode('utf-8')
|
||||
diff --git a/Tests/t_cext.py b/Tests/t_cext.py
|
||||
index 33fbf29..8035354 100644
|
||||
--- a/Tests/t_cext.py
|
||||
+++ b/Tests/t_cext.py
|
||||
@@ -17,6 +17,7 @@ import _ldap
|
||||
from slapdtest import SlapdTestCase, requires_tls, requires_init_fd
|
||||
|
||||
|
||||
+@unittest.skip("openldap-server package is absent")
|
||||
class TestLdapCExtension(SlapdTestCase):
|
||||
"""
|
||||
These tests apply only to the _ldap module and therefore bypass the
|
||||
diff --git a/Tests/t_edit.py b/Tests/t_edit.py
|
||||
index 5d8b3f0..757de9d 100644
|
||||
--- a/Tests/t_edit.py
|
||||
+++ b/Tests/t_edit.py
|
||||
@@ -9,6 +9,7 @@ from ldap.ldapobject import LDAPObject
|
||||
from slapdtest import SlapdTestCase
|
||||
|
||||
|
||||
+@unittest.skip("openldap-server package is absent")
|
||||
class EditionTests(SlapdTestCase):
|
||||
|
||||
@classmethod
|
||||
diff --git a/Tests/t_ldap_options.py b/Tests/t_ldap_options.py
|
||||
index e9bef59..2fea7a3 100644
|
||||
--- a/Tests/t_ldap_options.py
|
||||
+++ b/Tests/t_ldap_options.py
|
||||
@@ -135,6 +135,7 @@ class TestGlobalOptions(BaseTestOptions, unittest.TestCase):
|
||||
return ldap.set_option(option, value)
|
||||
|
||||
|
||||
+@unittest.skip("openldap-server package is absent")
|
||||
class TestLDAPObjectOptions(BaseTestOptions, SlapdTestCase):
|
||||
"""Test setting/getting connection-specific options
|
||||
"""
|
||||
diff --git a/Tests/t_ldap_sasl.py b/Tests/t_ldap_sasl.py
|
||||
index 40ab27e..ef6aec0 100644
|
||||
--- a/Tests/t_ldap_sasl.py
|
||||
+++ b/Tests/t_ldap_sasl.py
|
||||
@@ -37,6 +37,7 @@ cn: {certuser}
|
||||
"""
|
||||
|
||||
|
||||
+@unittest.skip("openldap-server package is absent")
|
||||
@requires_sasl()
|
||||
class TestSasl(SlapdTestCase):
|
||||
ldap_object_class = SimpleLDAPObject
|
||||
diff --git a/Tests/t_ldap_schema_subentry.py b/Tests/t_ldap_schema_subentry.py
|
||||
index 60a584d..691fc5b 100644
|
||||
--- a/Tests/t_ldap_schema_subentry.py
|
||||
+++ b/Tests/t_ldap_schema_subentry.py
|
||||
@@ -236,6 +236,7 @@ class TestAttributes(unittest.TestCase):
|
||||
self.assertEqual(cls.x_origin, ('RFC 4519',))
|
||||
|
||||
|
||||
+@unittest.skip("openldap-server package is absent")
|
||||
class TestSubschemaUrlfetchSlapd(SlapdTestCase):
|
||||
ldap_object_class = SimpleLDAPObject
|
||||
|
||||
diff --git a/Tests/t_ldap_syncrepl.py b/Tests/t_ldap_syncrepl.py
|
||||
index 6acc82c..7e54830 100644
|
||||
--- a/Tests/t_ldap_syncrepl.py
|
||||
+++ b/Tests/t_ldap_syncrepl.py
|
||||
@@ -265,6 +265,7 @@ class SyncreplClient(SimpleLDAPObject, SyncreplConsumer):
|
||||
pass
|
||||
|
||||
|
||||
+@unittest.skip("openldap-server package is absent")
|
||||
class BaseSyncreplTests:
|
||||
"""
|
||||
This is a test of all the basic Syncrepl operations. It covers starting a
|
||||
@@ -430,6 +431,7 @@ class BaseSyncreplTests:
|
||||
# should pick it up during the persist phase.
|
||||
|
||||
|
||||
+@unittest.skip("openldap-server package is absent")
|
||||
class TestSyncrepl(BaseSyncreplTests, SlapdTestCase):
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
diff --git a/Tests/t_ldapobject.py b/Tests/t_ldapobject.py
|
||||
index ccc7d21..dc7a4b8 100644
|
||||
--- a/Tests/t_ldapobject.py
|
||||
+++ b/Tests/t_ldapobject.py
|
||||
@@ -88,6 +88,7 @@ olcObjectClasses: ( 1.3.6.1.4.1.56207.1.2.2 NAME 'myClass'
|
||||
X-ORIGIN 'foobar' )"""
|
||||
|
||||
|
||||
+@unittest.skip("openldap-server package is absent")
|
||||
class Test00_SimpleLDAPObject(SlapdTestCase):
|
||||
"""
|
||||
test LDAP search operations
|
||||
diff --git a/Tests/t_slapdobject.py b/Tests/t_slapdobject.py
|
||||
index e1cc971..c9b693d 100644
|
||||
--- a/Tests/t_slapdobject.py
|
||||
+++ b/Tests/t_slapdobject.py
|
||||
@@ -3,6 +3,7 @@ import unittest
|
||||
import slapdtest
|
||||
|
||||
|
||||
+@unittest.skip("openldap-server package is absent")
|
||||
class TestSlapdObject(unittest.TestCase):
|
||||
def test_context_manager(self):
|
||||
with slapdtest.SlapdObject() as server:
|
||||
--
|
||||
2.38.1
|
||||
|
||||
424
0001-Revert-Package-python-ldap-with-pyproject.toml-589.patch
Normal file
424
0001-Revert-Package-python-ldap-with-pyproject.toml-589.patch
Normal file
@ -0,0 +1,424 @@
|
||||
From 79604d5b0af4f1b8c9ca252fc875b9714e9b8f6c Mon Sep 17 00:00:00 2001
|
||||
From: Simon Pichugin <spichugi@redhat.com>
|
||||
Date: Wed, 22 Apr 2026 21:50:52 -0700
|
||||
Subject: [PATCH] Revert "Package python-ldap with pyproject.toml (#589)"
|
||||
|
||||
This reverts commit f49bb2dd2234f25404ad1679786de007444ce219.
|
||||
---
|
||||
.coveragerc | 27 +++++++++
|
||||
.gitignore | 2 +
|
||||
Doc/installing.rst | 30 +++-------
|
||||
Doc/spelling_wordlist.txt | 4 --
|
||||
INSTALL | 3 +-
|
||||
MANIFEST.in | 2 +-
|
||||
Makefile | 1 +
|
||||
pyproject.toml | 112 ++------------------------------------
|
||||
setup.py | 77 ++++++++++++++++++++++++--
|
||||
tox.ini | 1 -
|
||||
10 files changed, 120 insertions(+), 139 deletions(-)
|
||||
create mode 100644 .coveragerc
|
||||
|
||||
diff --git a/.coveragerc b/.coveragerc
|
||||
new file mode 100644
|
||||
index 0000000..738d86f
|
||||
--- /dev/null
|
||||
+++ b/.coveragerc
|
||||
@@ -0,0 +1,27 @@
|
||||
+[run]
|
||||
+branch = True
|
||||
+source =
|
||||
+ ldap
|
||||
+ ldif
|
||||
+ ldapurl
|
||||
+ slapdtest
|
||||
+
|
||||
+[paths]
|
||||
+source =
|
||||
+ Lib/
|
||||
+ .tox/*/lib/python*/site-packages/
|
||||
+
|
||||
+[report]
|
||||
+ignore_errors = False
|
||||
+precision = 1
|
||||
+exclude_lines =
|
||||
+ pragma: no cover
|
||||
+ raise NotImplementedError
|
||||
+ if 0:
|
||||
+ if __name__ == .__main__.:
|
||||
+ if PY2
|
||||
+ if not PY2
|
||||
+
|
||||
+[html]
|
||||
+directory = build/htmlcov
|
||||
+title = python-ldap coverage report
|
||||
diff --git a/.gitignore b/.gitignore
|
||||
index 75a1353..bab2187 100644
|
||||
--- a/.gitignore
|
||||
+++ b/.gitignore
|
||||
@@ -3,6 +3,8 @@
|
||||
*.pyc
|
||||
__pycache__/
|
||||
.tox
|
||||
+.coverage*
|
||||
+!.coveragerc
|
||||
/.cache
|
||||
/.pytest_cache
|
||||
|
||||
diff --git a/Doc/installing.rst b/Doc/installing.rst
|
||||
index 1c7ec8c..03e7a29 100644
|
||||
--- a/Doc/installing.rst
|
||||
+++ b/Doc/installing.rst
|
||||
@@ -76,23 +76,12 @@ The CVS repository of FreeBSD contains the package
|
||||
macOS
|
||||
-----
|
||||
|
||||
-You can install directly with pip. First install Xcode command line tools::
|
||||
+You can install directly with pip::
|
||||
|
||||
$ xcode-select --install
|
||||
-
|
||||
-Then install python-ldap::
|
||||
-
|
||||
- $ pip install python-ldap
|
||||
-
|
||||
-For custom installations, you may need to set environment variables::
|
||||
-
|
||||
- $ export CPPFLAGS="-I$(xcrun --show-sdk-path)/usr/include/sasl"
|
||||
- $ pip install python-ldap
|
||||
-
|
||||
-If using Homebrew::
|
||||
-
|
||||
- $ brew install openldap
|
||||
- $ pip install python-ldap
|
||||
+ $ pip install python-ldap \
|
||||
+ --global-option=build_ext \
|
||||
+ --global-option="-I$(xcrun --show-sdk-path)/usr/include/sasl"
|
||||
|
||||
|
||||
.. _install-source:
|
||||
@@ -101,14 +90,11 @@ Installing from Source
|
||||
======================
|
||||
|
||||
|
||||
-python-ldap is built and installed using modern Python packaging standards
|
||||
-with pyproject.toml configuration. From a source repository::
|
||||
-
|
||||
- $ pip install .
|
||||
-
|
||||
-For development installation with editable mode::
|
||||
+python-ldap is built and installed using the Python setuptools.
|
||||
+From a source repository::
|
||||
|
||||
- $ pip install -e .
|
||||
+ $ python -m pip install setuptools
|
||||
+ $ python setup.py install
|
||||
|
||||
If you have more than one Python interpreter installed locally, you should
|
||||
use the same one you plan to use python-ldap with.
|
||||
diff --git a/Doc/spelling_wordlist.txt b/Doc/spelling_wordlist.txt
|
||||
index 42a8540..8cdd9f1 100644
|
||||
--- a/Doc/spelling_wordlist.txt
|
||||
+++ b/Doc/spelling_wordlist.txt
|
||||
@@ -60,7 +60,6 @@ func
|
||||
Gohlke
|
||||
GPG
|
||||
Heimdal
|
||||
-Homebrew
|
||||
hostport
|
||||
hrefTarget
|
||||
hrefText
|
||||
@@ -108,7 +107,6 @@ previousDN
|
||||
processResultsCount
|
||||
Proxied
|
||||
py
|
||||
-pyproject
|
||||
pytest
|
||||
rdn
|
||||
readthedocs
|
||||
@@ -149,7 +147,6 @@ syncrepl
|
||||
syntaxes
|
||||
timelimit
|
||||
TLS
|
||||
-toml
|
||||
tracebacks
|
||||
tuple
|
||||
tuples
|
||||
@@ -166,6 +163,5 @@ userPassword
|
||||
usr
|
||||
uuids
|
||||
Valgrind
|
||||
-Xcode
|
||||
whitespace
|
||||
workflow
|
||||
diff --git a/INSTALL b/INSTALL
|
||||
index 224df4a..b9b13d2 100644
|
||||
--- a/INSTALL
|
||||
+++ b/INSTALL
|
||||
@@ -1,7 +1,8 @@
|
||||
Quick build instructions:
|
||||
|
||||
edit setup.cfg (see Build/ for platform-specific examples)
|
||||
- pip install .
|
||||
+ python setup.py build
|
||||
+ python setup.py install
|
||||
|
||||
Detailed instructions are in Doc/installing.rst, or online at:
|
||||
|
||||
diff --git a/MANIFEST.in b/MANIFEST.in
|
||||
index bedea8d..687d2b0 100644
|
||||
--- a/MANIFEST.in
|
||||
+++ b/MANIFEST.in
|
||||
@@ -1,5 +1,5 @@
|
||||
include MANIFEST.in Makefile CHANGES INSTALL LICENCE README TODO
|
||||
-include tox.ini
|
||||
+include tox.ini .coveragerc
|
||||
include Modules/*.c Modules/*.h
|
||||
recursive-include Build *.cfg*
|
||||
recursive-include Lib *.py
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 2c8efdb..577ba88 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -20,6 +20,7 @@ Modules/constants_generated.h: Lib/ldap/constants.py
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -rf build dist *.egg-info .tox MANIFEST
|
||||
+ rm -f .coverage .coverage.*
|
||||
find . \( -name '*.py[co]' -or -name '*.so*' -or -name '*.dylib' \) \
|
||||
-delete
|
||||
find . -depth -name __pycache__ -exec rm -rf {} \;
|
||||
diff --git a/pyproject.toml b/pyproject.toml
|
||||
index 8781155..dda8dbc 100644
|
||||
--- a/pyproject.toml
|
||||
+++ b/pyproject.toml
|
||||
@@ -1,108 +1,8 @@
|
||||
-[build-system]
|
||||
-requires = [
|
||||
- "setuptools",
|
||||
- "setuptools-scm",
|
||||
-]
|
||||
-build-backend = "setuptools.build_meta"
|
||||
-
|
||||
-[project]
|
||||
-name = "python-ldap"
|
||||
-license.text = "python-ldap" # Replace with 'license' once Python 3.8 is dropped
|
||||
-dynamic = ["version"]
|
||||
-description = "Python modules for implementing LDAP clients"
|
||||
-authors = [
|
||||
- {name = "python-ldap project", email = "python-ldap@python.org"},
|
||||
-]
|
||||
-readme = "README"
|
||||
-requires-python = ">=3.6"
|
||||
-keywords = ["ldap", "directory", "authentication"]
|
||||
-classifiers = [
|
||||
- "Development Status :: 5 - Production/Stable",
|
||||
- "Intended Audience :: Developers",
|
||||
- "Intended Audience :: System Administrators",
|
||||
- "Operating System :: OS Independent",
|
||||
- "Operating System :: MacOS :: MacOS X",
|
||||
- "Operating System :: Microsoft :: Windows",
|
||||
- "Operating System :: POSIX",
|
||||
- "Programming Language :: C",
|
||||
- "Programming Language :: Python",
|
||||
- "Programming Language :: Python :: 3",
|
||||
- "Programming Language :: Python :: 3.6",
|
||||
- "Programming Language :: Python :: 3.7",
|
||||
- "Programming Language :: Python :: 3.8",
|
||||
- "Programming Language :: Python :: 3.9",
|
||||
- "Programming Language :: Python :: 3.10",
|
||||
- "Programming Language :: Python :: 3.11",
|
||||
- "Programming Language :: Python :: 3.12",
|
||||
- "Programming Language :: Python :: 3.13",
|
||||
- "Topic :: Database",
|
||||
- "Topic :: Internet",
|
||||
- "Topic :: Software Development :: Libraries :: Python Modules",
|
||||
- "Topic :: System :: Systems Administration :: Authentication/Directory :: LDAP",
|
||||
- "License :: OSI Approved :: Python Software Foundation License",
|
||||
-]
|
||||
-dependencies = [
|
||||
- "pyasn1 >= 0.3.7",
|
||||
- "pyasn1_modules >= 0.1.5",
|
||||
-]
|
||||
-
|
||||
-[project.urls]
|
||||
-Homepage = "https://www.python-ldap.org/"
|
||||
-Documentation = "https://python-ldap.readthedocs.io/"
|
||||
-Repository = "https://github.com/python-ldap/python-ldap"
|
||||
-Download = "https://pypi.org/project/python-ldap/"
|
||||
-Changelog = "https://github.com/python-ldap/python-ldap/blob/main/CHANGES"
|
||||
-
|
||||
-
|
||||
-
|
||||
-[tool.setuptools]
|
||||
-zip-safe = false
|
||||
-include-package-data = true
|
||||
-license-files = ["LICENCE", "LICENCE.MIT"]
|
||||
-# Explicitly list all Python modules
|
||||
-py-modules = ["ldapurl", "ldif"]
|
||||
-
|
||||
-[tool.setuptools.dynamic]
|
||||
-version = {attr = "ldap.pkginfo.__version__"}
|
||||
-
|
||||
-[tool.setuptools.packages.find]
|
||||
-where = ["Lib"]
|
||||
-
|
||||
-[tool.setuptools.package-dir]
|
||||
-"" = "Lib"
|
||||
+[tool.black]
|
||||
+line-length = 88
|
||||
+target-version = ['py36', 'py37', 'py38']
|
||||
|
||||
[tool.isort]
|
||||
-line_length = 88
|
||||
-known_first_party = ["ldap", "_ldap", "ldapurl", "ldif", "slapdtest"]
|
||||
-sections = ["FUTURE", "STDLIB", "THIRDPARTY", "FIRSTPARTY", "LOCALFOLDER"]
|
||||
-
|
||||
-[tool.coverage.run]
|
||||
-branch = true
|
||||
-source = [
|
||||
- "ldap",
|
||||
- "ldif",
|
||||
- "ldapurl",
|
||||
- "slapdtest",
|
||||
-]
|
||||
-
|
||||
-[tool.coverage.paths]
|
||||
-source = [
|
||||
- "Lib/",
|
||||
- ".tox/*/lib/python*/site-packages/",
|
||||
-]
|
||||
-
|
||||
-[tool.coverage.report]
|
||||
-ignore_errors = false
|
||||
-precision = 1
|
||||
-exclude_lines = [
|
||||
- "pragma: no cover",
|
||||
- "raise NotImplementedError",
|
||||
- "if 0:",
|
||||
- "if __name__ == .__main__.:",
|
||||
- "if PY2",
|
||||
- "if not PY2",
|
||||
-]
|
||||
-
|
||||
-[tool.coverage.html]
|
||||
-directory = "build/htmlcov"
|
||||
-title = "python-ldap coverage report"
|
||||
+line_length=88
|
||||
+known_first_party=['ldap', '_ldap', 'ldapurl', 'ldif', 'slapdtest']
|
||||
+sections=['FUTURE', 'STDLIB', 'THIRDPARTY', 'FIRSTPARTY', 'LOCALFOLDER']
|
||||
diff --git a/setup.py b/setup.py
|
||||
index 9ad6996..ad9d93b 100644
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -1,9 +1,7 @@
|
||||
"""
|
||||
-setup.py - C extension module configuration for python-ldap
|
||||
+setup.py - Setup package with the help Python's DistUtils
|
||||
|
||||
See https://www.python-ldap.org/ for details.
|
||||
-This file handles only the C extension modules (_ldap) configuration,
|
||||
-while pyproject.toml handles all project metadata, dependencies, and other settings.
|
||||
"""
|
||||
|
||||
import sys,os
|
||||
@@ -56,8 +54,55 @@ if os.environ.get('WITH_GCOV'):
|
||||
LDAP_CLASS.extra_link_args.append('-pg')
|
||||
LDAP_CLASS.libs.append('gcov')
|
||||
|
||||
-#-- C extension modules configuration only
|
||||
+#-- Let distutils/setuptools do the rest
|
||||
+name = 'python-ldap'
|
||||
+
|
||||
setup(
|
||||
+ #-- Package description
|
||||
+ name = name,
|
||||
+ license=pkginfo.__license__,
|
||||
+ version=pkginfo.__version__,
|
||||
+ description = 'Python modules for implementing LDAP clients',
|
||||
+ long_description = """python-ldap:
|
||||
+ python-ldap provides an object-oriented API to access LDAP directory servers
|
||||
+ from Python programs. Mainly it wraps the OpenLDAP 2.x libs for that purpose.
|
||||
+ Additionally the package contains modules for other LDAP-related stuff
|
||||
+ (e.g. processing LDIF, LDAPURLs, LDAPv3 schema, LDAPv3 extended operations
|
||||
+ and controls, etc.).
|
||||
+ """,
|
||||
+ author = 'python-ldap project',
|
||||
+ author_email = 'python-ldap@python.org',
|
||||
+ url = 'https://www.python-ldap.org/',
|
||||
+ download_url = 'https://pypi.org/project/python-ldap/',
|
||||
+ classifiers = [
|
||||
+ 'Development Status :: 5 - Production/Stable',
|
||||
+ 'Intended Audience :: Developers',
|
||||
+ 'Intended Audience :: System Administrators',
|
||||
+ 'Operating System :: OS Independent',
|
||||
+ 'Operating System :: MacOS :: MacOS X',
|
||||
+ 'Operating System :: Microsoft :: Windows',
|
||||
+ 'Operating System :: POSIX',
|
||||
+ 'Programming Language :: C',
|
||||
+
|
||||
+ 'Programming Language :: Python',
|
||||
+ 'Programming Language :: Python :: 3',
|
||||
+ 'Programming Language :: Python :: 3.6',
|
||||
+ 'Programming Language :: Python :: 3.7',
|
||||
+ 'Programming Language :: Python :: 3.8',
|
||||
+ 'Programming Language :: Python :: 3.9',
|
||||
+ 'Programming Language :: Python :: 3.10',
|
||||
+ 'Programming Language :: Python :: 3.11',
|
||||
+ 'Programming Language :: Python :: 3.12',
|
||||
+ 'Programming Language :: Python :: 3.13',
|
||||
+ # Note: when updating Python versions, also change tox.ini and .github/workflows/*
|
||||
+
|
||||
+ 'Topic :: Database',
|
||||
+ 'Topic :: Internet',
|
||||
+ 'Topic :: Software Development :: Libraries :: Python Modules',
|
||||
+ 'Topic :: System :: Systems Administration :: Authentication/Directory :: LDAP',
|
||||
+ 'License :: OSI Approved :: Python Software Foundation License',
|
||||
+ ],
|
||||
+ #-- C extension modules
|
||||
ext_modules = [
|
||||
Extension(
|
||||
'_ldap',
|
||||
@@ -100,4 +145,28 @@ setup(
|
||||
]
|
||||
),
|
||||
],
|
||||
+ #-- Python "stand alone" modules
|
||||
+ py_modules = [
|
||||
+ 'ldapurl',
|
||||
+ 'ldif',
|
||||
+
|
||||
+ ],
|
||||
+ packages = [
|
||||
+ 'ldap',
|
||||
+ 'ldap.controls',
|
||||
+ 'ldap.extop',
|
||||
+ 'ldap.schema',
|
||||
+ 'slapdtest',
|
||||
+ 'slapdtest.certs',
|
||||
+ ],
|
||||
+ package_dir = {'': 'Lib',},
|
||||
+ data_files = LDAP_CLASS.extra_files,
|
||||
+ include_package_data=True,
|
||||
+ install_requires=[
|
||||
+ 'pyasn1 >= 0.3.7',
|
||||
+ 'pyasn1_modules >= 0.1.5',
|
||||
+ ],
|
||||
+ zip_safe=False,
|
||||
+ python_requires='>=3.6',
|
||||
+ test_suite = 'Tests',
|
||||
)
|
||||
diff --git a/tox.ini b/tox.ini
|
||||
index d0cc0ad..d442cd2 100644
|
||||
--- a/tox.ini
|
||||
+++ b/tox.ini
|
||||
@@ -34,7 +34,6 @@ commands = {envpython} -bb -Werror \
|
||||
setenv =
|
||||
CFLAGS=-Wno-int-in-bool-context -Werror -std=c99
|
||||
|
||||
-
|
||||
[testenv:py3-nosasltls]
|
||||
basepython = python3
|
||||
# don't install, install dependencies manually
|
||||
--
|
||||
2.52.0
|
||||
|
||||
7
gating.yaml
Normal file
7
gating.yaml
Normal file
@ -0,0 +1,7 @@
|
||||
# recipients: abokovoy, frenaud, kaleem, ftrivino, cheimes
|
||||
--- !Policy
|
||||
product_versions:
|
||||
- rhel-9
|
||||
decision_context: osci_compose_gate
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}
|
||||
@ -1,49 +1,28 @@
|
||||
### Abstract ###
|
||||
# global prerelease b4
|
||||
|
||||
# Fix for https://bugzilla.redhat.com/show_bug.cgi?id=1520990
|
||||
# openldap does not re-register nss shutdown callbacks after nss_Shutdown is
|
||||
# called.
|
||||
%if 0%{?fedora} <= 26
|
||||
%global openldap_version 2.4.45-2
|
||||
%else # F27+
|
||||
%global openldap_version 2.4.45-4
|
||||
%endif
|
||||
|
||||
%bcond_with python2
|
||||
|
||||
Name: python-ldap
|
||||
Version: 3.3.1
|
||||
Release: 2%{?dist}
|
||||
Version: 3.4.5
|
||||
Release: 1%{?dist}
|
||||
License: Python
|
||||
Group: System Environment/Libraries
|
||||
Summary: An object-oriented API to access LDAP directory servers
|
||||
URL: http://python-ldap.org/
|
||||
Source0: https://files.pythonhosted.org/packages/source/p/%{name}/%{name}-%{version}%{?prerelease}.tar.gz
|
||||
URL: https://python-ldap.org/
|
||||
Source0: %{pypi_source python_ldap}
|
||||
|
||||
Patch0001: 0001-Fix-SASL-get-set-options-on-big-endian-platforms.patch
|
||||
Patch0001: 0001-Disable-openldap-servers-tests.patch
|
||||
Patch0002: 0001-Revert-Package-python-ldap-with-pyproject.toml-589.patch
|
||||
|
||||
### Build Dependencies ###
|
||||
BuildRequires: gcc
|
||||
BuildRequires: openldap-devel >= %{openldap_version}
|
||||
BuildRequires: openssl-devel
|
||||
BuildRequires: cyrus-sasl-devel
|
||||
%if %{with python2}
|
||||
BuildRequires: python2-devel
|
||||
BuildRequires: python2-setuptools
|
||||
%endif #{with python2}
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: python3-setuptools
|
||||
# Test dependencies
|
||||
%if %{with python2}
|
||||
BuildRequires: python2-pytest
|
||||
BuildRequires: python2-coverage
|
||||
BuildRequires: python2-pyasn1 >= 0.3.7
|
||||
BuildRequires: python2-pyasn1-modules >= 0.1.5
|
||||
%endif #{with python2}
|
||||
BuildRequires: python3-pytest
|
||||
BuildRequires: openldap-servers >= %{openldap_version}
|
||||
BuildRequires: openldap-clients >= %{openldap_version}
|
||||
BuildRequires: python3-coverage
|
||||
BuildRequires: python3-pyasn1 >= 0.3.7
|
||||
BuildRequires: python3-pyasn1-modules >= 0.1.5
|
||||
|
||||
@ -56,33 +35,13 @@ OpenLDAP 2.x libraries, and contains modules for other LDAP-related tasks\
|
||||
%description %_description
|
||||
|
||||
|
||||
%if %{with python2}
|
||||
%package -n python2-ldap
|
||||
Summary: %summary
|
||||
|
||||
Requires: openldap >= %{openldap_version}
|
||||
Requires: python2-pyasn1 >= 0.3.7
|
||||
Requires: python2-pyasn1-modules >= 0.1.5
|
||||
Requires: python2-setuptools
|
||||
|
||||
Provides: python2-ldap%{?_isa} = %{version}-%{release}
|
||||
%{?python_provide:%python_provide python2-ldap}
|
||||
|
||||
%description -n python2-ldap %_description
|
||||
%endif #{with python2}
|
||||
|
||||
|
||||
%package -n python3-ldap
|
||||
Summary: %{summary}
|
||||
|
||||
Requires: openldap >= %{openldap_version}
|
||||
Requires: python3-pyasn1 >= 0.3.7
|
||||
Requires: python3-pyasn1-modules >= 0.1.5
|
||||
%if 0%{?rhel} && 0%{?rhel} >= 8
|
||||
Requires: platform-python-setuptools
|
||||
%else
|
||||
Requires: python3-setuptools
|
||||
%endif
|
||||
%{?python_provide:%python_provide python3-ldap}
|
||||
Obsoletes: python3-pyldap < 3
|
||||
Provides: python3-pyldap = %{version}-%{release}
|
||||
@ -92,109 +51,108 @@ Provides: python3-pyldap%{?_isa} = %{version}-%{release}
|
||||
|
||||
|
||||
%prep
|
||||
%setup -qc
|
||||
pushd %{name}-%{version}%{?prerelease}
|
||||
%patch1 -p1
|
||||
popd
|
||||
|
||||
mv %{name}-%{version}%{?prerelease} python3
|
||||
cp -a python{3,2}
|
||||
|
||||
%autosetup -p1 -n python_ldap-%{version}%{?prerelease}
|
||||
# Fix interpreter
|
||||
%if %{with python2}
|
||||
find python2 -name '*.py' | xargs sed -i '1s|^#!/usr/bin/env python|#!%{__python2}|'
|
||||
%endif #{with python2}
|
||||
find python3 -name '*.py' | xargs sed -i '1s|^#!/usr/bin/env python|#!%{__python3}|'
|
||||
|
||||
# Disable warnings in test to work around "'U' mode is deprecated"
|
||||
# https://github.com/python-ldap/python-ldap/issues/96
|
||||
sed -i 's,-Werror,-Wignore,g' python3/tox.ini
|
||||
find . -name '*.py' | xargs sed -i '1s|^#!/usr/bin/env python|#!%{__python3}|'
|
||||
|
||||
|
||||
%build
|
||||
%if %{with python2}
|
||||
pushd python2
|
||||
%py2_build
|
||||
popd
|
||||
%endif #%{with python2}
|
||||
pushd python3
|
||||
%py3_build
|
||||
popd
|
||||
|
||||
|
||||
%check
|
||||
%if %{with python2}
|
||||
pushd python2
|
||||
LANG=C.UTF-8 LOGLEVEL=10 \
|
||||
PYTHONPATH=%{buildroot}%{python2_sitearch} %{__python2} -m pytest
|
||||
popd
|
||||
%endif #{with python2}
|
||||
|
||||
pushd python3
|
||||
LANG=C.UTF-8 LOGLEVEL=10 \
|
||||
PYTHONPATH=%{buildroot}%{python3_sitearch} %{__python3} -m pytest
|
||||
popd
|
||||
PYTHONPATH=%{buildroot}%{python3_sitearch} %{__python3} -m unittest discover -v -s Tests -p 't_*'
|
||||
|
||||
|
||||
%install
|
||||
%if %{with python2}
|
||||
pushd python2
|
||||
%py2_install
|
||||
popd
|
||||
%endif #{with python2}
|
||||
|
||||
pushd python3
|
||||
%py3_install
|
||||
popd
|
||||
|
||||
|
||||
%if %{with python2}
|
||||
%files -n python2-ldap
|
||||
%defattr(-,root,root,-)
|
||||
%license python2/LICENCE
|
||||
%doc python2/CHANGES python2/README python2/TODO python2/Demo
|
||||
%{python_sitearch}/_ldap.so
|
||||
%{python_sitearch}/ldapurl.py*
|
||||
%{python_sitearch}/ldif.py*
|
||||
%{python_sitearch}/slapdtest/
|
||||
%{python_sitearch}/ldap/
|
||||
%{python_sitearch}/python_ldap-%{version}%{?prerelease}-py2.7.egg-info
|
||||
%endif %#with python2}
|
||||
|
||||
%files -n python3-ldap
|
||||
%defattr(-,root,root,-)
|
||||
%license python3/LICENCE
|
||||
%doc python3/CHANGES python3/README python3/TODO python3/Demo
|
||||
%license LICENCE
|
||||
%doc CHANGES README TODO Demo
|
||||
%{python3_sitearch}/_ldap.cpython-*.so
|
||||
%{python3_sitearch}/ldapurl.py*
|
||||
%{python3_sitearch}/ldif.py*
|
||||
%{python3_sitearch}/__pycache__/*
|
||||
%{python3_sitearch}/slapdtest/
|
||||
%{python3_sitearch}/ldap/
|
||||
%{python3_sitearch}/python_ldap-%{version}%{?prerelease}-py%{python3_version}.egg-info
|
||||
%{python3_sitearch}/python_ldap-%{version}%{?prerelease}-py%{python3_version}.egg-info/
|
||||
|
||||
%changelog
|
||||
* Mon Jun 28 2021 Christian Heimes <cheimes@redhat.com> - 3.3.1-2
|
||||
* Fri Apr 24 2026 Simon Pichugin <spichugi@redhat.com> - 3.4.5-1
|
||||
- New upstream release 3.4.5
|
||||
- Resolves: RHEL-155663
|
||||
|
||||
* Thu Jan 12 2023 Simon Pichugin <spichugi@redhat.com> - 3.4.3-2
|
||||
- Fix changelog date typo
|
||||
Related: rhbz#2158289
|
||||
|
||||
* Wed Jan 11 2023 Simon Pichugin <spichugi@redhat.com> - 3.4.3-1
|
||||
- New upstream release 3.4.3
|
||||
Resolves: rhbz#2158289
|
||||
|
||||
* Fri Jul 29 2022 Simon Pichugin <spichugi@redhat.com> - 3.3.1-9
|
||||
- Disable openldap-servers tests as the package is fully deprecated
|
||||
Resolves: rhbz#2102940
|
||||
|
||||
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 3.3.1-8
|
||||
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
||||
Related: rhbz#1991688
|
||||
|
||||
* Mon Jun 28 2021 Christian Heimes <cheimes@redhat.com> - 3.3.1-7
|
||||
- Fix SASL get/set options on big endian platforms
|
||||
- Resolves: #1931865
|
||||
- Resolves: rhbz#1976827
|
||||
|
||||
* Wed Oct 21 2020 Christian Heimes <cheimes@redhat.com> - 3.3.1-1
|
||||
- New upstream release 3.1.0
|
||||
- Resolves: rhbz#1889615
|
||||
* Tue Jun 22 2021 Mohan Boddu <mboddu@redhat.com> - 3.3.1-6
|
||||
- Rebuilt for RHEL 9 BETA for openssl 3.0
|
||||
Related: rhbz#1971065
|
||||
|
||||
* Fri Nov 16 2018 Lumír Balhar <lbalhar@redhat.com> - 3.1.0-5
|
||||
- Require platform-python-setuptools instead of python3-setuptools
|
||||
- Resolves: rhbz#1650537
|
||||
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 3.3.1-5
|
||||
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
||||
|
||||
* Mon Jul 09 2018 Petr Viktorin <pviktori@redhat.com> - 3.1.0-4
|
||||
- Don't build the python2 subpackage
|
||||
(fix for the previous commit)
|
||||
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.1-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Wed Jun 27 2018 Petr Viktorin <pviktori@redhat.com> - 3.1.0-3
|
||||
- Conditionalize, and don't build, the python2 subpackage
|
||||
* Thu Jan 21 17:53:26 CET 2021 Christian Heimes <cheimes@redhat.com> - 3.3.1-3
|
||||
- Run test suite without tox (#1918913)
|
||||
|
||||
* Wed Jun 20 2018 Petr Viktorin <pviktori@redhat.com> - 3.1.0-2
|
||||
- In %%check, use pytest directly rather than tox
|
||||
* Fri Nov 13 2020 Miro Hrončok <mhroncok@redhat.com> - 3.3.1-2
|
||||
- Use https in URL
|
||||
- Drop build dependency on python3-coverage
|
||||
|
||||
* Thu Oct 22 2020 Christian Heimes <cheimes@redhat.com> - 3.3.1-1
|
||||
- New upstream release 3.3.1
|
||||
|
||||
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.0-11
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Sun May 24 2020 Miro Hrončok <mhroncok@redhat.com> - 3.1.0-10
|
||||
- Rebuilt for Python 3.9
|
||||
|
||||
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.0-9
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Wed Oct 23 2019 Miro Hrončok <mhroncok@redhat.com> - 3.1.0-8
|
||||
- Subpackage python2-ldap has been removed
|
||||
See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal
|
||||
|
||||
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 3.1.0-7
|
||||
- Rebuilt for Python 3.8.0rc1 (#1748018)
|
||||
|
||||
* Fri Aug 16 2019 Miro Hrončok <mhroncok@redhat.com> - 3.1.0-6
|
||||
- Rebuilt for Python 3.8
|
||||
|
||||
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.0-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.0-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Mon Jun 18 2018 Miro Hrončok <mhroncok@redhat.com> - 3.1.0-2
|
||||
- Rebuilt for Python 3.7
|
||||
|
||||
* Fri May 25 2018 Christian Heimes <cheimes@redhat.com> - 3.1.0-1
|
||||
- New upstream release 3.1.0
|
||||
1
sources
Normal file
1
sources
Normal file
@ -0,0 +1 @@
|
||||
SHA512 (python_ldap-3.4.5.tar.gz) = c2561b6ac6deb5ec10006767310414f1754eb010633fb670c0abc4c268ef5c15a3b84b049cc38b78bb56c80853de96d21263fa596067b9abe9501e58496f5bdb
|
||||
31
tests/tests.yml
Normal file
31
tests/tests.yml
Normal file
@ -0,0 +1,31 @@
|
||||
---
|
||||
# Run python-ldap's unit test suite as gating tests.
|
||||
#
|
||||
# Note: Requires openldap-server from RHEL build root.
|
||||
#
|
||||
# 1minutetip --buildroot rhel9
|
||||
|
||||
- hosts: localhost
|
||||
tags:
|
||||
- classic
|
||||
pre_tasks:
|
||||
- name: Enable rhel-buildroot-latest for openldap-servers on 1minutetip
|
||||
ini_file:
|
||||
path: /etc/yum.repos.d/rhel.repo
|
||||
section: rhel-buildroot
|
||||
option: enabled
|
||||
value: "1"
|
||||
create: no
|
||||
ignore_errors: yes
|
||||
roles:
|
||||
- role: standard-test-source
|
||||
- role: standard-test-basic
|
||||
required_packages:
|
||||
- python3-ldap
|
||||
- openldap-servers
|
||||
- openldap-clients
|
||||
tests:
|
||||
- unittests:
|
||||
dir: "source"
|
||||
run: >-
|
||||
python3 -m unittest discover -s Tests -p 't_*.py' -v
|
||||
Loading…
Reference in New Issue
Block a user