Backport upstream patches for building python{2,3} bindings
This commit is contained in:
parent
5e6bda777e
commit
7601087c69
34
0001-BUILD-Remove-unused-libraries-for-pysss.so.patch
Normal file
34
0001-BUILD-Remove-unused-libraries-for-pysss.so.patch
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
From 12098bc18511c9becb375302f29ab87b94352f43 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lukas Slebodnik <lslebodn@redhat.com>
|
||||||
|
Date: Mon, 9 Feb 2015 17:40:07 +0100
|
||||||
|
Subject: [PATCH 01/15] BUILD: Remove unused libraries for pysss.so
|
||||||
|
|
||||||
|
Reviewed-by: Stephen Gallagher <sgallagh@redhat.com>
|
||||||
|
---
|
||||||
|
Makefile.am | 8 +-------
|
||||||
|
1 file changed, 1 insertion(+), 7 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/Makefile.am b/Makefile.am
|
||||||
|
index 29d148c4a0cbda6882b4a619d6c71d2efcc8fb43..176c193d97389f14da6f202fef46579b2e2a2e59 100644
|
||||||
|
--- a/Makefile.am
|
||||||
|
+++ b/Makefile.am
|
||||||
|
@@ -443,15 +443,9 @@ SSSD_LIBS = \
|
||||||
|
|
||||||
|
PYTHON_BINDINGS_LIBS = \
|
||||||
|
$(TALLOC_LIBS) \
|
||||||
|
- $(TEVENT_LIBS) \
|
||||||
|
$(POPT_LIBS) \
|
||||||
|
$(LDB_LIBS) \
|
||||||
|
- $(DBUS_LIBS) \
|
||||||
|
- $(PCRE_LIBS) \
|
||||||
|
- $(DHASH_LIBS) \
|
||||||
|
- $(SSS_CRYPT_LIBS) \
|
||||||
|
- $(OPENLDAP_LIBS) \
|
||||||
|
- $(TDB_LIBS)
|
||||||
|
+ $(NULL)
|
||||||
|
|
||||||
|
TOOLS_LIBS = \
|
||||||
|
$(LTLIBINTL) \
|
||||||
|
--
|
||||||
|
2.1.0
|
||||||
|
|
26
0002-BUILD-Remove-unused-variables.patch
Normal file
26
0002-BUILD-Remove-unused-variables.patch
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
From f8b0f5158332b5c8ae5828512e3fd5f1d64851a8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lukas Slebodnik <lslebodn@redhat.com>
|
||||||
|
Date: Mon, 9 Feb 2015 18:46:16 +0100
|
||||||
|
Subject: [PATCH 02/15] BUILD: Remove unused variables
|
||||||
|
|
||||||
|
Reviewed-by: Stephen Gallagher <sgallagh@redhat.com>
|
||||||
|
---
|
||||||
|
src/external/python.m4 | 2 --
|
||||||
|
1 file changed, 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/external/python.m4 b/src/external/python.m4
|
||||||
|
index a1bd87a0ee3a56ddd25c4aba7687ffc7540b4ec2..241de9fd0e401c40f8136861e7c7070c8a50cddd 100644
|
||||||
|
--- a/src/external/python.m4
|
||||||
|
+++ b/src/external/python.m4
|
||||||
|
@@ -37,8 +37,6 @@ AC_DEFUN([AM_CHECK_PYTHON_HEADERS],
|
||||||
|
AC_MSG_CHECKING(for headers required to compile python extensions)
|
||||||
|
|
||||||
|
dnl deduce PYTHON_INCLUDES
|
||||||
|
- py_prefix=`$PYTHON -c "import sys; print(sys.prefix)"`
|
||||||
|
- py_exec_prefix=`$PYTHON -c "import sys; print(sys.exec_prefix)"`
|
||||||
|
PYTHON_INCLUDES=-I`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_config_var('INCLUDEPY'))"`
|
||||||
|
|
||||||
|
AC_SUBST(PYTHON_INCLUDES)
|
||||||
|
--
|
||||||
|
2.1.0
|
||||||
|
|
57
0003-BUILD-Remove-detection-of-type-Py_ssize_t.patch
Normal file
57
0003-BUILD-Remove-detection-of-type-Py_ssize_t.patch
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
From d262610c969e0a3d8c3ad5a7deecc4d0519c6845 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lukas Slebodnik <lslebodn@redhat.com>
|
||||||
|
Date: Mon, 9 Feb 2015 19:16:30 +0100
|
||||||
|
Subject: [PATCH 03/15] BUILD: Remove detection of type Py_ssize_t
|
||||||
|
|
||||||
|
The type Py_ssize_t is defined in python >= 2.6
|
||||||
|
|
||||||
|
Reviewed-by: Stephen Gallagher <sgallagh@redhat.com>
|
||||||
|
---
|
||||||
|
src/external/python.m4 | 5 -----
|
||||||
|
src/util/sss_python.h | 14 --------------
|
||||||
|
2 files changed, 19 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/external/python.m4 b/src/external/python.m4
|
||||||
|
index 241de9fd0e401c40f8136861e7c7070c8a50cddd..858af3c197603fcda100eddcffc396dad674a9e6 100644
|
||||||
|
--- a/src/external/python.m4
|
||||||
|
+++ b/src/external/python.m4
|
||||||
|
@@ -62,11 +62,6 @@ AC_DEFUN([AM_CHECK_PYTHON_COMPAT],
|
||||||
|
CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES"
|
||||||
|
LIBS="$LIBS $PYTHON_LIBS"
|
||||||
|
|
||||||
|
- AC_CHECK_TYPE(Py_ssize_t,
|
||||||
|
- [ AC_DEFINE_UNQUOTED(HAVE_PY_SSIZE_T, 1, [Native Py_ssize_t type]) ],
|
||||||
|
- [],
|
||||||
|
- [[#include <Python.h>]])
|
||||||
|
-
|
||||||
|
AC_CHECK_FUNCS([PySet_New PySet_Add PyErr_NewExceptionWithDoc])
|
||||||
|
AC_CHECK_DECLS([PySet_Check, PyModule_AddIntMacro, PyUnicode_FromString], [], [], [[#include <Python.h>]])
|
||||||
|
|
||||||
|
diff --git a/src/util/sss_python.h b/src/util/sss_python.h
|
||||||
|
index 828bd22ec44fe9493bfaa246b072777b70c7b585..cf8c848482d82e0060cbfe748c05bd09c7492c4f 100644
|
||||||
|
--- a/src/util/sss_python.h
|
||||||
|
+++ b/src/util/sss_python.h
|
||||||
|
@@ -25,20 +25,6 @@
|
||||||
|
#define PYNUMBER_ASLONG(what) PyInt_AsLong(what)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-/* Py_ssize_t compatibility for python < 2.5 as per
|
||||||
|
- * http://www.python.org/dev/peps/pep-0353/ */
|
||||||
|
-#ifndef HAVE_PY_SSIZE_T
|
||||||
|
-typedef int Py_ssize_t;
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
-#ifndef PY_SSIZE_T_MAX
|
||||||
|
-#define PY_SSIZE_T_MAX INT_MAX
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
-#ifndef PY_SSIZE_T_MIN
|
||||||
|
-#define PY_SSIZE_T_MIN INT_MIN
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
/* Wrappers providing the subset of C API for python's set objects we use */
|
||||||
|
PyObject *sss_python_set_new(void);
|
||||||
|
int sss_python_set_add(PyObject *set, PyObject *key);
|
||||||
|
--
|
||||||
|
2.1.0
|
||||||
|
|
86
0004-UTIL-Remove-python-wrapper-sss_python_set_new.patch
Normal file
86
0004-UTIL-Remove-python-wrapper-sss_python_set_new.patch
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
From 51308d75c1d128ca6ff90bb5a50aab7720781948 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lukas Slebodnik <lslebodn@redhat.com>
|
||||||
|
Date: Mon, 9 Feb 2015 19:19:55 +0100
|
||||||
|
Subject: [PATCH 04/15] UTIL: Remove python wrapper sss_python_set_new
|
||||||
|
|
||||||
|
The function PySet_New is available in python >= 2.6
|
||||||
|
|
||||||
|
Reviewed-by: Stephen Gallagher <sgallagh@redhat.com>
|
||||||
|
---
|
||||||
|
src/external/python.m4 | 2 +-
|
||||||
|
src/python/pyhbac.c | 4 ++--
|
||||||
|
src/util/sss_python.c | 10 ----------
|
||||||
|
src/util/sss_python.h | 1 -
|
||||||
|
4 files changed, 3 insertions(+), 14 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/external/python.m4 b/src/external/python.m4
|
||||||
|
index 858af3c197603fcda100eddcffc396dad674a9e6..440d2f97740e43c31c9a530daecb7c5ded92a0dd 100644
|
||||||
|
--- a/src/external/python.m4
|
||||||
|
+++ b/src/external/python.m4
|
||||||
|
@@ -62,7 +62,7 @@ AC_DEFUN([AM_CHECK_PYTHON_COMPAT],
|
||||||
|
CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES"
|
||||||
|
LIBS="$LIBS $PYTHON_LIBS"
|
||||||
|
|
||||||
|
- AC_CHECK_FUNCS([PySet_New PySet_Add PyErr_NewExceptionWithDoc])
|
||||||
|
+ AC_CHECK_FUNCS([PySet_Add PyErr_NewExceptionWithDoc])
|
||||||
|
AC_CHECK_DECLS([PySet_Check, PyModule_AddIntMacro, PyUnicode_FromString], [], [], [[#include <Python.h>]])
|
||||||
|
|
||||||
|
CPPFLAGS="$save_CPPFLAGS"
|
||||||
|
diff --git a/src/python/pyhbac.c b/src/python/pyhbac.c
|
||||||
|
index c46f7c6b300df9eb82fa411673da3d77504080cd..58d906d138464c9f25e6b513ad41b985b510baa2 100644
|
||||||
|
--- a/src/python/pyhbac.c
|
||||||
|
+++ b/src/python/pyhbac.c
|
||||||
|
@@ -303,7 +303,7 @@ HbacRuleElement_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
- self->category = sss_python_set_new();
|
||||||
|
+ self->category = PySet_New(NULL);
|
||||||
|
self->names = PyList_New(0);
|
||||||
|
self->groups = PyList_New(0);
|
||||||
|
if (!self->names || !self->groups || !self->category) {
|
||||||
|
@@ -945,7 +945,7 @@ py_hbac_rule_validate(HbacRuleObject *self, PyObject *args)
|
||||||
|
}
|
||||||
|
|
||||||
|
py_is_valid = PyBool_FromLong(is_valid);
|
||||||
|
- py_missing = sss_python_set_new();
|
||||||
|
+ py_missing = PySet_New(NULL);
|
||||||
|
if (!py_missing || !py_is_valid) {
|
||||||
|
PyErr_NoMemory();
|
||||||
|
goto fail;
|
||||||
|
diff --git a/src/util/sss_python.c b/src/util/sss_python.c
|
||||||
|
index 19717a55c986b6831234addfbf91a529d652f592..dad2a46d86f4243fb4a2d1fad94e49f66db23f0c 100644
|
||||||
|
--- a/src/util/sss_python.c
|
||||||
|
+++ b/src/util/sss_python.c
|
||||||
|
@@ -21,16 +21,6 @@
|
||||||
|
#include "src/util/sss_python.h"
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
-PyObject *
|
||||||
|
-sss_python_set_new(void)
|
||||||
|
-{
|
||||||
|
-#ifdef HAVE_PYSET_NEW
|
||||||
|
- return PySet_New(NULL);
|
||||||
|
-#else
|
||||||
|
- return PyObject_CallObject((PyObject *) &PySet_Type, NULL);
|
||||||
|
-#endif
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
int
|
||||||
|
sss_python_set_add(PyObject *set, PyObject *key)
|
||||||
|
{
|
||||||
|
diff --git a/src/util/sss_python.h b/src/util/sss_python.h
|
||||||
|
index cf8c848482d82e0060cbfe748c05bd09c7492c4f..6851a64e816ccf3bb84321bbeb9946ad2fbfbc41 100644
|
||||||
|
--- a/src/util/sss_python.h
|
||||||
|
+++ b/src/util/sss_python.h
|
||||||
|
@@ -26,7 +26,6 @@
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Wrappers providing the subset of C API for python's set objects we use */
|
||||||
|
-PyObject *sss_python_set_new(void);
|
||||||
|
int sss_python_set_add(PyObject *set, PyObject *key);
|
||||||
|
bool sss_python_set_check(PyObject *set);
|
||||||
|
|
||||||
|
--
|
||||||
|
2.1.0
|
||||||
|
|
93
0005-UTIL-Remove-python-wrapper-sss_python_set_add.patch
Normal file
93
0005-UTIL-Remove-python-wrapper-sss_python_set_add.patch
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
From a54cfca2362b2fb7a7b6ecc90881c3de6bb3556f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lukas Slebodnik <lslebodn@redhat.com>
|
||||||
|
Date: Mon, 9 Feb 2015 19:23:44 +0100
|
||||||
|
Subject: [PATCH 05/15] UTIL: Remove python wrapper sss_python_set_add
|
||||||
|
|
||||||
|
The function PySet_Add is available in python >= 2.6
|
||||||
|
|
||||||
|
Reviewed-by: Stephen Gallagher <sgallagh@redhat.com>
|
||||||
|
---
|
||||||
|
src/external/python.m4 | 2 +-
|
||||||
|
src/python/pyhbac.c | 4 ++--
|
||||||
|
src/util/sss_python.c | 17 -----------------
|
||||||
|
src/util/sss_python.h | 1 -
|
||||||
|
4 files changed, 3 insertions(+), 21 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/external/python.m4 b/src/external/python.m4
|
||||||
|
index 440d2f97740e43c31c9a530daecb7c5ded92a0dd..e3812a50406e7f6e2b2f143f3022ee07431ac120 100644
|
||||||
|
--- a/src/external/python.m4
|
||||||
|
+++ b/src/external/python.m4
|
||||||
|
@@ -62,7 +62,7 @@ AC_DEFUN([AM_CHECK_PYTHON_COMPAT],
|
||||||
|
CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES"
|
||||||
|
LIBS="$LIBS $PYTHON_LIBS"
|
||||||
|
|
||||||
|
- AC_CHECK_FUNCS([PySet_Add PyErr_NewExceptionWithDoc])
|
||||||
|
+ AC_CHECK_FUNCS([PyErr_NewExceptionWithDoc])
|
||||||
|
AC_CHECK_DECLS([PySet_Check, PyModule_AddIntMacro, PyUnicode_FromString], [], [], [[#include <Python.h>]])
|
||||||
|
|
||||||
|
CPPFLAGS="$save_CPPFLAGS"
|
||||||
|
diff --git a/src/python/pyhbac.c b/src/python/pyhbac.c
|
||||||
|
index 58d906d138464c9f25e6b513ad41b985b510baa2..11cd40656bbeaf93c2b1717483e716ba45a78a69 100644
|
||||||
|
--- a/src/python/pyhbac.c
|
||||||
|
+++ b/src/python/pyhbac.c
|
||||||
|
@@ -388,7 +388,7 @@ HbacRuleElement_init(HbacRuleElement *self, PyObject *args, PyObject *kwargs)
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (sss_python_set_add(self->category, tmp) != 0) {
|
||||||
|
+ if (PySet_Add(self->category, tmp) != 0) {
|
||||||
|
Py_DECREF(tmp);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
@@ -962,7 +962,7 @@ py_hbac_rule_validate(HbacRuleObject *self, PyObject *args)
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (sss_python_set_add(py_missing, py_attr) != 0) {
|
||||||
|
+ if (PySet_Add(py_missing, py_attr) != 0) {
|
||||||
|
/* If the set-add succeeded, it would steal the reference */
|
||||||
|
Py_DECREF(py_attr);
|
||||||
|
goto fail;
|
||||||
|
diff --git a/src/util/sss_python.c b/src/util/sss_python.c
|
||||||
|
index dad2a46d86f4243fb4a2d1fad94e49f66db23f0c..56850782a64314db70286ef67d76ae1227d8625f 100644
|
||||||
|
--- a/src/util/sss_python.c
|
||||||
|
+++ b/src/util/sss_python.c
|
||||||
|
@@ -21,23 +21,6 @@
|
||||||
|
#include "src/util/sss_python.h"
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
-int
|
||||||
|
-sss_python_set_add(PyObject *set, PyObject *key)
|
||||||
|
-{
|
||||||
|
-#ifdef HAVE_PYSET_ADD
|
||||||
|
- return PySet_Add(set, key);
|
||||||
|
-#else
|
||||||
|
- PyObject *pyret;
|
||||||
|
- int ret;
|
||||||
|
-
|
||||||
|
- pyret = PyObject_CallMethod(set, sss_py_const_p(char, "add"),
|
||||||
|
- sss_py_const_p(char, "O"), key);
|
||||||
|
- ret = (pyret == NULL) ? -1 : 0;
|
||||||
|
- Py_XDECREF(pyret);
|
||||||
|
- return ret;
|
||||||
|
-#endif
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
bool
|
||||||
|
sss_python_set_check(PyObject *set)
|
||||||
|
{
|
||||||
|
diff --git a/src/util/sss_python.h b/src/util/sss_python.h
|
||||||
|
index 6851a64e816ccf3bb84321bbeb9946ad2fbfbc41..1ff13c4ef4380ff791cf3cfbe12845fb26b3b873 100644
|
||||||
|
--- a/src/util/sss_python.h
|
||||||
|
+++ b/src/util/sss_python.h
|
||||||
|
@@ -26,7 +26,6 @@
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Wrappers providing the subset of C API for python's set objects we use */
|
||||||
|
-int sss_python_set_add(PyObject *set, PyObject *key);
|
||||||
|
bool sss_python_set_check(PyObject *set);
|
||||||
|
|
||||||
|
/* Unicode compatibility */
|
||||||
|
--
|
||||||
|
2.1.0
|
||||||
|
|
79
0006-UTIL-Remove-python-wrapper-sss_python_set_check.patch
Normal file
79
0006-UTIL-Remove-python-wrapper-sss_python_set_check.patch
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
From 6176976f2a895cca5eba9f714c6a6607f61aa8aa Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lukas Slebodnik <lslebodn@redhat.com>
|
||||||
|
Date: Mon, 9 Feb 2015 19:30:39 +0100
|
||||||
|
Subject: [PATCH 06/15] UTIL: Remove python wrapper sss_python_set_check
|
||||||
|
|
||||||
|
The macro PySet_Check is defined in python >= 2.6
|
||||||
|
|
||||||
|
Reviewed-by: Stephen Gallagher <sgallagh@redhat.com>
|
||||||
|
---
|
||||||
|
src/external/python.m4 | 2 +-
|
||||||
|
src/python/pyhbac.c | 2 +-
|
||||||
|
src/util/sss_python.c | 10 ----------
|
||||||
|
src/util/sss_python.h | 3 ---
|
||||||
|
4 files changed, 2 insertions(+), 15 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/external/python.m4 b/src/external/python.m4
|
||||||
|
index e3812a50406e7f6e2b2f143f3022ee07431ac120..e93f850092b0f54565e138b3235b9c29f89e5444 100644
|
||||||
|
--- a/src/external/python.m4
|
||||||
|
+++ b/src/external/python.m4
|
||||||
|
@@ -63,7 +63,7 @@ AC_DEFUN([AM_CHECK_PYTHON_COMPAT],
|
||||||
|
LIBS="$LIBS $PYTHON_LIBS"
|
||||||
|
|
||||||
|
AC_CHECK_FUNCS([PyErr_NewExceptionWithDoc])
|
||||||
|
- AC_CHECK_DECLS([PySet_Check, PyModule_AddIntMacro, PyUnicode_FromString], [], [], [[#include <Python.h>]])
|
||||||
|
+ AC_CHECK_DECLS([PyModule_AddIntMacro, PyUnicode_FromString], [], [], [[#include <Python.h>]])
|
||||||
|
|
||||||
|
CPPFLAGS="$save_CPPFLAGS"
|
||||||
|
LIBS="$save_LIBS"
|
||||||
|
diff --git a/src/python/pyhbac.c b/src/python/pyhbac.c
|
||||||
|
index 11cd40656bbeaf93c2b1717483e716ba45a78a69..bbdf2b9fb75e2be0d46749faa6aaf0698a5d5ebb 100644
|
||||||
|
--- a/src/python/pyhbac.c
|
||||||
|
+++ b/src/python/pyhbac.c
|
||||||
|
@@ -452,7 +452,7 @@ hbac_rule_element_set_category(HbacRuleElement *self,
|
||||||
|
|
||||||
|
CHECK_ATTRIBUTE_DELETE(category, "category");
|
||||||
|
|
||||||
|
- if (!sss_python_set_check(category)) {
|
||||||
|
+ if (!PySet_Check(category)) {
|
||||||
|
PyErr_Format(PyExc_TypeError, "The category must be a set type\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
diff --git a/src/util/sss_python.c b/src/util/sss_python.c
|
||||||
|
index 56850782a64314db70286ef67d76ae1227d8625f..ba78bf9689c903713229395a49e5f3686e5e6f10 100644
|
||||||
|
--- a/src/util/sss_python.c
|
||||||
|
+++ b/src/util/sss_python.c
|
||||||
|
@@ -21,16 +21,6 @@
|
||||||
|
#include "src/util/sss_python.h"
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
-bool
|
||||||
|
-sss_python_set_check(PyObject *set)
|
||||||
|
-{
|
||||||
|
-#if HAVE_DECL_PYSET_CHECK
|
||||||
|
- return PySet_Check(set);
|
||||||
|
-#else
|
||||||
|
- return PyObject_TypeCheck(set, &PySet_Type);
|
||||||
|
-#endif
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
PyObject *
|
||||||
|
sss_python_unicode_from_string(const char *u)
|
||||||
|
{
|
||||||
|
diff --git a/src/util/sss_python.h b/src/util/sss_python.h
|
||||||
|
index 1ff13c4ef4380ff791cf3cfbe12845fb26b3b873..56c25ebb74bffc061688c3c32515d6e0288ac94d 100644
|
||||||
|
--- a/src/util/sss_python.h
|
||||||
|
+++ b/src/util/sss_python.h
|
||||||
|
@@ -25,9 +25,6 @@
|
||||||
|
#define PYNUMBER_ASLONG(what) PyInt_AsLong(what)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-/* Wrappers providing the subset of C API for python's set objects we use */
|
||||||
|
-bool sss_python_set_check(PyObject *set);
|
||||||
|
-
|
||||||
|
/* Unicode compatibility */
|
||||||
|
PyObject *sss_python_unicode_from_string(const char *u);
|
||||||
|
|
||||||
|
--
|
||||||
|
2.1.0
|
||||||
|
|
@ -0,0 +1,45 @@
|
|||||||
|
From fb70347a6f68cb7cde82c0d31b66b192b7404a03 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lukas Slebodnik <lslebodn@redhat.com>
|
||||||
|
Date: Mon, 9 Feb 2015 19:33:44 +0100
|
||||||
|
Subject: [PATCH 07/15] UTIL: Remove compatibility macro PyModule_AddIntMacro
|
||||||
|
|
||||||
|
The macro PyModule_AddIntMacro is defined in python >= 2.6
|
||||||
|
|
||||||
|
Reviewed-by: Stephen Gallagher <sgallagh@redhat.com>
|
||||||
|
---
|
||||||
|
src/external/python.m4 | 2 +-
|
||||||
|
src/util/sss_python.h | 5 -----
|
||||||
|
2 files changed, 1 insertion(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/external/python.m4 b/src/external/python.m4
|
||||||
|
index e93f850092b0f54565e138b3235b9c29f89e5444..ac427268d4ff8828314cefb43ce2af72d34bc295 100644
|
||||||
|
--- a/src/external/python.m4
|
||||||
|
+++ b/src/external/python.m4
|
||||||
|
@@ -63,7 +63,7 @@ AC_DEFUN([AM_CHECK_PYTHON_COMPAT],
|
||||||
|
LIBS="$LIBS $PYTHON_LIBS"
|
||||||
|
|
||||||
|
AC_CHECK_FUNCS([PyErr_NewExceptionWithDoc])
|
||||||
|
- AC_CHECK_DECLS([PyModule_AddIntMacro, PyUnicode_FromString], [], [], [[#include <Python.h>]])
|
||||||
|
+ AC_CHECK_DECLS([PyUnicode_FromString], [], [], [[#include <Python.h>]])
|
||||||
|
|
||||||
|
CPPFLAGS="$save_CPPFLAGS"
|
||||||
|
LIBS="$save_LIBS"
|
||||||
|
diff --git a/src/util/sss_python.h b/src/util/sss_python.h
|
||||||
|
index 56c25ebb74bffc061688c3c32515d6e0288ac94d..5521aa5cfd84acffc65edbe76a264b1f2a52e9fd 100644
|
||||||
|
--- a/src/util/sss_python.h
|
||||||
|
+++ b/src/util/sss_python.h
|
||||||
|
@@ -32,11 +32,6 @@ PyObject *sss_python_unicode_from_string(const char *u);
|
||||||
|
PyObject *
|
||||||
|
sss_exception_with_doc(char *name, char *doc, PyObject *base, PyObject *dict);
|
||||||
|
|
||||||
|
-/* PyModule_AddIntMacro() compatibility */
|
||||||
|
-#if !HAVE_DECL_PYMODULE_ADDINTMACRO
|
||||||
|
-#define PyModule_AddIntMacro(m, c) PyModule_AddIntConstant(m, sss_py_const_p(char, #c), c)
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
/* Convenience macros */
|
||||||
|
#define TYPE_READY(module, type, name) do { \
|
||||||
|
if (PyType_Ready(&type) < 0) \
|
||||||
|
--
|
||||||
|
2.1.0
|
||||||
|
|
160
0008-UTIL-Remove-python-wrapper-sss_python_unicode_from_s.patch
Normal file
160
0008-UTIL-Remove-python-wrapper-sss_python_unicode_from_s.patch
Normal file
@ -0,0 +1,160 @@
|
|||||||
|
From 65b439f58285de44c7dcd4a03e0f32a2fb247d82 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lukas Slebodnik <lslebodn@redhat.com>
|
||||||
|
Date: Mon, 9 Feb 2015 19:38:42 +0100
|
||||||
|
Subject: [PATCH 08/15] UTIL: Remove python wrapper
|
||||||
|
sss_python_unicode_from_string
|
||||||
|
|
||||||
|
The function PyUnicode_FromString is available in python >= 2.6
|
||||||
|
|
||||||
|
Reviewed-by: Stephen Gallagher <sgallagh@redhat.com>
|
||||||
|
---
|
||||||
|
src/external/python.m4 | 3 +--
|
||||||
|
src/python/pyhbac.c | 18 +++++++++---------
|
||||||
|
src/util/sss_python.c | 10 ----------
|
||||||
|
src/util/sss_python.h | 3 ---
|
||||||
|
4 files changed, 10 insertions(+), 24 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/external/python.m4 b/src/external/python.m4
|
||||||
|
index ac427268d4ff8828314cefb43ce2af72d34bc295..d59233aa01ac591cfc86be974d8ae26ebbe4635d 100644
|
||||||
|
--- a/src/external/python.m4
|
||||||
|
+++ b/src/external/python.m4
|
||||||
|
@@ -54,7 +54,7 @@ AC_DEFUN([AM_CHECK_PYTHON_HEADERS],
|
||||||
|
|
||||||
|
|
||||||
|
dnl Checks for a couple of functions we use that may not be defined
|
||||||
|
-dnl in some older python versions used e.g. on RHEL5
|
||||||
|
+dnl in some older python (< 2.6) versions used e.g. on RHEL6
|
||||||
|
AC_DEFUN([AM_CHECK_PYTHON_COMPAT],
|
||||||
|
[AC_REQUIRE([AM_CHECK_PYTHON_HEADERS])
|
||||||
|
save_CPPFLAGS="$CPPFLAGS"
|
||||||
|
@@ -63,7 +63,6 @@ AC_DEFUN([AM_CHECK_PYTHON_COMPAT],
|
||||||
|
LIBS="$LIBS $PYTHON_LIBS"
|
||||||
|
|
||||||
|
AC_CHECK_FUNCS([PyErr_NewExceptionWithDoc])
|
||||||
|
- AC_CHECK_DECLS([PyUnicode_FromString], [], [], [[#include <Python.h>]])
|
||||||
|
|
||||||
|
CPPFLAGS="$save_CPPFLAGS"
|
||||||
|
LIBS="$save_LIBS"
|
||||||
|
diff --git a/src/python/pyhbac.c b/src/python/pyhbac.c
|
||||||
|
index bbdf2b9fb75e2be0d46749faa6aaf0698a5d5ebb..2ccff6856b5bb5fbbb4803633ae549481ebb6035 100644
|
||||||
|
--- a/src/python/pyhbac.c
|
||||||
|
+++ b/src/python/pyhbac.c
|
||||||
|
@@ -493,7 +493,7 @@ HbacRuleElement_repr(HbacRuleElement *self)
|
||||||
|
uint32_t category;
|
||||||
|
PyObject *o, *format, *args;
|
||||||
|
|
||||||
|
- format = sss_python_unicode_from_string("<category %lu names [%s] groups [%s]>");
|
||||||
|
+ format = PyUnicode_FromString("<category %lu names [%s] groups [%s]>");
|
||||||
|
if (format == NULL) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
@@ -651,7 +651,7 @@ HbacRule_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
- self->name = sss_python_unicode_from_string("");
|
||||||
|
+ self->name = PyUnicode_FromString("");
|
||||||
|
if (self->name == NULL) {
|
||||||
|
Py_DECREF(self);
|
||||||
|
PyErr_NoMemory();
|
||||||
|
@@ -869,7 +869,7 @@ HbacRule_repr(HbacRuleObject *self)
|
||||||
|
PyObject *srchosts_repr;
|
||||||
|
PyObject *o, *format, *args;
|
||||||
|
|
||||||
|
- format = sss_python_unicode_from_string("<name %s enabled %d "
|
||||||
|
+ format = PyUnicode_FromString("<name %s enabled %d "
|
||||||
|
"users %s services %s "
|
||||||
|
"targethosts %s srchosts %s>");
|
||||||
|
if (format == NULL) {
|
||||||
|
@@ -1149,7 +1149,7 @@ HbacRequestElement_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
- self->name = sss_python_unicode_from_string("");
|
||||||
|
+ self->name = PyUnicode_FromString("");
|
||||||
|
if (self->name == NULL) {
|
||||||
|
PyErr_NoMemory();
|
||||||
|
Py_DECREF(self);
|
||||||
|
@@ -1291,7 +1291,7 @@ HbacRequestElement_repr(HbacRequestElement *self)
|
||||||
|
char *strgroups;
|
||||||
|
PyObject *o, *format, *args;
|
||||||
|
|
||||||
|
- format = sss_python_unicode_from_string("<name %s groups [%s]>");
|
||||||
|
+ format = PyUnicode_FromString("<name %s groups [%s]>");
|
||||||
|
if (format == NULL) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
@@ -1609,7 +1609,7 @@ py_hbac_evaluate(HbacRequest *self, PyObject *args)
|
||||||
|
eres = hbac_evaluate(rules, hbac_req, &info);
|
||||||
|
switch (eres) {
|
||||||
|
case HBAC_EVAL_ALLOW:
|
||||||
|
- self->rule_name = sss_python_unicode_from_string(info->rule_name);
|
||||||
|
+ self->rule_name = PyUnicode_FromString(info->rule_name);
|
||||||
|
if (!self->rule_name) {
|
||||||
|
PyErr_NoMemory();
|
||||||
|
goto fail;
|
||||||
|
@@ -1662,7 +1662,7 @@ HbacRequest_repr(HbacRequest *self)
|
||||||
|
PyObject *srchost_repr;
|
||||||
|
PyObject *o, *format, *args;
|
||||||
|
|
||||||
|
- format = sss_python_unicode_from_string("<user %s service %s "
|
||||||
|
+ format = PyUnicode_FromString("<user %s service %s "
|
||||||
|
"targethost %s srchost %s>");
|
||||||
|
if (format == NULL) {
|
||||||
|
return NULL;
|
||||||
|
@@ -1853,7 +1853,7 @@ py_hbac_result_string(PyObject *module, PyObject *args)
|
||||||
|
return Py_None;
|
||||||
|
}
|
||||||
|
|
||||||
|
- return sss_python_unicode_from_string(str);
|
||||||
|
+ return PyUnicode_FromString(str);
|
||||||
|
}
|
||||||
|
|
||||||
|
PyDoc_STRVAR(py_hbac_error_string__doc__,
|
||||||
|
@@ -1877,7 +1877,7 @@ py_hbac_error_string(PyObject *module, PyObject *args)
|
||||||
|
return Py_None;
|
||||||
|
}
|
||||||
|
|
||||||
|
- return sss_python_unicode_from_string(str);
|
||||||
|
+ return PyUnicode_FromString(str);
|
||||||
|
}
|
||||||
|
|
||||||
|
static PyMethodDef pyhbac_module_methods[] = {
|
||||||
|
diff --git a/src/util/sss_python.c b/src/util/sss_python.c
|
||||||
|
index ba78bf9689c903713229395a49e5f3686e5e6f10..560effc26d474bdb367784083cb354bb57ead412 100644
|
||||||
|
--- a/src/util/sss_python.c
|
||||||
|
+++ b/src/util/sss_python.c
|
||||||
|
@@ -22,16 +22,6 @@
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
PyObject *
|
||||||
|
-sss_python_unicode_from_string(const char *u)
|
||||||
|
-{
|
||||||
|
-#ifdef HAVE_PYUNICODE_FROMSTRING
|
||||||
|
- return PyUnicode_FromString(u);
|
||||||
|
-#else
|
||||||
|
- return PyUnicode_DecodeUTF8(u, strlen(u), NULL);
|
||||||
|
-#endif
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-PyObject *
|
||||||
|
sss_exception_with_doc(char *name, char *doc, PyObject *base, PyObject *dict)
|
||||||
|
{
|
||||||
|
#ifdef HAVE_PYERR_NEWEXCEPTIONWITHDOC
|
||||||
|
diff --git a/src/util/sss_python.h b/src/util/sss_python.h
|
||||||
|
index 5521aa5cfd84acffc65edbe76a264b1f2a52e9fd..7e2bac33656dcbac91bb4f4d32ec9fbc44bb4e52 100644
|
||||||
|
--- a/src/util/sss_python.h
|
||||||
|
+++ b/src/util/sss_python.h
|
||||||
|
@@ -25,9 +25,6 @@
|
||||||
|
#define PYNUMBER_ASLONG(what) PyInt_AsLong(what)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-/* Unicode compatibility */
|
||||||
|
-PyObject *sss_python_unicode_from_string(const char *u);
|
||||||
|
-
|
||||||
|
/* Exceptions compatibility */
|
||||||
|
PyObject *
|
||||||
|
sss_exception_with_doc(char *name, char *doc, PyObject *base, PyObject *dict);
|
||||||
|
--
|
||||||
|
2.1.0
|
||||||
|
|
133
0009-BUILD-Use-python-config-for-detection-FLAGS.patch
Normal file
133
0009-BUILD-Use-python-config-for-detection-FLAGS.patch
Normal file
@ -0,0 +1,133 @@
|
|||||||
|
From daeaf3b5d3bd3877f1a5b8cc60f0cf401d09e31f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lukas Slebodnik <lslebodn@redhat.com>
|
||||||
|
Date: Tue, 10 Feb 2015 16:14:59 +0100
|
||||||
|
Subject: [PATCH 09/15] BUILD: Use python-config for detection *FLAGS
|
||||||
|
|
||||||
|
The script python-config was not available in older versions of python.
|
||||||
|
This patch simplify detection of python CFLAGS and LDFLAGS and increase
|
||||||
|
minimal required version of python to 2.6
|
||||||
|
|
||||||
|
Reviewed-by: Stephen Gallagher <sgallagh@redhat.com>
|
||||||
|
---
|
||||||
|
configure.ac | 6 +++--
|
||||||
|
src/external/python.m4 | 63 +++++++++++++++++++++++++-------------------------
|
||||||
|
2 files changed, 36 insertions(+), 33 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index cdbe6f9bff3822bb80d8d43b593e02c39d729f64..f72e448528edcffb855504a38a179c400f98ac42 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -248,11 +248,13 @@ AM_CONDITIONAL([HAVE_MANPAGES], [test "x$HAVE_MANPAGES" != "x"])
|
||||||
|
AM_CONDITIONAL([HAVE_PO4A], [test "x$PO4A" != "xno"])
|
||||||
|
|
||||||
|
if test x$HAVE_PYTHON_BINDINGS != x; then
|
||||||
|
- AM_PATH_PYTHON([2.4])
|
||||||
|
+ AM_PATH_PYTHON([2.6])
|
||||||
|
+ AM_PYTHON_CONFIG([python])
|
||||||
|
AM_CHECK_PYTHON_HEADERS([],
|
||||||
|
AC_MSG_ERROR([Could not find python headers]))
|
||||||
|
- AM_PYTHON_CONFIG
|
||||||
|
AM_CHECK_PYTHON_COMPAT
|
||||||
|
+ AC_SUBST([PYTHON_CFLAGS])
|
||||||
|
+ AC_SUBST([PYTHON_LIBS])
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test x$HAVE_SELINUX != x; then
|
||||||
|
diff --git a/src/external/python.m4 b/src/external/python.m4
|
||||||
|
index d59233aa01ac591cfc86be974d8ae26ebbe4635d..c91e8df17b0371538f02bfeb9cade1ce639074bd 100644
|
||||||
|
--- a/src/external/python.m4
|
||||||
|
+++ b/src/external/python.m4
|
||||||
|
@@ -1,46 +1,33 @@
|
||||||
|
dnl Check for python-config and substitute needed CFLAGS and LDFLAGS
|
||||||
|
dnl Usage:
|
||||||
|
-dnl AM_PYTHON_CONFIG
|
||||||
|
+dnl AM_PYTHON_CONFIG(python_with_major_version)
|
||||||
|
+dnl argument python_with_major_version should be either python2 or python3
|
||||||
|
+dnl This function sets the PYTHON_CFLAGS, PYTHON_LIBS and PYTHON_INCLUDES
|
||||||
|
+dnl variables
|
||||||
|
|
||||||
|
AC_DEFUN([AM_PYTHON_CONFIG],
|
||||||
|
-[ AC_SUBST(PYTHON_CFLAGS)
|
||||||
|
- AC_SUBST(PYTHON_LIBS)
|
||||||
|
+[
|
||||||
|
+ AC_PATH_PROG([PYTHON_CONFIG], [python$PYTHON_VERSION-config])
|
||||||
|
+ AS_IF([test x"$PYTHON_CONFIG" = x],
|
||||||
|
+ AC_MSG_ERROR([
|
||||||
|
+The program python$PYTHON_VERSION-config was not found in search path.
|
||||||
|
+Please ensure that it is installed and its directory is included in the search
|
||||||
|
+path. If you want to build sssd without $1 bindings then specify
|
||||||
|
+--without-$1-bindings when running configure.]))
|
||||||
|
|
||||||
|
-dnl We need to check for python build flags using distutils.sysconfig
|
||||||
|
-dnl We cannot use python-config, as it was not available on older
|
||||||
|
-dnl versions of python
|
||||||
|
- AC_PATH_PROG(PYTHON, python)
|
||||||
|
- AC_MSG_CHECKING([for working python])
|
||||||
|
- if test -x "$PYTHON"; then
|
||||||
|
- PYTHON_CFLAGS="`$PYTHON -c \"from distutils import sysconfig; \
|
||||||
|
- print('-I' + sysconfig.get_python_inc() + \
|
||||||
|
- ' -I' + sysconfig.get_python_inc(plat_specific=True) + ' ' + \
|
||||||
|
- sysconfig.get_config_var('BASECFLAGS'))\"`"
|
||||||
|
- PYTHON_LIBS="`$PYTHON -c \"from distutils import sysconfig; \
|
||||||
|
- print(' '.join(sysconfig.get_config_var('LIBS').split() + \
|
||||||
|
- sysconfig.get_config_var('SYSLIBS').split()) + \
|
||||||
|
- ' ' + sysconfig.get_config_var('BLDLIBRARY') + ' ' + \
|
||||||
|
- ' -L' + sysconfig.get_config_var('LIBDIR'))\"`"
|
||||||
|
- AC_MSG_RESULT([yes])
|
||||||
|
- else
|
||||||
|
- AC_MSG_RESULT([no])
|
||||||
|
- AC_MSG_ERROR([Please install python devel package])
|
||||||
|
- fi
|
||||||
|
+ PYTHON_CFLAGS="` $PYTHON_CONFIG --cflags`"
|
||||||
|
+ PYTHON_LIBS="` $PYTHON_CONFIG --libs`"
|
||||||
|
+ PYTHON_INCLUDES="` $PYTHON_CONFIG --includes`"
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl Taken from GNOME sources
|
||||||
|
dnl a macro to check for ability to create python extensions
|
||||||
|
dnl AM_CHECK_PYTHON_HEADERS([ACTION-IF-POSSIBLE], [ACTION-IF-NOT-POSSIBLE])
|
||||||
|
-dnl function also defines PYTHON_INCLUDES
|
||||||
|
AC_DEFUN([AM_CHECK_PYTHON_HEADERS],
|
||||||
|
-[AC_REQUIRE([AM_PATH_PYTHON])
|
||||||
|
+[
|
||||||
|
+ AC_REQUIRE([AM_PATH_PYTHON])
|
||||||
|
AC_MSG_CHECKING(for headers required to compile python extensions)
|
||||||
|
|
||||||
|
- dnl deduce PYTHON_INCLUDES
|
||||||
|
- PYTHON_INCLUDES=-I`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_config_var('INCLUDEPY'))"`
|
||||||
|
-
|
||||||
|
- AC_SUBST(PYTHON_INCLUDES)
|
||||||
|
-
|
||||||
|
dnl check if the headers exist:
|
||||||
|
save_CPPFLAGS="$CPPFLAGS"
|
||||||
|
CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES"
|
||||||
|
@@ -56,7 +43,8 @@ AC_DEFUN([AM_CHECK_PYTHON_HEADERS],
|
||||||
|
dnl Checks for a couple of functions we use that may not be defined
|
||||||
|
dnl in some older python (< 2.6) versions used e.g. on RHEL6
|
||||||
|
AC_DEFUN([AM_CHECK_PYTHON_COMPAT],
|
||||||
|
-[AC_REQUIRE([AM_CHECK_PYTHON_HEADERS])
|
||||||
|
+[
|
||||||
|
+ AC_REQUIRE([AM_CHECK_PYTHON_HEADERS])
|
||||||
|
save_CPPFLAGS="$CPPFLAGS"
|
||||||
|
save_LIBS="$LIBS"
|
||||||
|
CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES"
|
||||||
|
@@ -67,3 +55,16 @@ AC_DEFUN([AM_CHECK_PYTHON_COMPAT],
|
||||||
|
CPPFLAGS="$save_CPPFLAGS"
|
||||||
|
LIBS="$save_LIBS"
|
||||||
|
])
|
||||||
|
+
|
||||||
|
+dnl Clean variables after detection of python
|
||||||
|
+AC_DEFUN([SSS_CLEAN_PYTHON_VARIABLES],
|
||||||
|
+[
|
||||||
|
+ unset pyexecdir pkgpyexecdir pythondir pgkpythondir
|
||||||
|
+ unset PYTHON PYTHON_CFLAGS PYTHON_LIBS PYTHON_INCLUDES
|
||||||
|
+ unset PYTHON_PREFIX PYTHON_EXEC_PREFIX PYTHON_VERSION PYTHON_CONFIG
|
||||||
|
+
|
||||||
|
+ dnl removed cached variables, required for reusing of AM_PATH_PYTHON
|
||||||
|
+ unset am_cv_pathless_PYTHON ac_cv_path_PYTHON am_cv_python_version
|
||||||
|
+ unset am_cv_python_platform am_cv_python_pythondir am_cv_python_pyexecdir
|
||||||
|
+ unset ac_cv_path_PYTHON_CONFIG
|
||||||
|
+])
|
||||||
|
--
|
||||||
|
2.1.0
|
||||||
|
|
71
0010-SPEC-Use-new-convention-for-python-packages.patch
Normal file
71
0010-SPEC-Use-new-convention-for-python-packages.patch
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
From 0bb5eeeedf08dcd6b49e24d3480f2bc5b09c38b0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lukas Slebodnik <lslebodn@redhat.com>
|
||||||
|
Date: Tue, 10 Feb 2015 16:33:04 +0100
|
||||||
|
Subject: [PATCH 10/15] SPEC: Use new convention for python packages
|
||||||
|
|
||||||
|
Reviewed-by: Stephen Gallagher <sgallagh@redhat.com>
|
||||||
|
---
|
||||||
|
contrib/sssd.spec.in | 20 ++++++++++++--------
|
||||||
|
1 file changed, 12 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/contrib/sssd.spec.in b/contrib/sssd.spec.in
|
||||||
|
index bea68f1bbceac232f4ca019111b6262dca3380eb..fc87ff2c9a2012683bb0c989c992b8706851148a 100644
|
||||||
|
--- a/contrib/sssd.spec.in
|
||||||
|
+++ b/contrib/sssd.spec.in
|
||||||
|
@@ -339,14 +339,16 @@ Requires: libipa_hbac = %{version}-%{release}
|
||||||
|
%description -n libipa_hbac-devel
|
||||||
|
Utility library to validate FreeIPA HBAC rules for authorization requests
|
||||||
|
|
||||||
|
-%package -n libipa_hbac-python
|
||||||
|
+%package -n python-libipa_hbac
|
||||||
|
Summary: Python bindings for the FreeIPA HBAC Evaluator library
|
||||||
|
Group: Development/Libraries
|
||||||
|
License: LGPLv3+
|
||||||
|
Requires: libipa_hbac = %{version}-%{release}
|
||||||
|
+Provides: libipa_hbac-python = %{version}-%{release}
|
||||||
|
+Obsoletes: libipa_hbac-python < 1.12.90
|
||||||
|
|
||||||
|
-%description -n libipa_hbac-python
|
||||||
|
-The libipa_hbac-python contains the bindings so that libipa_hbac can be
|
||||||
|
+%description -n python-libipa_hbac
|
||||||
|
+The python-libipa_hbac contains the bindings so that libipa_hbac can be
|
||||||
|
used by Python applications.
|
||||||
|
|
||||||
|
%package -n libsss_nss_idmap
|
||||||
|
@@ -368,14 +370,16 @@ Requires: libsss_nss_idmap = %{version}-%{release}
|
||||||
|
%description -n libsss_nss_idmap-devel
|
||||||
|
Utility library for SID based lookups
|
||||||
|
|
||||||
|
-%package -n libsss_nss_idmap-python
|
||||||
|
+%package -n python-libsss_nss_idmap
|
||||||
|
Summary: Python bindings for libsss_nss_idmap
|
||||||
|
Group: Development/Libraries
|
||||||
|
License: LGPLv3+
|
||||||
|
Requires: libsss_nss_idmap = %{version}-%{release}
|
||||||
|
+Provides: libsss_nss_idmap-python = %{version}-%{release}
|
||||||
|
+Obsoletes: libsss_nss_idmap-python < 1.12.90
|
||||||
|
|
||||||
|
-%description -n libsss_nss_idmap-python
|
||||||
|
-The libsss_nss_idmap-python contains the bindings so that libsss_nss_idmap can
|
||||||
|
+%description -n python-libsss_nss_idmap
|
||||||
|
+The python-libsss_nss_idmap contains the bindings so that libsss_nss_idmap can
|
||||||
|
be used by Python applications.
|
||||||
|
|
||||||
|
%package dbus
|
||||||
|
@@ -787,11 +791,11 @@ rm -rf $RPM_BUILD_ROOT
|
||||||
|
%{_libdir}/libsss_nss_idmap.so
|
||||||
|
%{_libdir}/pkgconfig/sss_nss_idmap.pc
|
||||||
|
|
||||||
|
-%files -n libsss_nss_idmap-python
|
||||||
|
+%files -n python-libsss_nss_idmap
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%{python_sitearch}/pysss_nss_idmap.so
|
||||||
|
|
||||||
|
-%files -n libipa_hbac-python
|
||||||
|
+%files -n python-libipa_hbac
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%{python_sitearch}/pyhbac.so
|
||||||
|
|
||||||
|
--
|
||||||
|
2.1.0
|
||||||
|
|
83
0011-SPEC-Move-python-bindings-to-separate-packages.patch
Normal file
83
0011-SPEC-Move-python-bindings-to-separate-packages.patch
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
From 79ff61df76fdf77a5942bc555e9dc584192eebe0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lukas Slebodnik <lslebodn@redhat.com>
|
||||||
|
Date: Tue, 10 Feb 2015 16:50:12 +0100
|
||||||
|
Subject: [PATCH 11/15] SPEC: Move python bindings to separate packages
|
||||||
|
|
||||||
|
Some pyhton bindings pysss and pysss_murmur was in package sssd-common.
|
||||||
|
Therefore package sssd-common had python as a dependency.
|
||||||
|
|
||||||
|
Reviewed-by: Stephen Gallagher <sgallagh@redhat.com>
|
||||||
|
---
|
||||||
|
contrib/sssd.spec.in | 35 +++++++++++++++++++++++++++++++++--
|
||||||
|
1 file changed, 33 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/contrib/sssd.spec.in b/contrib/sssd.spec.in
|
||||||
|
index fc87ff2c9a2012683bb0c989c992b8706851148a..6d6f0b9294e2150549f36c64a11ace64be8a83cc 100644
|
||||||
|
--- a/contrib/sssd.spec.in
|
||||||
|
+++ b/contrib/sssd.spec.in
|
||||||
|
@@ -196,6 +196,9 @@ Summary: Userspace tools for use with the SSSD
|
||||||
|
Group: Applications/System
|
||||||
|
License: GPLv3+
|
||||||
|
Requires: sssd-common = %{version}-%{release}
|
||||||
|
+# required by sss_obfuscate
|
||||||
|
+Requires: python-sss = %{version}-%{release}
|
||||||
|
+Requires: python-sssdconfig = %{version}-%{release}
|
||||||
|
|
||||||
|
%description tools
|
||||||
|
Provides userspace tools for manipulating users, groups, and nested groups in
|
||||||
|
@@ -215,6 +218,28 @@ BuildArch: noarch
|
||||||
|
%description -n python-sssdconfig
|
||||||
|
Provides python files for manipulation SSSD and IPA configuration files.
|
||||||
|
|
||||||
|
+%package -n python-sss
|
||||||
|
+Summary: Python bindings for sssd
|
||||||
|
+Group: Development/Libraries
|
||||||
|
+License: LGPLv3+
|
||||||
|
+Requires: sssd-common = %{version}-%{release}
|
||||||
|
+
|
||||||
|
+%description -n python-sss
|
||||||
|
+Provides python module for manipulating users, groups, and nested groups in
|
||||||
|
+SSSD when using id_provider = local in /etc/sssd/sssd.conf.
|
||||||
|
+
|
||||||
|
+Also provides several other useful python bindings:
|
||||||
|
+ * function for retrieving list of groups user belongs to.
|
||||||
|
+ * class for obfuscation of passwords
|
||||||
|
+
|
||||||
|
+%package -n python-sss-murmur
|
||||||
|
+Summary: Python bindings for murmur hash function
|
||||||
|
+Group: Development/Libraries
|
||||||
|
+License: LGPLv3+
|
||||||
|
+
|
||||||
|
+%description -n python-sss-murmur
|
||||||
|
+Provides python module for calculating the murmur hash version 3
|
||||||
|
+
|
||||||
|
%package ldap
|
||||||
|
Summary: The LDAP back end of the SSSD
|
||||||
|
Group: Applications/System
|
||||||
|
@@ -637,8 +662,6 @@ rm -rf $RPM_BUILD_ROOT
|
||||||
|
%{_mandir}/man8/sss_cache.8*
|
||||||
|
%{_mandir}/man1/sss_ssh_authorizedkeys.1*
|
||||||
|
%{_mandir}/man1/sss_ssh_knownhostsproxy.1*
|
||||||
|
-%{python_sitearch}/pysss.so
|
||||||
|
-%{python_sitearch}/pysss_murmur.so
|
||||||
|
|
||||||
|
%files ldap -f sssd_ldap.lang
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
@@ -755,6 +778,14 @@ rm -rf $RPM_BUILD_ROOT
|
||||||
|
%dir %{python_sitelib}/SSSDConfig
|
||||||
|
%{python_sitelib}/SSSDConfig/*.py*
|
||||||
|
|
||||||
|
+%files -n python-sss
|
||||||
|
+%defattr(-,root,root,-)
|
||||||
|
+%{python_sitearch}/pysss.so
|
||||||
|
+
|
||||||
|
+%files -n python-sss-murmur
|
||||||
|
+%defattr(-,root,root,-)
|
||||||
|
+%{python_sitearch}/pysss_murmur.so
|
||||||
|
+
|
||||||
|
%files -n libsss_idmap
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%doc src/sss_client/COPYING src/sss_client/COPYING.LESSER
|
||||||
|
--
|
||||||
|
2.1.0
|
||||||
|
|
532
0012-BUILD-Add-possibility-to-build-python-2-3-bindings.patch
Normal file
532
0012-BUILD-Add-possibility-to-build-python-2-3-bindings.patch
Normal file
@ -0,0 +1,532 @@
|
|||||||
|
From a80ec6ff2bdb9367ac7d5c50c3ab7d83877bd7bb Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lukas Slebodnik <lslebodn@redhat.com>
|
||||||
|
Date: Tue, 10 Feb 2015 17:22:03 +0100
|
||||||
|
Subject: [PATCH 12/15] BUILD: Add possibility to build python{2,3} bindings
|
||||||
|
|
||||||
|
Resolves:
|
||||||
|
https://fedorahosted.org/sssd/ticket/2574
|
||||||
|
|
||||||
|
Reviewed-by: Stephen Gallagher <sgallagh@redhat.com>
|
||||||
|
---
|
||||||
|
Makefile.am | 196 ++++++++++++++++++++++++++++++++---------
|
||||||
|
configure.ac | 49 +++++++++--
|
||||||
|
contrib/sssd.spec.in | 4 +
|
||||||
|
src/conf_macros.m4 | 39 +++++---
|
||||||
|
src/tests/pyhbac-test.py | 22 ++++-
|
||||||
|
src/tests/pysss_murmur-test.py | 22 ++++-
|
||||||
|
6 files changed, 267 insertions(+), 65 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/Makefile.am b/Makefile.am
|
||||||
|
index 176c193d97389f14da6f202fef46579b2e2a2e59..14ee3dd528f0d89b3e0d2afdb99313e6c570234f 100644
|
||||||
|
--- a/Makefile.am
|
||||||
|
+++ b/Makefile.am
|
||||||
|
@@ -299,12 +299,22 @@ noinst_LTLIBRARIES =
|
||||||
|
|
||||||
|
pkglib_LTLIBRARIES =
|
||||||
|
|
||||||
|
-if BUILD_PYTHON_BINDINGS
|
||||||
|
-pyexec_LTLIBRARIES = \
|
||||||
|
- pysss.la \
|
||||||
|
- pyhbac.la \
|
||||||
|
- pysss_murmur.la \
|
||||||
|
- pysss_nss_idmap.la
|
||||||
|
+if BUILD_PYTHON2_BINDINGS
|
||||||
|
+py2exec_LTLIBRARIES = \
|
||||||
|
+ _py2sss.la \
|
||||||
|
+ _py2hbac.la \
|
||||||
|
+ _py2sss_murmur.la \
|
||||||
|
+ _py2sss_nss_idmap.la \
|
||||||
|
+ $(NULL)
|
||||||
|
+endif
|
||||||
|
+
|
||||||
|
+if BUILD_PYTHON3_BINDINGS
|
||||||
|
+py3exec_LTLIBRARIES = \
|
||||||
|
+ _py3sss.la \
|
||||||
|
+ _py3hbac.la \
|
||||||
|
+ _py3sss_murmur.la \
|
||||||
|
+ _py3sss_nss_idmap.la \
|
||||||
|
+ $(NULL)
|
||||||
|
endif
|
||||||
|
|
||||||
|
dist_noinst_SCRIPTS = \
|
||||||
|
@@ -2782,58 +2792,109 @@ sssd_pac_plugin_la_LDFLAGS = \
|
||||||
|
-avoid-version \
|
||||||
|
-module
|
||||||
|
|
||||||
|
-if BUILD_PYTHON_BINDINGS
|
||||||
|
+# python[23] bindings
|
||||||
|
pysss_la_SOURCES = \
|
||||||
|
$(SSSD_TOOLS_OBJ) \
|
||||||
|
src/python/pysss.c
|
||||||
|
-pysss_la_CFLAGS = \
|
||||||
|
- $(AM_CFLAGS) \
|
||||||
|
- $(PYTHON_CFLAGS)
|
||||||
|
-pysss_la_LIBADD = \
|
||||||
|
- $(SSSD_INTERNAL_LTLIBS) \
|
||||||
|
- $(PYTHON_BINDINGS_LIBS) \
|
||||||
|
- $(PYTHON_LIBS)
|
||||||
|
pysss_la_LDFLAGS = \
|
||||||
|
-avoid-version \
|
||||||
|
-module
|
||||||
|
|
||||||
|
+_py2sss_la_SOURCES = $(pysss_la_SOURCES)
|
||||||
|
+_py2sss_la_CFLAGS = \
|
||||||
|
+ $(AM_CFLAGS) \
|
||||||
|
+ $(PYTHON2_CFLAGS)
|
||||||
|
+_py2sss_la_LIBADD = \
|
||||||
|
+ $(SSSD_INTERNAL_LTLIBS) \
|
||||||
|
+ $(PYTHON_BINDINGS_LIBS) \
|
||||||
|
+ $(PYTHON2_LIBS)
|
||||||
|
+_py2sss_la_LDFLAGS = $(pysss_la_LDFLAGS)
|
||||||
|
+
|
||||||
|
+_py3sss_la_SOURCES = $(pysss_la_SOURCES)
|
||||||
|
+_py3sss_la_CFLAGS = \
|
||||||
|
+ $(AM_CFLAGS) \
|
||||||
|
+ $(PYTHON3_CFLAGS)
|
||||||
|
+_py3sss_la_LIBADD = \
|
||||||
|
+ $(SSSD_INTERNAL_LTLIBS) \
|
||||||
|
+ $(PYTHON_BINDINGS_LIBS) \
|
||||||
|
+ $(PYTHON3_LIBS)
|
||||||
|
+_py3sss_la_LDFLAGS = $(pysss_la_LDFLAGS)
|
||||||
|
+
|
||||||
|
+
|
||||||
|
pyhbac_la_SOURCES = \
|
||||||
|
src/python/pyhbac.c \
|
||||||
|
src/util/sss_python.c
|
||||||
|
-pyhbac_la_CFLAGS = \
|
||||||
|
- $(AM_CFLAGS) \
|
||||||
|
- $(PYTHON_CFLAGS)
|
||||||
|
-pyhbac_la_LIBADD = \
|
||||||
|
- $(PYTHON_LIBS) \
|
||||||
|
- libipa_hbac.la
|
||||||
|
pyhbac_la_LDFLAGS = \
|
||||||
|
-avoid-version \
|
||||||
|
-module
|
||||||
|
|
||||||
|
+_py2hbac_la_SOURCES = $(pyhbac_la_SOURCES)
|
||||||
|
+_py2hbac_la_CFLAGS = \
|
||||||
|
+ $(AM_CFLAGS) \
|
||||||
|
+ $(PYTHON2_CFLAGS)
|
||||||
|
+_py2hbac_la_LIBADD = \
|
||||||
|
+ $(PYTHON2_LIBS) \
|
||||||
|
+ libipa_hbac.la
|
||||||
|
+_py2hbac_la_LDFLAGS = $(pyhbac_la_LDFLAGS)
|
||||||
|
+
|
||||||
|
+_py3hbac_la_SOURCES = $(pyhbac_la_SOURCES)
|
||||||
|
+_py3hbac_la_CFLAGS = \
|
||||||
|
+ $(AM_CFLAGS) \
|
||||||
|
+ $(PYTHON3_CFLAGS)
|
||||||
|
+_py3hbac_la_LIBADD = \
|
||||||
|
+ $(PYTHON3_LIBS) \
|
||||||
|
+ libipa_hbac.la
|
||||||
|
+_py3hbac_la_LDFLAGS = $(pyhbac_la_LDFLAGS)
|
||||||
|
+
|
||||||
|
+
|
||||||
|
pysss_murmur_la_SOURCES = \
|
||||||
|
src/python/pysss_murmur.c \
|
||||||
|
src/util/murmurhash3.c
|
||||||
|
-pysss_murmur_la_CFLAGS = \
|
||||||
|
- $(AM_CFLAGS) \
|
||||||
|
- $(PYTHON_CFLAGS)
|
||||||
|
-pysss_murmur_la_LIBADD = \
|
||||||
|
- $(PYTHON_LIBS)
|
||||||
|
pysss_murmur_la_LDFLAGS = \
|
||||||
|
-avoid-version \
|
||||||
|
-module
|
||||||
|
|
||||||
|
+_py2sss_murmur_la_SOURCES = $(pysss_murmur_la_SOURCES)
|
||||||
|
+_py2sss_murmur_la_CFLAGS = \
|
||||||
|
+ $(AM_CFLAGS) \
|
||||||
|
+ $(PYTHON2_CFLAGS)
|
||||||
|
+_py2sss_murmur_la_LIBADD = \
|
||||||
|
+ $(PYTHON2_LIBS)
|
||||||
|
+_py2sss_murmur_la_LDFLAGS = $(pysss_murmur_la_LDFLAGS)
|
||||||
|
+
|
||||||
|
+_py3sss_murmur_la_SOURCES = $(pysss_murmur_la_SOURCES)
|
||||||
|
+_py3sss_murmur_la_CFLAGS = \
|
||||||
|
+ $(AM_CFLAGS) \
|
||||||
|
+ $(PYTHON3_CFLAGS)
|
||||||
|
+_py3sss_murmur_la_LIBADD = \
|
||||||
|
+ $(PYTHON3_LIBS)
|
||||||
|
+_py3sss_murmur_la_LDFLAGS = $(pysss_murmur_la_LDFLAGS)
|
||||||
|
+
|
||||||
|
+
|
||||||
|
pysss_nss_idmap_la_SOURCES = \
|
||||||
|
src/python/pysss_nss_idmap.c
|
||||||
|
-pysss_nss_idmap_la_CFLAGS = \
|
||||||
|
- $(AM_CFLAGS) \
|
||||||
|
- $(PYTHON_CFLAGS)
|
||||||
|
-pysss_nss_idmap_la_LIBADD = \
|
||||||
|
- $(PYTHON_LIBS) \
|
||||||
|
- libsss_nss_idmap.la
|
||||||
|
pysss_nss_idmap_la_LDFLAGS = \
|
||||||
|
-avoid-version \
|
||||||
|
-module
|
||||||
|
-endif
|
||||||
|
+
|
||||||
|
+_py2sss_nss_idmap_la_SOURCES = $(pysss_nss_idmap_la_SOURCES)
|
||||||
|
+_py2sss_nss_idmap_la_CFLAGS = \
|
||||||
|
+ $(AM_CFLAGS) \
|
||||||
|
+ $(PYTHON2_CFLAGS)
|
||||||
|
+_py2sss_nss_idmap_la_LIBADD = \
|
||||||
|
+ $(PYTHON2_LIBS) \
|
||||||
|
+ libsss_nss_idmap.la
|
||||||
|
+_py2sss_nss_idmap_la_LDFLAGS = $(pysss_nss_idmap_la_LDFLAGS)
|
||||||
|
+
|
||||||
|
+_py3sss_nss_idmap_la_SOURCES = $(pysss_nss_idmap_la_SOURCES)
|
||||||
|
+_py3sss_nss_idmap_la_CFLAGS = \
|
||||||
|
+ $(AM_CFLAGS) \
|
||||||
|
+ $(PYTHON3_CFLAGS)
|
||||||
|
+_py3sss_nss_idmap_la_LIBADD = \
|
||||||
|
+ $(PYTHON3_LIBS) \
|
||||||
|
+ libsss_nss_idmap.la
|
||||||
|
+_py3sss_nss_idmap_la_LDFLAGS = $(pysss_nss_idmap_la_LDFLAGS)
|
||||||
|
+# end of python[23] bindings
|
||||||
|
|
||||||
|
if BUILD_CIFS_IDMAP_PLUGIN
|
||||||
|
cifs_idmap_sss_la_SOURCES = \
|
||||||
|
@@ -2995,17 +3056,51 @@ SSSSCONFIG_MODULES =
|
||||||
|
endif
|
||||||
|
|
||||||
|
all-local: ldb_mod_test_dir $(SSSDCONFIG_MODULES)
|
||||||
|
-if BUILD_PYTHON_BINDINGS
|
||||||
|
- cd $(builddir)/src/config; $(PYTHON) setup.py build --build-base $(abs_builddir)/src/config
|
||||||
|
+if BUILD_PYTHON2_BINDINGS
|
||||||
|
+ cd $(builddir)/src/config; \
|
||||||
|
+ $(PYTHON2) setup.py build --build-base $(abs_builddir)/src/config
|
||||||
|
+endif
|
||||||
|
+if BUILD_PYTHON3_BINDINGS
|
||||||
|
+ cd $(builddir)/src/config; \
|
||||||
|
+ $(PYTHON3) setup.py build --build-base $(abs_builddir)/src/config
|
||||||
|
endif
|
||||||
|
|
||||||
|
install-exec-hook: installsssddirs
|
||||||
|
-if BUILD_PYTHON_BINDINGS
|
||||||
|
+if BUILD_PYTHON2_BINDINGS
|
||||||
|
if [ "$(DESTDIR)" = "" ]; then \
|
||||||
|
- cd $(builddir)/src/config; $(PYTHON) setup.py build --build-base $(abs_builddir)/src/config install $(DISTSETUPOPTS) --prefix=$(PYTHON_PREFIX) --record=$(abs_builddir)/src/config/.files; \
|
||||||
|
+ cd $(builddir)/src/config; \
|
||||||
|
+ $(PYTHON2) setup.py build --build-base $(abs_builddir)/src/config \
|
||||||
|
+ install $(DISTSETUPOPTS) --prefix=$(PYTHON2_PREFIX) \
|
||||||
|
+ --record=$(abs_builddir)/src/config/.files2; \
|
||||||
|
else \
|
||||||
|
- cd $(builddir)/src/config; $(PYTHON) setup.py build --build-base $(abs_builddir)/src/config install $(DISTSETUPOPTS) --prefix=$(PYTHON_PREFIX) --root=$(DESTDIR) --record=$(abs_builddir)/src/config/.files; \
|
||||||
|
+ cd $(builddir)/src/config; \
|
||||||
|
+ $(PYTHON2) setup.py build --build-base $(abs_builddir)/src/config \
|
||||||
|
+ install $(DISTSETUPOPTS) --prefix=$(PYTHON2_PREFIX) \
|
||||||
|
+ --record=$(abs_builddir)/src/config/.files2 --root=$(DESTDIR); \
|
||||||
|
fi
|
||||||
|
+ cd $(DESTDIR)$(py2execdir) && \
|
||||||
|
+ $(LN_S) _py2sss.so pysss.so ; \
|
||||||
|
+ $(LN_S) _py2hbac.so pyhbac.so ; \
|
||||||
|
+ $(LN_S) _py2sss_murmur.so pysss_murmur.so ; \
|
||||||
|
+ $(LN_S) _py2sss_nss_idmap.so pysss_nss_idmap.so
|
||||||
|
+endif
|
||||||
|
+if BUILD_PYTHON3_BINDINGS
|
||||||
|
+ if [ "$(DESTDIR)" = "" ]; then \
|
||||||
|
+ cd $(builddir)/src/config; \
|
||||||
|
+ $(PYTHON3) setup.py build --build-base $(abs_builddir)/src/config \
|
||||||
|
+ install $(DISTSETUPOPTS) --prefix=$(PYTHON3_PREFIX) \
|
||||||
|
+ --record=$(abs_builddir)/src/config/.files3; \
|
||||||
|
+ else \
|
||||||
|
+ cd $(builddir)/src/config; \
|
||||||
|
+ $(PYTHON3) setup.py build --build-base $(abs_builddir)/src/config \
|
||||||
|
+ install $(DISTSETUPOPTS) --prefix=$(PYTHON3_PREFIX) \
|
||||||
|
+ --record=$(abs_builddir)/src/config/.files3 --root=$(DESTDIR); \
|
||||||
|
+ fi
|
||||||
|
+ cd $(DESTDIR)$(py3execdir) && \
|
||||||
|
+ $(LN_S) _py3sss.so pysss.so ; \
|
||||||
|
+ $(LN_S) _py3hbac.so pyhbac.so ; \
|
||||||
|
+ $(LN_S) _py3sss_murmur.so pysss_murmur.so ; \
|
||||||
|
+ $(LN_S) _py3sss_nss_idmap.so pysss_nss_idmap.so
|
||||||
|
endif
|
||||||
|
for doc in $(SSSD_DOCS); do \
|
||||||
|
$(MKDIR_P) $$doc $(DESTDIR)/$(docdir); \
|
||||||
|
@@ -3039,16 +3134,20 @@ install-data-hook:
|
||||||
|
fi
|
||||||
|
|
||||||
|
uninstall-hook:
|
||||||
|
- if [ -f $(abs_builddir)/src/config/.files ]; then \
|
||||||
|
- cat $(abs_builddir)/src/config/.files | xargs -iq rm -f $(DESTDIR)/q; \
|
||||||
|
- rm $(abs_builddir)/src/config/.files ; \
|
||||||
|
+ if [ -f $(abs_builddir)/src/config/.files2 ]; then \
|
||||||
|
+ cat $(abs_builddir)/src/config/.files2 | xargs -iq rm -f $(DESTDIR)/q; \
|
||||||
|
+ rm $(abs_builddir)/src/config/.files2 ; \
|
||||||
|
+ fi
|
||||||
|
+ if [ -f $(abs_builddir)/src/config/.files3 ]; then \
|
||||||
|
+ cat $(abs_builddir)/src/config/.files3 | xargs -iq rm -f $(DESTDIR)/q; \
|
||||||
|
+ rm $(abs_builddir)/src/config/.files3 ; \
|
||||||
|
fi
|
||||||
|
for doc in $(SSSD_DOCS); do \
|
||||||
|
rm -Rf $(DESTDIR)/$(docdir)/$$doc; \
|
||||||
|
done;
|
||||||
|
|
||||||
|
clean-local:
|
||||||
|
-if BUILD_PYTHON_BINDINGS
|
||||||
|
+if BUILD_PYTHON2_BINDINGS
|
||||||
|
if [ ! $(srcdir)/src/config/SSSDConfig/ipachangeconf.py -ef $(builddir)/src/config/SSSDConfig/ipachangeconf.py ]; then \
|
||||||
|
rm -f $(builddir)/src/config/SSSDConfig/ipachangeconf.py ; \
|
||||||
|
fi
|
||||||
|
@@ -3059,7 +3158,20 @@ if BUILD_PYTHON_BINDINGS
|
||||||
|
|
||||||
|
rm -f $(builddir)/src/config/SSSDConfig/*.pyc
|
||||||
|
|
||||||
|
- cd $(builddir)/src/config; $(PYTHON) setup.py build --build-base $(abs_builddir)/src/config clean --all
|
||||||
|
+ cd $(builddir)/src/config; $(PYTHON2) setup.py build --build-base $(abs_builddir)/src/config clean --all
|
||||||
|
+endif
|
||||||
|
+if BUILD_PYTHON3_BINDINGS
|
||||||
|
+ if [ ! $(srcdir)/src/config/SSSDConfig/ipachangeconf.py -ef $(builddir)/src/config/SSSDConfig/ipachangeconf.py ]; then \
|
||||||
|
+ rm -f $(builddir)/src/config/SSSDConfig/ipachangeconf.py ; \
|
||||||
|
+ fi
|
||||||
|
+
|
||||||
|
+ if [ ! $(srcdir)/src/config/SSSDConfig/ipachangeconf.py -ef $(builddir)/src/config/SSSDConfig/ipachangeconf.py ]; then \
|
||||||
|
+ rm -f $(builddir)/src/config/SSSDConfig/sssd_upgrade_config.py ; \
|
||||||
|
+ fi
|
||||||
|
+
|
||||||
|
+ rm -f $(builddir)/src/config/SSSDConfig/__pycache__/*.pyc
|
||||||
|
+
|
||||||
|
+ cd $(builddir)/src/config; $(PYTHON3) setup.py build --build-base $(abs_builddir)/src/config clean --all
|
||||||
|
endif
|
||||||
|
for doc in $(SSSD_DOCS); do \
|
||||||
|
rm -Rf $$doc; \
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index f72e448528edcffb855504a38a179c400f98ac42..e30405f3a17ffd2c9899b6eb17af85ec9bc15234 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -117,7 +117,8 @@ WITH_KRB5_PLUGIN_PATH
|
||||||
|
WITH_KRB5_RCACHE_DIR
|
||||||
|
WITH_KRB5AUTHDATA_PLUGIN_PATH
|
||||||
|
WITH_KRB5_CONF
|
||||||
|
-WITH_PYTHON_BINDINGS
|
||||||
|
+WITH_PYTHON2_BINDINGS
|
||||||
|
+WITH_PYTHON3_BINDINGS
|
||||||
|
WITH_CIFS_PLUGIN_PATH
|
||||||
|
WITH_SELINUX
|
||||||
|
WITH_NSCD
|
||||||
|
@@ -247,16 +248,52 @@ AM_CONDITIONAL([HAVE_PROFILE_CATALOGS], [test "x$HAVE_PROFILE_CATALOGS" != "x"])
|
||||||
|
AM_CONDITIONAL([HAVE_MANPAGES], [test "x$HAVE_MANPAGES" != "x"])
|
||||||
|
AM_CONDITIONAL([HAVE_PO4A], [test "x$PO4A" != "xno"])
|
||||||
|
|
||||||
|
-if test x$HAVE_PYTHON_BINDINGS != x; then
|
||||||
|
+if test x$HAVE_PYTHON2_BINDINGS = x1; then
|
||||||
|
+ AC_PATH_PROG(PYTHON2, python2)
|
||||||
|
+ PYTHON=$PYTHON2
|
||||||
|
AM_PATH_PYTHON([2.6])
|
||||||
|
- AM_PYTHON_CONFIG([python])
|
||||||
|
+ AM_PYTHON_CONFIG([python2])
|
||||||
|
AM_CHECK_PYTHON_HEADERS([],
|
||||||
|
- AC_MSG_ERROR([Could not find python headers]))
|
||||||
|
+ AC_MSG_ERROR([Could not find python2 headers]))
|
||||||
|
AM_CHECK_PYTHON_COMPAT
|
||||||
|
- AC_SUBST([PYTHON_CFLAGS])
|
||||||
|
- AC_SUBST([PYTHON_LIBS])
|
||||||
|
+
|
||||||
|
+ AC_SUBST([py2execdir], [$pyexecdir])
|
||||||
|
+ AC_SUBST([python2dir], [$pythondir])
|
||||||
|
+ AC_SUBST([PYTHON2_CFLAGS], [$PYTHON_CFLAGS])
|
||||||
|
+ AC_SUBST([PYTHON2_LIBS], [$PYTHON_LIBS])
|
||||||
|
+ AC_SUBST([PYTHON2_INCLUDES], [$PYTHON_INCLUDES])
|
||||||
|
+ AC_SUBST([PYTHON2_VERSION], [$PYTHON_VERSION])
|
||||||
|
+ AC_SUBST([PYTHON2_PREFIX], [$PYTHON_PREFIX])
|
||||||
|
+ AC_SUBST([PYTHON2_EXEC_PREFIX], [$PYTHON_EXEC_PREFIX])
|
||||||
|
+
|
||||||
|
+ SSS_CLEAN_PYTHON_VARIABLES
|
||||||
|
fi
|
||||||
|
|
||||||
|
+if test x$HAVE_PYTHON3_BINDINGS = x1; then
|
||||||
|
+ AC_PATH_PROG(PYTHON3, python3)
|
||||||
|
+ PYTHON=$PYTHON3
|
||||||
|
+ AM_PATH_PYTHON([3.3])
|
||||||
|
+ AM_PYTHON_CONFIG([python3])
|
||||||
|
+ AM_CHECK_PYTHON_HEADERS([],
|
||||||
|
+ AC_MSG_ERROR([Could not find python3 headers]))
|
||||||
|
+ AM_CHECK_PYTHON_COMPAT
|
||||||
|
+
|
||||||
|
+ AC_SUBST([py3execdir], [$pyexecdir])
|
||||||
|
+ AC_SUBST([python3dir], [$pythondir])
|
||||||
|
+ AC_SUBST([PYTHON3_CFLAGS], [$PYTHON_CFLAGS])
|
||||||
|
+ AC_SUBST([PYTHON3_LIBS], [$PYTHON_LIBS])
|
||||||
|
+ AC_SUBST([PYTHON3_INCLUDES], [$PYTHON_INCLUDES])
|
||||||
|
+ AC_SUBST([PYTHON3_VERSION], [$PYTHON_VERSION])
|
||||||
|
+ AC_SUBST([PYTHON3_PREFIX], [$PYTHON_PREFIX])
|
||||||
|
+ AC_SUBST([PYTHON3_EXEC_PREFIX], [$PYTHON_EXEC_PREFIX])
|
||||||
|
+
|
||||||
|
+ SSS_CLEAN_PYTHON_VARIABLES
|
||||||
|
+fi
|
||||||
|
+
|
||||||
|
+AM_CONDITIONAL([BUILD_PYTHON_BINDINGS],
|
||||||
|
+ [test x"$with_python2_bindings" = xyes \
|
||||||
|
+ -o x"$with_python3_bindings" = xyes])
|
||||||
|
+
|
||||||
|
if test x$HAVE_SELINUX != x; then
|
||||||
|
AM_CHECK_SELINUX
|
||||||
|
AM_CHECK_SELINUX_LOGIN_DIR
|
||||||
|
diff --git a/contrib/sssd.spec.in b/contrib/sssd.spec.in
|
||||||
|
index 6d6f0b9294e2150549f36c64a11ace64be8a83cc..ecbb29dd9222578fdd2c8505770f0345684012f3 100644
|
||||||
|
--- a/contrib/sssd.spec.in
|
||||||
|
+++ b/contrib/sssd.spec.in
|
||||||
|
@@ -781,10 +781,12 @@ rm -rf $RPM_BUILD_ROOT
|
||||||
|
%files -n python-sss
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%{python_sitearch}/pysss.so
|
||||||
|
+%{python_sitearch}/_py2sss.so
|
||||||
|
|
||||||
|
%files -n python-sss-murmur
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%{python_sitearch}/pysss_murmur.so
|
||||||
|
+%{python_sitearch}/_py2sss_murmur.so
|
||||||
|
|
||||||
|
%files -n libsss_idmap
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
@@ -825,10 +827,12 @@ rm -rf $RPM_BUILD_ROOT
|
||||||
|
%files -n python-libsss_nss_idmap
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%{python_sitearch}/pysss_nss_idmap.so
|
||||||
|
+%{python_sitearch}/_py2sss_nss_idmap.so
|
||||||
|
|
||||||
|
%files -n python-libipa_hbac
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%{python_sitearch}/pyhbac.so
|
||||||
|
+%{python_sitearch}/_py2hbac.so
|
||||||
|
|
||||||
|
%files libwbclient
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
diff --git a/src/conf_macros.m4 b/src/conf_macros.m4
|
||||||
|
index 027490e524f321b9d444395e788aa7476dd916e9..ff49f84421ac6be8a2a5f5840283485ea16d671d 100644
|
||||||
|
--- a/src/conf_macros.m4
|
||||||
|
+++ b/src/conf_macros.m4
|
||||||
|
@@ -360,21 +360,38 @@ AC_DEFUN([WITH_KRB5_CONF],
|
||||||
|
AC_DEFINE_UNQUOTED([KRB5_CONF_PATH], ["$KRB5_CONF_PATH"], [KRB5 configuration file])
|
||||||
|
])
|
||||||
|
|
||||||
|
-AC_DEFUN([WITH_PYTHON_BINDINGS],
|
||||||
|
- [ AC_ARG_WITH([python-bindings],
|
||||||
|
- [AC_HELP_STRING([--with-python-bindings],
|
||||||
|
- [Whether to build python bindings [yes]]
|
||||||
|
- )
|
||||||
|
+AC_DEFUN([WITH_PYTHON2_BINDINGS],
|
||||||
|
+ [ AC_ARG_WITH([python2-bindings],
|
||||||
|
+ [AC_HELP_STRING([--with-python2-bindings],
|
||||||
|
+ [Whether to build python2 bindings [yes]])
|
||||||
|
],
|
||||||
|
[],
|
||||||
|
- with_python_bindings=yes
|
||||||
|
+ [with_python2_bindings=yes]
|
||||||
|
)
|
||||||
|
- if test x"$with_python_bindings" = xyes; then
|
||||||
|
- HAVE_PYTHON_BINDINGS=1
|
||||||
|
- AC_SUBST(HAVE_PYTHON_BINDINGS)
|
||||||
|
- AC_DEFINE_UNQUOTED(HAVE_PYTHON_BINDINGS, 1, [Build with python bindings])
|
||||||
|
+ if test x"$with_python2_bindings" = xyes; then
|
||||||
|
+ AC_SUBST([HAVE_PYTHON2_BINDINGS], [1])
|
||||||
|
+ AC_DEFINE_UNQUOTED([HAVE_PYTHON2_BINDINGS], [1],
|
||||||
|
+ [Build with python2 bindings])
|
||||||
|
fi
|
||||||
|
- AM_CONDITIONAL([BUILD_PYTHON_BINDINGS], [test x"$with_python_bindings" = xyes])
|
||||||
|
+ AM_CONDITIONAL([BUILD_PYTHON2_BINDINGS],
|
||||||
|
+ [test x"$with_python2_bindings" = xyes])
|
||||||
|
+ ])
|
||||||
|
+
|
||||||
|
+AC_DEFUN([WITH_PYTHON3_BINDINGS],
|
||||||
|
+ [ AC_ARG_WITH([python3-bindings],
|
||||||
|
+ [AC_HELP_STRING([--with-python3-bindings],
|
||||||
|
+ [Whether to build python3 bindings [yes]])
|
||||||
|
+ ],
|
||||||
|
+ [],
|
||||||
|
+ [with_python3_bindings=no]
|
||||||
|
+ )
|
||||||
|
+ if test x"$with_python3_bindings" = xyes; then
|
||||||
|
+ AC_SUBST([HAVE_PYTHON3_BINDINGS], [1])
|
||||||
|
+ AC_DEFINE_UNQUOTED([HAVE_PYTHON3_BINDINGS], [1],
|
||||||
|
+ [Build with python3 bindings])
|
||||||
|
+ fi
|
||||||
|
+ AM_CONDITIONAL([BUILD_PYTHON3_BINDINGS],
|
||||||
|
+ [test x"$with_python3_bindings" = xyes])
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN([WITH_SELINUX],
|
||||||
|
diff --git a/src/tests/pyhbac-test.py b/src/tests/pyhbac-test.py
|
||||||
|
index 0abc5703dedb2466b4d99718b5b524951b8af95c..83958d7bffcccea375c79166ee7dfca6f9956cff 100755
|
||||||
|
--- a/src/tests/pyhbac-test.py
|
||||||
|
+++ b/src/tests/pyhbac-test.py
|
||||||
|
@@ -6,10 +6,9 @@ import sys
|
||||||
|
import os
|
||||||
|
import copy
|
||||||
|
import sys
|
||||||
|
+import errno
|
||||||
|
|
||||||
|
-srcdir = os.getenv('builddir')
|
||||||
|
-if not srcdir:
|
||||||
|
- srcdir = "."
|
||||||
|
+srcdir = os.getenv('builddir') or "."
|
||||||
|
MODPATH = srcdir + "/.libs" #FIXME - is there a way to get this from libtool?
|
||||||
|
|
||||||
|
if sys.version_info[0] > 2:
|
||||||
|
@@ -41,6 +40,23 @@ class PyHbacImport(unittest.TestCase):
|
||||||
|
def testImport(self):
|
||||||
|
" Import the module and assert it comes from tree "
|
||||||
|
try:
|
||||||
|
+ cwd_backup = os.getcwd()
|
||||||
|
+
|
||||||
|
+ try:
|
||||||
|
+ os.unlink(MODPATH + "/pyhbac.so")
|
||||||
|
+ except OSError as e:
|
||||||
|
+ if e.errno == errno.ENOENT:
|
||||||
|
+ pass
|
||||||
|
+ else:
|
||||||
|
+ raise e
|
||||||
|
+
|
||||||
|
+ os.chdir(MODPATH)
|
||||||
|
+ if sys.version_info[0] > 2:
|
||||||
|
+ os.symlink("_py3hbac.so", "pyhbac.so")
|
||||||
|
+ else:
|
||||||
|
+ os.symlink("_py2hbac.so", "pyhbac.so")
|
||||||
|
+ os.chdir(cwd_backup)
|
||||||
|
+
|
||||||
|
import pyhbac
|
||||||
|
except ImportError as e:
|
||||||
|
print("Could not load the pyhbac module. Please check if it is compiled", file=sys.stderr)
|
||||||
|
diff --git a/src/tests/pysss_murmur-test.py b/src/tests/pysss_murmur-test.py
|
||||||
|
index 0b28f45e67cb4b033516a585867085dba7b412e6..faa8bb2d33b9d94d380b8f7045ba45aa06ac4793 100755
|
||||||
|
--- a/src/tests/pysss_murmur-test.py
|
||||||
|
+++ b/src/tests/pysss_murmur-test.py
|
||||||
|
@@ -23,10 +23,9 @@ import unittest
|
||||||
|
import sys
|
||||||
|
import os
|
||||||
|
import copy
|
||||||
|
+import errno
|
||||||
|
|
||||||
|
-srcdir = os.getenv('builddir')
|
||||||
|
-if not srcdir:
|
||||||
|
- srcdir = "."
|
||||||
|
+srcdir = os.getenv('builddir') or "."
|
||||||
|
MODPATH = srcdir + "/.libs" #FIXME - is there a way to get this from libtool?
|
||||||
|
|
||||||
|
def compat_assertItemsEqual(this, expected_seq, actual_seq, msg=None):
|
||||||
|
@@ -57,6 +56,23 @@ class PySssMurmurImport(unittest.TestCase):
|
||||||
|
def testImport(self):
|
||||||
|
" Import the module and assert it comes from tree "
|
||||||
|
try:
|
||||||
|
+ cwd_backup = os.getcwd()
|
||||||
|
+
|
||||||
|
+ try:
|
||||||
|
+ os.unlink(MODPATH + "/pysss_murmur.so")
|
||||||
|
+ except OSError as e:
|
||||||
|
+ if e.errno == errno.ENOENT:
|
||||||
|
+ pass
|
||||||
|
+ else:
|
||||||
|
+ raise e
|
||||||
|
+
|
||||||
|
+ os.chdir(MODPATH)
|
||||||
|
+ if sys.version_info[0] > 2:
|
||||||
|
+ os.symlink("_py3sss_murmur.so", "pysss_murmur.so")
|
||||||
|
+ else:
|
||||||
|
+ os.symlink("_py2sss_murmur.so", "pysss_murmur.so")
|
||||||
|
+ os.chdir(cwd_backup)
|
||||||
|
+
|
||||||
|
import pysss_murmur
|
||||||
|
except ImportError as e:
|
||||||
|
print("Could not load the pysss_murmur module. Please check if it is compiled", file=sys.stderr)
|
||||||
|
--
|
||||||
|
2.1.0
|
||||||
|
|
146
0013-TESTS-Run-python-tests-with-all-supported-python-ver.patch
Normal file
146
0013-TESTS-Run-python-tests-with-all-supported-python-ver.patch
Normal file
@ -0,0 +1,146 @@
|
|||||||
|
From 63f84d9c9b662bc66ac7125307c1918dc6a671a7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lukas Slebodnik <lslebodn@redhat.com>
|
||||||
|
Date: Mon, 23 Feb 2015 22:56:55 +0100
|
||||||
|
Subject: [PATCH 13/15] TESTS: Run python tests with all supported python
|
||||||
|
versions
|
||||||
|
|
||||||
|
This patch add simple bash wrappers for python tests.
|
||||||
|
They are executed either with python2 or python3.
|
||||||
|
|
||||||
|
Reviewed-by: Stephen Gallagher <sgallagh@redhat.com>
|
||||||
|
---
|
||||||
|
Makefile.am | 23 ++++++++++++++++++-----
|
||||||
|
src/config/SSSDConfigTest.py2.sh | 5 +++++
|
||||||
|
src/config/SSSDConfigTest.py3.sh | 5 +++++
|
||||||
|
src/tests/pyhbac-test.py2.sh | 5 +++++
|
||||||
|
src/tests/pyhbac-test.py3.sh | 5 +++++
|
||||||
|
src/tests/pysss_murmur-test.py2.sh | 5 +++++
|
||||||
|
src/tests/pysss_murmur-test.py3.sh | 5 +++++
|
||||||
|
7 files changed, 48 insertions(+), 5 deletions(-)
|
||||||
|
create mode 100755 src/config/SSSDConfigTest.py2.sh
|
||||||
|
create mode 100755 src/config/SSSDConfigTest.py3.sh
|
||||||
|
create mode 100755 src/tests/pyhbac-test.py2.sh
|
||||||
|
create mode 100755 src/tests/pyhbac-test.py3.sh
|
||||||
|
create mode 100755 src/tests/pysss_murmur-test.py2.sh
|
||||||
|
create mode 100755 src/tests/pysss_murmur-test.py3.sh
|
||||||
|
|
||||||
|
diff --git a/Makefile.am b/Makefile.am
|
||||||
|
index 14ee3dd528f0d89b3e0d2afdb99313e6c570234f..605fd1ff5e479078d579ac7524507546261d469c 100644
|
||||||
|
--- a/Makefile.am
|
||||||
|
+++ b/Makefile.am
|
||||||
|
@@ -248,13 +248,20 @@ endif # HAVE_CMOCKA
|
||||||
|
|
||||||
|
PYTHON_TESTS =
|
||||||
|
|
||||||
|
-if BUILD_PYTHON_BINDINGS
|
||||||
|
-PYTHON_TESTS += src/config/SSSDConfigTest.py \
|
||||||
|
- src/tests/pyhbac-test.py \
|
||||||
|
- src/tests/pysss_murmur-test.py
|
||||||
|
+if BUILD_PYTHON2_BINDINGS
|
||||||
|
+PYTHON_TESTS += src/config/SSSDConfigTest.py2.sh \
|
||||||
|
+ src/tests/pyhbac-test.py2.sh \
|
||||||
|
+ src/tests/pysss_murmur-test.py2.sh \
|
||||||
|
+ $(NULL)
|
||||||
|
+endif
|
||||||
|
+if BUILD_PYTHON3_BINDINGS
|
||||||
|
+PYTHON_TESTS += src/config/SSSDConfigTest.py3.sh \
|
||||||
|
+ src/tests/pyhbac-test.py3.sh \
|
||||||
|
+ src/tests/pysss_murmur-test.py3.sh \
|
||||||
|
+ $(NULL)
|
||||||
|
endif
|
||||||
|
|
||||||
|
-TEST_EXTENSIONS = .py
|
||||||
|
+TEST_EXTENSIONS = .sh
|
||||||
|
TESTS = \
|
||||||
|
$(PYTHON_TESTS) \
|
||||||
|
$(non_interactive_cmocka_based_tests) \
|
||||||
|
@@ -323,6 +330,8 @@ dist_noinst_SCRIPTS = \
|
||||||
|
src/config/SSSDConfig/ipachangeconf.py \
|
||||||
|
src/config/SSSDConfig/__init__.py \
|
||||||
|
src/config/SSSDConfigTest.py \
|
||||||
|
+ src/config/SSSDConfigTest.py2.sh \
|
||||||
|
+ src/config/SSSDConfigTest.py3.sh \
|
||||||
|
src/config/SSSDConfig/sssd_upgrade_config.py \
|
||||||
|
contrib/rhel/update_debug_levels.py \
|
||||||
|
contrib/fedora/bashrc_sssd \
|
||||||
|
@@ -333,7 +342,11 @@ dist_noinst_SCRIPTS = \
|
||||||
|
contrib/ci/run \
|
||||||
|
contrib/ci/valgrind-condense \
|
||||||
|
src/tests/pyhbac-test.py \
|
||||||
|
+ src/tests/pyhbac-test.py2.sh \
|
||||||
|
+ src/tests/pyhbac-test.py3.sh \
|
||||||
|
src/tests/pysss_murmur-test.py \
|
||||||
|
+ src/tests/pysss_murmur-test.py2.sh \
|
||||||
|
+ src/tests/pysss_murmur-test.py3.sh \
|
||||||
|
src/tests/python-test.py \
|
||||||
|
$(NULL)
|
||||||
|
|
||||||
|
diff --git a/src/config/SSSDConfigTest.py2.sh b/src/config/SSSDConfigTest.py2.sh
|
||||||
|
new file mode 100755
|
||||||
|
index 0000000000000000000000000000000000000000..7bbd82af3997b295d48f8ea6d1d59afd5eaba43f
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/src/config/SSSDConfigTest.py2.sh
|
||||||
|
@@ -0,0 +1,5 @@
|
||||||
|
+#!/bin/sh
|
||||||
|
+
|
||||||
|
+SCRIPT=$(readlink -f "$0")
|
||||||
|
+SCRIPT_PATH=$(dirname "$SCRIPT")
|
||||||
|
+exec python2 $SCRIPT_PATH/SSSDConfigTest.py
|
||||||
|
diff --git a/src/config/SSSDConfigTest.py3.sh b/src/config/SSSDConfigTest.py3.sh
|
||||||
|
new file mode 100755
|
||||||
|
index 0000000000000000000000000000000000000000..89b9f0720473904fe093ee4c065ae01579ee94ef
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/src/config/SSSDConfigTest.py3.sh
|
||||||
|
@@ -0,0 +1,5 @@
|
||||||
|
+#!/bin/sh
|
||||||
|
+
|
||||||
|
+SCRIPT=$(readlink -f "$0")
|
||||||
|
+SCRIPT_PATH=$(dirname "$SCRIPT")
|
||||||
|
+exec python3 $SCRIPT_PATH/SSSDConfigTest.py
|
||||||
|
diff --git a/src/tests/pyhbac-test.py2.sh b/src/tests/pyhbac-test.py2.sh
|
||||||
|
new file mode 100755
|
||||||
|
index 0000000000000000000000000000000000000000..48cd16908eaf9cf2c61f8e5fda1d954f116c68cc
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/src/tests/pyhbac-test.py2.sh
|
||||||
|
@@ -0,0 +1,5 @@
|
||||||
|
+#!/bin/sh
|
||||||
|
+
|
||||||
|
+SCRIPT=$(readlink -f "$0")
|
||||||
|
+SCRIPT_PATH=$(dirname "$SCRIPT")
|
||||||
|
+exec python2 $SCRIPT_PATH/pyhbac-test.py
|
||||||
|
diff --git a/src/tests/pyhbac-test.py3.sh b/src/tests/pyhbac-test.py3.sh
|
||||||
|
new file mode 100755
|
||||||
|
index 0000000000000000000000000000000000000000..862c7b23a87ea9d0b747dca12466175f0fd00b76
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/src/tests/pyhbac-test.py3.sh
|
||||||
|
@@ -0,0 +1,5 @@
|
||||||
|
+#!/bin/sh
|
||||||
|
+
|
||||||
|
+SCRIPT=$(readlink -f "$0")
|
||||||
|
+SCRIPT_PATH=$(dirname "$SCRIPT")
|
||||||
|
+exec python3 $SCRIPT_PATH/pyhbac-test.py
|
||||||
|
diff --git a/src/tests/pysss_murmur-test.py2.sh b/src/tests/pysss_murmur-test.py2.sh
|
||||||
|
new file mode 100755
|
||||||
|
index 0000000000000000000000000000000000000000..714459786c19b69f738e91df77d9423eba2b72fd
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/src/tests/pysss_murmur-test.py2.sh
|
||||||
|
@@ -0,0 +1,5 @@
|
||||||
|
+#!/bin/sh
|
||||||
|
+
|
||||||
|
+SCRIPT=$(readlink -f "$0")
|
||||||
|
+SCRIPT_PATH=$(dirname "$SCRIPT")
|
||||||
|
+exec python2 $SCRIPT_PATH/pysss_murmur-test.py
|
||||||
|
diff --git a/src/tests/pysss_murmur-test.py3.sh b/src/tests/pysss_murmur-test.py3.sh
|
||||||
|
new file mode 100755
|
||||||
|
index 0000000000000000000000000000000000000000..00b352ad3e15ba7d53885b86129bf76ede7ca4e6
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/src/tests/pysss_murmur-test.py3.sh
|
||||||
|
@@ -0,0 +1,5 @@
|
||||||
|
+#!/bin/sh
|
||||||
|
+
|
||||||
|
+SCRIPT=$(readlink -f "$0")
|
||||||
|
+SCRIPT_PATH=$(dirname "$SCRIPT")
|
||||||
|
+exec python3 $SCRIPT_PATH/pysss_murmur-test.py
|
||||||
|
--
|
||||||
|
2.1.0
|
||||||
|
|
91
0014-SPEC-Replace-python_-macros-with-python2_.patch
Normal file
91
0014-SPEC-Replace-python_-macros-with-python2_.patch
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
From dfd30a859fb397afa3346e282f70c07b88010744 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lukas Slebodnik <lslebodn@redhat.com>
|
||||||
|
Date: Tue, 10 Feb 2015 18:07:05 +0100
|
||||||
|
Subject: [PATCH 14/15] SPEC: Replace python_ macros with python2_
|
||||||
|
|
||||||
|
Reviewed-by: Stephen Gallagher <sgallagh@redhat.com>
|
||||||
|
---
|
||||||
|
contrib/sssd.spec.in | 34 ++++++++++++++++++++--------------
|
||||||
|
1 file changed, 20 insertions(+), 14 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/contrib/sssd.spec.in b/contrib/sssd.spec.in
|
||||||
|
index ecbb29dd9222578fdd2c8505770f0345684012f3..0a12fff74101ae4beaa41685bc6a5d13c1795447 100644
|
||||||
|
--- a/contrib/sssd.spec.in
|
||||||
|
+++ b/contrib/sssd.spec.in
|
||||||
|
@@ -1,8 +1,14 @@
|
||||||
|
%global rhel7_minor %(%{__grep} -o "7.[0-9]*" /etc/redhat-release |%{__sed} -s 's/7.//')
|
||||||
|
|
||||||
|
+%if 0%{?rhel} && 0%{?rhel} <= 6
|
||||||
|
+%{!?__python2: %global __python2 /usr/bin/python2}
|
||||||
|
+%{!?python2_sitelib: %global python2_sitelib %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
|
||||||
|
+%{!?python2_sitearch: %global python2_sitearch %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
|
||||||
|
+%endif
|
||||||
|
+
|
||||||
|
# Fedora and RHEL 6+
|
||||||
|
# we don't want to provide private python extension libs
|
||||||
|
-%define __provides_exclude_from %{python_sitearch}/.*\.so$
|
||||||
|
+%define __provides_exclude_from %{python2_sitearch}/.*\.so$
|
||||||
|
|
||||||
|
%if (0%{?fedora} || 0%{?rhel} >= 7)
|
||||||
|
%global use_systemd 1
|
||||||
|
@@ -528,9 +534,9 @@ rm -Rf ${RPM_BUILD_ROOT}/%{_docdir}/%{name}
|
||||||
|
|
||||||
|
# Older versions of rpmbuild can only handle one -f option
|
||||||
|
# So we need to append to the sssd*.lang file
|
||||||
|
-for file in `ls $RPM_BUILD_ROOT/%{python_sitelib}/*.egg-info 2> /dev/null`
|
||||||
|
+for file in `ls $RPM_BUILD_ROOT/%{python2_sitelib}/*.egg-info 2> /dev/null`
|
||||||
|
do
|
||||||
|
- echo %{python_sitelib}/`basename $file` >> python_sssdconfig.lang
|
||||||
|
+ echo %{python2_sitelib}/`basename $file` >> python2_sssdconfig.lang
|
||||||
|
done
|
||||||
|
|
||||||
|
touch sssd.lang
|
||||||
|
@@ -773,20 +779,20 @@ rm -rf $RPM_BUILD_ROOT
|
||||||
|
%{_mandir}/man8/sss_debuglevel.8*
|
||||||
|
%{_mandir}/man8/sss_seed.8*
|
||||||
|
|
||||||
|
-%files -n python-sssdconfig -f python_sssdconfig.lang
|
||||||
|
+%files -n python-sssdconfig -f python2_sssdconfig.lang
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
-%dir %{python_sitelib}/SSSDConfig
|
||||||
|
-%{python_sitelib}/SSSDConfig/*.py*
|
||||||
|
+%dir %{python2_sitelib}/SSSDConfig
|
||||||
|
+%{python2_sitelib}/SSSDConfig/*.py*
|
||||||
|
|
||||||
|
%files -n python-sss
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
-%{python_sitearch}/pysss.so
|
||||||
|
-%{python_sitearch}/_py2sss.so
|
||||||
|
+%{python2_sitearch}/pysss.so
|
||||||
|
+%{python2_sitearch}/_py2sss.so
|
||||||
|
|
||||||
|
%files -n python-sss-murmur
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
-%{python_sitearch}/pysss_murmur.so
|
||||||
|
-%{python_sitearch}/_py2sss_murmur.so
|
||||||
|
+%{python2_sitearch}/pysss_murmur.so
|
||||||
|
+%{python2_sitearch}/_py2sss_murmur.so
|
||||||
|
|
||||||
|
%files -n libsss_idmap
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
@@ -826,13 +832,13 @@ rm -rf $RPM_BUILD_ROOT
|
||||||
|
|
||||||
|
%files -n python-libsss_nss_idmap
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
-%{python_sitearch}/pysss_nss_idmap.so
|
||||||
|
-%{python_sitearch}/_py2sss_nss_idmap.so
|
||||||
|
+%{python2_sitearch}/pysss_nss_idmap.so
|
||||||
|
+%{python2_sitearch}/_py2sss_nss_idmap.so
|
||||||
|
|
||||||
|
%files -n python-libipa_hbac
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
-%{python_sitearch}/pyhbac.so
|
||||||
|
-%{python_sitearch}/_py2hbac.so
|
||||||
|
+%{python2_sitearch}/pyhbac.so
|
||||||
|
+%{python2_sitearch}/_py2hbac.so
|
||||||
|
|
||||||
|
%files libwbclient
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
--
|
||||||
|
2.1.0
|
||||||
|
|
378
0015-SPEC-Build-python3-bindings-on-available-platforms.patch
Normal file
378
0015-SPEC-Build-python3-bindings-on-available-platforms.patch
Normal file
@ -0,0 +1,378 @@
|
|||||||
|
From ee4ce01ae70a318eee764176d924dbc92b789c53 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lukas Slebodnik <lslebodn@redhat.com>
|
||||||
|
Date: Tue, 10 Feb 2015 19:39:45 +0100
|
||||||
|
Subject: [PATCH 15/15] SPEC: Build python3 bindings on available platforms
|
||||||
|
|
||||||
|
Resolves:
|
||||||
|
https://fedorahosted.org/sssd/ticket/2574
|
||||||
|
|
||||||
|
Reviewed-by: Stephen Gallagher <sgallagh@redhat.com>
|
||||||
|
---
|
||||||
|
contrib/ci/configure.sh | 6 ++
|
||||||
|
contrib/ci/deps.sh | 1 +
|
||||||
|
contrib/sssd.spec.in | 144 ++++++++++++++++++++++++++++++++++++++++++++---
|
||||||
|
src/conf_macros.m4 | 2 +-
|
||||||
|
src/tests/dlopen-tests.c | 14 +++--
|
||||||
|
5 files changed, 154 insertions(+), 13 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/contrib/ci/configure.sh b/contrib/ci/configure.sh
|
||||||
|
index 8af273043a77556a2eee10224ff2a0baaf53d497..d5d4c791a35f3583416efd904ad5804bcbebf4c8 100644
|
||||||
|
--- a/contrib/ci/configure.sh
|
||||||
|
+++ b/contrib/ci/configure.sh
|
||||||
|
@@ -35,9 +35,15 @@ if [[ "$DISTRO_BRANCH" == -redhat-redhatenterprise*-6.*- ]]; then
|
||||||
|
CONFIGURE_ARG_LIST+=(
|
||||||
|
"--disable-cifs-idmap-plugin"
|
||||||
|
"--with-syslog=syslog"
|
||||||
|
+ "--without-python3-bindings"
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
|
||||||
|
+if [[ "$DISTRO_BRANCH" == -redhat-redhatenterprise*-7.*- ]]; then
|
||||||
|
+ CONFIGURE_ARG_LIST+=(
|
||||||
|
+ "--without-python3-bindings"
|
||||||
|
+ )
|
||||||
|
+fi
|
||||||
|
declare -r -a CONFIGURE_ARG_LIST
|
||||||
|
|
||||||
|
fi # _CONFIGURE_SH
|
||||||
|
diff --git a/contrib/ci/deps.sh b/contrib/ci/deps.sh
|
||||||
|
index 0cdb9962987edddf4dd2fff659e3262bbd50b045..4e0ce1e0328927f42b3849d9c39180b4064a9d4b 100644
|
||||||
|
--- a/contrib/ci/deps.sh
|
||||||
|
+++ b/contrib/ci/deps.sh
|
||||||
|
@@ -92,6 +92,7 @@ if [[ "$DISTRO_BRANCH" == -debian-* ]]; then
|
||||||
|
libxml2-utils
|
||||||
|
make
|
||||||
|
python-dev
|
||||||
|
+ python3-dev
|
||||||
|
samba-dev
|
||||||
|
systemd
|
||||||
|
xml-core
|
||||||
|
diff --git a/contrib/sssd.spec.in b/contrib/sssd.spec.in
|
||||||
|
index 0a12fff74101ae4beaa41685bc6a5d13c1795447..7d0fbdc36747671a69eecdff26f49b4fbaedb586 100644
|
||||||
|
--- a/contrib/sssd.spec.in
|
||||||
|
+++ b/contrib/sssd.spec.in
|
||||||
|
@@ -9,6 +9,7 @@
|
||||||
|
# Fedora and RHEL 6+
|
||||||
|
# we don't want to provide private python extension libs
|
||||||
|
%define __provides_exclude_from %{python2_sitearch}/.*\.so$
|
||||||
|
+%define __provides_exclude_from %{python3_sitearch}/.*\.so$
|
||||||
|
|
||||||
|
%if (0%{?fedora} || 0%{?rhel} >= 7)
|
||||||
|
%global use_systemd 1
|
||||||
|
@@ -44,6 +45,12 @@
|
||||||
|
%global with_krb5_localauth_plugin 1
|
||||||
|
%endif
|
||||||
|
|
||||||
|
+%if (0%{?fedora})
|
||||||
|
+ %global with_python3 1
|
||||||
|
+%else
|
||||||
|
+ %global with_python3_option --without-python3-bindings
|
||||||
|
+%endif
|
||||||
|
+
|
||||||
|
Name: @PACKAGE_NAME@
|
||||||
|
Version: @PACKAGE_VERSION@
|
||||||
|
Release: 0@PRERELEASE_VERSION@%{?dist}
|
||||||
|
@@ -65,7 +72,11 @@ Requires: sssd-ipa = %{version}-%{release}
|
||||||
|
Requires: sssd-common-pac = %{version}-%{release}
|
||||||
|
Requires: sssd-ad = %{version}-%{release}
|
||||||
|
Requires: sssd-proxy = %{version}-%{release}
|
||||||
|
+%if (0%{?with_python3} == 1)
|
||||||
|
+Requires: python3-sssdconfig = %{version}-%{release}
|
||||||
|
+%else
|
||||||
|
Requires: python-sssdconfig = %{version}-%{release}
|
||||||
|
+%endif
|
||||||
|
|
||||||
|
%global servicename sssd
|
||||||
|
%global sssdstatedir %{_localstatedir}/lib/sss
|
||||||
|
@@ -106,6 +117,9 @@ BuildRequires: krb5-devel
|
||||||
|
%endif
|
||||||
|
BuildRequires: c-ares-devel
|
||||||
|
BuildRequires: python-devel
|
||||||
|
+%if (0%{?with_python3} == 1)
|
||||||
|
+BuildRequires: python3-devel
|
||||||
|
+%endif
|
||||||
|
BuildRequires: check-devel
|
||||||
|
BuildRequires: doxygen
|
||||||
|
BuildRequires: libselinux-devel
|
||||||
|
@@ -203,8 +217,13 @@ Group: Applications/System
|
||||||
|
License: GPLv3+
|
||||||
|
Requires: sssd-common = %{version}-%{release}
|
||||||
|
# required by sss_obfuscate
|
||||||
|
+%if (0%{?with_python3} == 1)
|
||||||
|
+Requires: python3-sss = %{version}-%{release}
|
||||||
|
+Requires: python3-sssdconfig = %{version}-%{release}
|
||||||
|
+%else
|
||||||
|
Requires: python-sss = %{version}-%{release}
|
||||||
|
Requires: python-sssdconfig = %{version}-%{release}
|
||||||
|
+%endif
|
||||||
|
|
||||||
|
%description tools
|
||||||
|
Provides userspace tools for manipulating users, groups, and nested groups in
|
||||||
|
@@ -222,29 +241,66 @@ License: GPLv3+
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
%description -n python-sssdconfig
|
||||||
|
-Provides python files for manipulation SSSD and IPA configuration files.
|
||||||
|
+Provides python2 files for manipulation SSSD and IPA configuration files.
|
||||||
|
+
|
||||||
|
+%if (0%{?with_python3} == 1)
|
||||||
|
+%package -n python3-sssdconfig
|
||||||
|
+Summary: SSSD and IPA configuration file manipulation classes and functions
|
||||||
|
+Group: Applications/System
|
||||||
|
+License: GPLv3+
|
||||||
|
+BuildArch: noarch
|
||||||
|
+
|
||||||
|
+%description -n python3-sssdconfig
|
||||||
|
+Provides python3 files for manipulation SSSD and IPA configuration files.
|
||||||
|
+%endif
|
||||||
|
|
||||||
|
%package -n python-sss
|
||||||
|
-Summary: Python bindings for sssd
|
||||||
|
+Summary: Python2 bindings for sssd
|
||||||
|
Group: Development/Libraries
|
||||||
|
License: LGPLv3+
|
||||||
|
Requires: sssd-common = %{version}-%{release}
|
||||||
|
|
||||||
|
%description -n python-sss
|
||||||
|
-Provides python module for manipulating users, groups, and nested groups in
|
||||||
|
+Provides python2 module for manipulating users, groups, and nested groups in
|
||||||
|
SSSD when using id_provider = local in /etc/sssd/sssd.conf.
|
||||||
|
|
||||||
|
-Also provides several other useful python bindings:
|
||||||
|
+Also provides several other useful python2 bindings:
|
||||||
|
* function for retrieving list of groups user belongs to.
|
||||||
|
* class for obfuscation of passwords
|
||||||
|
|
||||||
|
+%if (0%{?with_python3} == 1)
|
||||||
|
+%package -n python3-sss
|
||||||
|
+Summary: Python3 bindings for sssd
|
||||||
|
+Group: Development/Libraries
|
||||||
|
+License: LGPLv3+
|
||||||
|
+Requires: sssd-common = %{version}-%{release}
|
||||||
|
+
|
||||||
|
+%description -n python3-sss
|
||||||
|
+Provides python3 module for manipulating users, groups, and nested groups in
|
||||||
|
+SSSD when using id_provider = local in /etc/sssd/sssd.conf.
|
||||||
|
+
|
||||||
|
+Also provides several other useful python3 bindings:
|
||||||
|
+ * function for retrieving list of groups user belongs to.
|
||||||
|
+ * class for obfuscation of passwords
|
||||||
|
+%endif
|
||||||
|
+
|
||||||
|
%package -n python-sss-murmur
|
||||||
|
-Summary: Python bindings for murmur hash function
|
||||||
|
+Summary: Python2 bindings for murmur hash function
|
||||||
|
Group: Development/Libraries
|
||||||
|
License: LGPLv3+
|
||||||
|
|
||||||
|
%description -n python-sss-murmur
|
||||||
|
-Provides python module for calculating the murmur hash version 3
|
||||||
|
+Provides python2 module for calculating the murmur hash version 3
|
||||||
|
+
|
||||||
|
+%if (0%{?with_python3} == 1)
|
||||||
|
+%package -n python3-sss-murmur
|
||||||
|
+Summary: Python3 bindings for murmur hash function
|
||||||
|
+Group: Development/Libraries
|
||||||
|
+License: LGPLv3+
|
||||||
|
+
|
||||||
|
+%description -n python3-sss-murmur
|
||||||
|
+Provides python3 module for calculating the murmur hash version 3
|
||||||
|
+%endif
|
||||||
|
|
||||||
|
%package ldap
|
||||||
|
Summary: The LDAP back end of the SSSD
|
||||||
|
@@ -371,7 +427,7 @@ Requires: libipa_hbac = %{version}-%{release}
|
||||||
|
Utility library to validate FreeIPA HBAC rules for authorization requests
|
||||||
|
|
||||||
|
%package -n python-libipa_hbac
|
||||||
|
-Summary: Python bindings for the FreeIPA HBAC Evaluator library
|
||||||
|
+Summary: Python2 bindings for the FreeIPA HBAC Evaluator library
|
||||||
|
Group: Development/Libraries
|
||||||
|
License: LGPLv3+
|
||||||
|
Requires: libipa_hbac = %{version}-%{release}
|
||||||
|
@@ -382,6 +438,18 @@ Obsoletes: libipa_hbac-python < 1.12.90
|
||||||
|
The python-libipa_hbac contains the bindings so that libipa_hbac can be
|
||||||
|
used by Python applications.
|
||||||
|
|
||||||
|
+%if (0%{?with_python3} == 1)
|
||||||
|
+%package -n python3-libipa_hbac
|
||||||
|
+Summary: Python3 bindings for the FreeIPA HBAC Evaluator library
|
||||||
|
+Group: Development/Libraries
|
||||||
|
+License: LGPLv3+
|
||||||
|
+Requires: libipa_hbac = %{version}-%{release}
|
||||||
|
+
|
||||||
|
+%description -n python3-libipa_hbac
|
||||||
|
+The python3-libipa_hbac contains the bindings so that libipa_hbac can be
|
||||||
|
+used by Python applications.
|
||||||
|
+%endif
|
||||||
|
+
|
||||||
|
%package -n libsss_nss_idmap
|
||||||
|
Summary: Library for SID based lookups
|
||||||
|
Group: Development/Libraries
|
||||||
|
@@ -402,7 +470,7 @@ Requires: libsss_nss_idmap = %{version}-%{release}
|
||||||
|
Utility library for SID based lookups
|
||||||
|
|
||||||
|
%package -n python-libsss_nss_idmap
|
||||||
|
-Summary: Python bindings for libsss_nss_idmap
|
||||||
|
+Summary: Python2 bindings for libsss_nss_idmap
|
||||||
|
Group: Development/Libraries
|
||||||
|
License: LGPLv3+
|
||||||
|
Requires: libsss_nss_idmap = %{version}-%{release}
|
||||||
|
@@ -413,6 +481,18 @@ Obsoletes: libsss_nss_idmap-python < 1.12.90
|
||||||
|
The python-libsss_nss_idmap contains the bindings so that libsss_nss_idmap can
|
||||||
|
be used by Python applications.
|
||||||
|
|
||||||
|
+%if (0%{?with_python3} == 1)
|
||||||
|
+%package -n python3-libsss_nss_idmap
|
||||||
|
+Summary: Python3 bindings for libsss_nss_idmap
|
||||||
|
+Group: Development/Libraries
|
||||||
|
+License: LGPLv3+
|
||||||
|
+Requires: libsss_nss_idmap = %{version}-%{release}
|
||||||
|
+
|
||||||
|
+%description -n python3-libsss_nss_idmap
|
||||||
|
+The python3-libsss_nss_idmap contains the bindings so that libsss_nss_idmap can
|
||||||
|
+be used by Python applications.
|
||||||
|
+%endif
|
||||||
|
+
|
||||||
|
%package dbus
|
||||||
|
Summary: The D-Bus responder of the SSSD
|
||||||
|
Group: Applications/System
|
||||||
|
@@ -495,6 +575,7 @@ autoreconf -ivf
|
||||||
|
%{with_initscript} \
|
||||||
|
%{?with_syslog} \
|
||||||
|
%{?with_cifs_utils_plugin_option} \
|
||||||
|
+ %{?with_python3_option} \
|
||||||
|
%{?experimental}
|
||||||
|
|
||||||
|
make %{?_smp_mflags} all
|
||||||
|
@@ -509,6 +590,10 @@ unset CK_TIMEOUT_MULTIPLIER
|
||||||
|
%install
|
||||||
|
rm -rf $RPM_BUILD_ROOT
|
||||||
|
|
||||||
|
+%if (0%{?with_python3} == 1)
|
||||||
|
+sed -i -e 's:/usr/bin/python:/usr/bin/python3:' src/tools/sss_obfuscate
|
||||||
|
+%endif
|
||||||
|
+
|
||||||
|
make install DESTDIR=$RPM_BUILD_ROOT
|
||||||
|
|
||||||
|
# Prepare language files
|
||||||
|
@@ -539,6 +624,13 @@ do
|
||||||
|
echo %{python2_sitelib}/`basename $file` >> python2_sssdconfig.lang
|
||||||
|
done
|
||||||
|
|
||||||
|
+%if (0%{?with_python3} == 1)
|
||||||
|
+for file in `ls $RPM_BUILD_ROOT/%{python3_sitelib}/*.egg-info 2> /dev/null`
|
||||||
|
+do
|
||||||
|
+ echo %{python3_sitelib}/`basename $file` >> python3_sssdconfig.lang
|
||||||
|
+done
|
||||||
|
+%endif
|
||||||
|
+
|
||||||
|
touch sssd.lang
|
||||||
|
touch sssd_tools.lang
|
||||||
|
touch sssd_client.lang
|
||||||
|
@@ -784,16 +876,38 @@ rm -rf $RPM_BUILD_ROOT
|
||||||
|
%dir %{python2_sitelib}/SSSDConfig
|
||||||
|
%{python2_sitelib}/SSSDConfig/*.py*
|
||||||
|
|
||||||
|
+%if (0%{?with_python3} == 1)
|
||||||
|
+%files -n python3-sssdconfig -f python3_sssdconfig.lang
|
||||||
|
+%defattr(-,root,root,-)
|
||||||
|
+%dir %{python3_sitelib}/SSSDConfig
|
||||||
|
+%{python3_sitelib}/SSSDConfig/*.py*
|
||||||
|
+%{python3_sitelib}/SSSDConfig/__pycache__/*.py*
|
||||||
|
+%endif
|
||||||
|
+
|
||||||
|
%files -n python-sss
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%{python2_sitearch}/pysss.so
|
||||||
|
%{python2_sitearch}/_py2sss.so
|
||||||
|
|
||||||
|
+%if (0%{?with_python3} == 1)
|
||||||
|
+%files -n python3-sss
|
||||||
|
+%defattr(-,root,root,-)
|
||||||
|
+%{python3_sitearch}/pysss.so
|
||||||
|
+%{python3_sitearch}/_py3sss.so
|
||||||
|
+%endif
|
||||||
|
+
|
||||||
|
%files -n python-sss-murmur
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%{python2_sitearch}/pysss_murmur.so
|
||||||
|
%{python2_sitearch}/_py2sss_murmur.so
|
||||||
|
|
||||||
|
+%if (0%{?with_python3} == 1)
|
||||||
|
+%files -n python3-sss-murmur
|
||||||
|
+%defattr(-,root,root,-)
|
||||||
|
+%{python3_sitearch}/pysss_murmur.so
|
||||||
|
+%{python3_sitearch}/_py3sss_murmur.so
|
||||||
|
+%endif
|
||||||
|
+
|
||||||
|
%files -n libsss_idmap
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%doc src/sss_client/COPYING src/sss_client/COPYING.LESSER
|
||||||
|
@@ -835,11 +949,25 @@ rm -rf $RPM_BUILD_ROOT
|
||||||
|
%{python2_sitearch}/pysss_nss_idmap.so
|
||||||
|
%{python2_sitearch}/_py2sss_nss_idmap.so
|
||||||
|
|
||||||
|
+%if (0%{?with_python3} == 1)
|
||||||
|
+%files -n python3-libsss_nss_idmap
|
||||||
|
+%defattr(-,root,root,-)
|
||||||
|
+%{python3_sitearch}/pysss_nss_idmap.so
|
||||||
|
+%{python3_sitearch}/_py3sss_nss_idmap.so
|
||||||
|
+%endif
|
||||||
|
+
|
||||||
|
%files -n python-libipa_hbac
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%{python2_sitearch}/pyhbac.so
|
||||||
|
%{python2_sitearch}/_py2hbac.so
|
||||||
|
|
||||||
|
+%if (0%{?with_python3} == 1)
|
||||||
|
+%files -n python3-libipa_hbac
|
||||||
|
+%defattr(-,root,root,-)
|
||||||
|
+%{python3_sitearch}/pyhbac.so
|
||||||
|
+%{python3_sitearch}/_py3hbac.so
|
||||||
|
+%endif
|
||||||
|
+
|
||||||
|
%files libwbclient
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%{_libdir}/%{name}/modules/libwbclient.so.*
|
||||||
|
diff --git a/src/conf_macros.m4 b/src/conf_macros.m4
|
||||||
|
index ff49f84421ac6be8a2a5f5840283485ea16d671d..9ed0a4c44c209e88fc896d0cd3040cb572b358c9 100644
|
||||||
|
--- a/src/conf_macros.m4
|
||||||
|
+++ b/src/conf_macros.m4
|
||||||
|
@@ -383,7 +383,7 @@ AC_DEFUN([WITH_PYTHON3_BINDINGS],
|
||||||
|
[Whether to build python3 bindings [yes]])
|
||||||
|
],
|
||||||
|
[],
|
||||||
|
- [with_python3_bindings=no]
|
||||||
|
+ [with_python3_bindings=yes]
|
||||||
|
)
|
||||||
|
if test x"$with_python3_bindings" = xyes; then
|
||||||
|
AC_SUBST([HAVE_PYTHON3_BINDINGS], [1])
|
||||||
|
diff --git a/src/tests/dlopen-tests.c b/src/tests/dlopen-tests.c
|
||||||
|
index 5cc6cae693f09adae12df0d2267e0868ae2f74c0..e808f23e7560241e3fc158d71da2dbdbe1543dfc 100644
|
||||||
|
--- a/src/tests/dlopen-tests.c
|
||||||
|
+++ b/src/tests/dlopen-tests.c
|
||||||
|
@@ -96,10 +96,16 @@ struct so {
|
||||||
|
{ "libdlopen_test_providers.so", { LIBPFX"libdlopen_test_providers.so",
|
||||||
|
NULL } },
|
||||||
|
#ifdef HAVE_PYTHON_BINDINGS
|
||||||
|
- { "pyhbac.so", { LIBPFX"pyhbac.so", NULL } },
|
||||||
|
- { "pysss.so", { LIBPFX"pysss.so", NULL } },
|
||||||
|
- { "pysss_murmur.so", { LIBPFX"pysss_murmur.so", NULL } },
|
||||||
|
- { "pysss_nss_idmap.so", { LIBPFX"pysss_nss_idmap.so", NULL } },
|
||||||
|
+ { "_py2hbac.so", { LIBPFX"_py2hbac.so", NULL } },
|
||||||
|
+ { "_py2sss.so", { LIBPFX"_py2sss.so", NULL } },
|
||||||
|
+ { "_py2sss_murmur.so", { LIBPFX"_py2sss_murmur.so", NULL } },
|
||||||
|
+ { "_py2sss_nss_idmap.so", { LIBPFX"_py2sss_nss_idmap.so", NULL } },
|
||||||
|
+#endif
|
||||||
|
+#ifdef HAVE_PYTHON_BINDINGS
|
||||||
|
+ { "_py3hbac.so", { LIBPFX"_py3hbac.so", NULL } },
|
||||||
|
+ { "_py3sss.so", { LIBPFX"_py3sss.so", NULL } },
|
||||||
|
+ { "_py3sss_murmur.so", { LIBPFX"_py3sss_murmur.so", NULL } },
|
||||||
|
+ { "_py3sss_nss_idmap.so", { LIBPFX"_py3sss_nss_idmap.so", NULL } },
|
||||||
|
#endif
|
||||||
|
#ifdef HAVE_CONFIG_LIB
|
||||||
|
{ "libsss_config.so", { LIBPFX"libsss_config.so", NULL } },
|
||||||
|
--
|
||||||
|
2.1.0
|
||||||
|
|
15
sssd.spec
15
sssd.spec
@ -36,6 +36,21 @@ Source0: https://fedorahosted.org/released/sssd/%{name}-%{version}.tar.gz
|
|||||||
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
|
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
|
||||||
|
|
||||||
### Patches ###
|
### Patches ###
|
||||||
|
Patch0001: 0001-BUILD-Remove-unused-libraries-for-pysss.so.patch
|
||||||
|
Patch0002: 0002-BUILD-Remove-unused-variables.patch
|
||||||
|
Patch0003: 0003-BUILD-Remove-detection-of-type-Py_ssize_t.patch
|
||||||
|
Patch0004: 0004-UTIL-Remove-python-wrapper-sss_python_set_new.patch
|
||||||
|
Patch0005: 0005-UTIL-Remove-python-wrapper-sss_python_set_add.patch
|
||||||
|
Patch0006: 0006-UTIL-Remove-python-wrapper-sss_python_set_check.patch
|
||||||
|
Patch0007: 0007-UTIL-Remove-compatibility-macro-PyModule_AddIntMacro.patch
|
||||||
|
Patch0008: 0008-UTIL-Remove-python-wrapper-sss_python_unicode_from_s.patch
|
||||||
|
Patch0009: 0009-BUILD-Use-python-config-for-detection-FLAGS.patch
|
||||||
|
Patch0010: 0010-SPEC-Use-new-convention-for-python-packages.patch
|
||||||
|
Patch0011: 0011-SPEC-Move-python-bindings-to-separate-packages.patch
|
||||||
|
Patch0012: 0012-BUILD-Add-possibility-to-build-python-2-3-bindings.patch
|
||||||
|
Patch0013: 0013-TESTS-Run-python-tests-with-all-supported-python-ver.patch
|
||||||
|
Patch0014: 0014-SPEC-Replace-python_-macros-with-python2_.patch
|
||||||
|
Patch0015: 0015-SPEC-Build-python3-bindings-on-available-platforms.patch
|
||||||
|
|
||||||
### Dependencies ###
|
### Dependencies ###
|
||||||
Requires: sssd-common = %{version}-%{release}
|
Requires: sssd-common = %{version}-%{release}
|
||||||
|
Loading…
Reference in New Issue
Block a user