From a25075afc32bb2da89bd830c9df35083123803e8 Mon Sep 17 00:00:00 2001 From: Automatic Build System Date: Mon, 17 Feb 2025 17:01:41 +0100 Subject: [PATCH] automatic version update by autodist [release 25.0.0-1mamba;Mon Feb 17 2025] --- python-pyOpenSSL-elinks.patch | 33 ----- python-pyOpenSSL-nopdfout.patch | 46 ------- python-pyOpenSSL-threadsafe.patch | 197 ---------------------------- python-pyOpenSSL.spec | 65 +++++---- python-pyOpenSSLL-0.7-openssl.patch | 12 -- 5 files changed, 30 insertions(+), 323 deletions(-) delete mode 100644 python-pyOpenSSL-elinks.patch delete mode 100644 python-pyOpenSSL-nopdfout.patch delete mode 100644 python-pyOpenSSL-threadsafe.patch delete mode 100644 python-pyOpenSSLL-0.7-openssl.patch diff --git a/python-pyOpenSSL-elinks.patch b/python-pyOpenSSL-elinks.patch deleted file mode 100644 index cdbefab..0000000 --- a/python-pyOpenSSL-elinks.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff -Nur pyOpenSSL-0.5.1.orig/doc/tools/mkhowto pyOpenSSL-0.5.1/doc/tools/mkhowto ---- pyOpenSSL-0.5.1.orig/doc/tools/mkhowto 2001-07-30 13:31:48.000000000 +0200 -+++ pyOpenSSL-0.5.1/doc/tools/mkhowto 2003-08-08 16:46:10.000000000 +0200 -@@ -56,7 +56,7 @@ - DVIPS_BINARY = "dvips" - LATEX_BINARY = "latex" - LATEX2HTML_BINARY = "latex2html" --LYNX_BINARY = "lynx" -+LYNX_BINARY = "elinks" - MAKEINDEX_BINARY = "makeindex" - PDFLATEX_BINARY = "pdflatex" - PERL_BINARY = "perl" -@@ -397,7 +397,7 @@ - if tempdir is None: - tempdir = self.doc - indexfile = os.path.join(tempdir, "index.html") -- self.run("%s -nolist -dump %s >%s.txt" -+ self.run("%s -dump %s >%s.txt" - % (LYNX_BINARY, indexfile, self.doc)) - - def require_temps(self, binary=None): -diff -Nur pyOpenSSL-0.5.1.orig/setup.cfg pyOpenSSL-0.5.1/setup.cfg ---- pyOpenSSL-0.5.1.orig/setup.cfg 2002-09-10 00:05:21.000000000 +0200 -+++ pyOpenSSL-0.5.1/setup.cfg 2003-08-08 16:48:34.000000000 +0200 -@@ -4,7 +4,7 @@ - # bdist_rpm settings contributed by Mihai Ibanescu - [bdist_rpm] - release = 1 --build-requires = lynx openssl-devel python-devel perl tetex-dvips tetex-latex -+build-requires = elinks openssl-devel python-devel perl tetex-dvips tetex-latex - group = Development/Libraries - build_script = rpm/build_script - doc-files = doc/pyOpenSSL.txt doc/pyOpenSSL.ps doc/html diff --git a/python-pyOpenSSL-nopdfout.patch b/python-pyOpenSSL-nopdfout.patch deleted file mode 100644 index 0c30083..0000000 --- a/python-pyOpenSSL-nopdfout.patch +++ /dev/null @@ -1,46 +0,0 @@ ---- pyOpenSSL-0.6/doc/tools/texinputs/howto.cls.nopdfout 2001-07-16 07:53:03.000000000 -0400 -+++ pyOpenSSL-0.6/doc/tools/texinputs/howto.cls 2005-03-14 20:22:34.745230000 -0500 -@@ -54,10 +54,16 @@ - % changes \\ to ', ' (comma-space), making it pass muster for - % generating document info in the PDF file. - \def\\{, } -- \pdfinfo{ -- /Author (\@author) -- /Title (\@title) -- } -+ \ifx\pdfoutput\relax -+ \else -+ \ifcase\pdfoutput -+ \else -+ \pdfinfo{ -+ /Author (\@author) -+ /Title (\@title) -+ } -+ \fi -+ \fi - }} - \begin{flushright} - {\rm\Huge\py@HeaderFamily \@title} \par ---- pyOpenSSL-0.6/doc/tools/texinputs/manual.cls.nopdfout 2005-03-14 09:32:50.000000000 -0500 -+++ pyOpenSSL-0.6/doc/tools/texinputs/manual.cls 2005-03-14 09:34:20.000000000 -0500 -@@ -69,10 +69,16 @@ - % changes \\ to ', ' (comma-space), making it pass muster for - % generating document info in the PDF file. - \def\\{, } -- \pdfinfo{ -- /Author (\@author) -- /Title (\@title) -- } -+ \ifx\pdfoutput\relax -+ \else -+ \ifcase\pdfoutput -+ \else -+ \pdfinfo{% -+ /Author (\@author) -+ /Title (\@title) -+ } -+ \fi -+ \fi - }} - \begin{flushright}% - {\rm\Huge\py@HeaderFamily \@title \par}% diff --git a/python-pyOpenSSL-threadsafe.patch b/python-pyOpenSSL-threadsafe.patch deleted file mode 100644 index ad56567..0000000 --- a/python-pyOpenSSL-threadsafe.patch +++ /dev/null @@ -1,197 +0,0 @@ -diff -Nur pyOpenSSL-0.7-bad/src/crypto/crypto.c pyOpenSSL-0.7/src/crypto/crypto.c ---- pyOpenSSL-0.7-bad/src/crypto/crypto.c 2008-03-21 17:34:42.000000000 -0500 -+++ pyOpenSSL-0.7/src/crypto/crypto.c 2008-09-19 18:06:08.000000000 -0500 -@@ -694,6 +694,74 @@ - { NULL, NULL } - }; - -+ -+#ifdef WITH_THREAD -+ -+#include -+ -+#define MUTEX_TYPE pthread_mutex_t -+#define MUTEX_SETUP(x) pthread_mutex_init(&(x), NULL) -+#define MUTEX_CLEANUP(x) pthread_mutex_destroy(&(x)) -+#define MUTEX_LOCK(x) pthread_mutex_lock(&(x)) -+#define MUTEX_UNLOCK(x) pthread_mutex_unlock(&(x)) -+#define THREAD_ID pthread_self() -+ -+void handle_error(const char *file, int lineno, const char *msg) -+{ -+ fprintf(stderr, "** %s:%i %s\n", file, lineno, msg); -+ ERR_print_errors_fp(stderr); -+} -+ -+ -+/* This array will store all of the mutexes available to OpenSSL. */ -+static MUTEX_TYPE *mutex_buf = NULL; -+ -+ -+static void locking_function(int mode, int n, const char * file, int line) -+{ -+ if (mode & CRYPTO_LOCK) -+ MUTEX_LOCK(mutex_buf[n]); -+ else -+ MUTEX_UNLOCK(mutex_buf[n]); -+} -+ -+static unsigned long id_function(void) -+{ -+ return ((unsigned long)THREAD_ID); -+} -+ -+int init_openssl_threads(void) -+{ -+ int i; -+ -+ mutex_buf = (MUTEX_TYPE *)malloc(CRYPTO_num_locks() * sizeof(MUTEX_TYPE)); -+ if (!mutex_buf) -+ return 0; -+ for (i = 0; i < CRYPTO_num_locks(); i++) -+ MUTEX_SETUP(mutex_buf[i]); -+ CRYPTO_set_id_callback(id_function); -+ CRYPTO_set_locking_callback(locking_function); -+ return 1; -+} -+ -+int deinit_openssl_threads(void) -+{ -+ int i; -+ -+ if (!mutex_buf) -+ return 0; -+ CRYPTO_set_id_callback(NULL); -+ CRYPTO_set_locking_callback(NULL); -+ for (i = 0; i < CRYPTO_num_locks(); i++) -+ MUTEX_CLEANUP(mutex_buf[i]); -+ free(mutex_buf); -+ mutex_buf = NULL; -+ return 1; -+} -+ -+#endif -+ -+ - /* - * Initialize crypto sub module - * -@@ -739,6 +807,10 @@ - PyModule_AddIntConstant(module, "TYPE_DSA", crypto_TYPE_DSA); - - dict = PyModule_GetDict(module); -+#ifdef WITH_THREAD -+ if (!init_openssl_threads()) -+ goto error; -+#endif - if (!init_crypto_x509(dict)) - goto error; - if (!init_crypto_x509name(dict)) -diff -Nur pyOpenSSL-0.7-bad/src/ssl/context.c pyOpenSSL-0.7/src/ssl/context.c ---- pyOpenSSL-0.7-bad/src/ssl/context.c 2008-03-21 17:34:42.000000000 -0500 -+++ pyOpenSSL-0.7/src/ssl/context.c 2008-09-19 18:27:00.000000000 -0500 -@@ -64,39 +64,33 @@ - static int - global_passphrase_callback(char *buf, int maxlen, int verify, void *arg) - { -- int len; -+ int len = 0; - char *str; - PyObject *argv, *ret = NULL; - ssl_ContextObj *ctx = (ssl_ContextObj *)arg; - -+ if (!ctx->tstate) -+ fprintf (stderr, "ERROR: ctx->tstate == NULL!\n"); -+ MY_END_ALLOW_THREADS(ctx->tstate); -+ - /* The Python callback is called with a (maxlen,verify,userdata) tuple */ - argv = Py_BuildValue("(iiO)", maxlen, verify, ctx->passphrase_userdata); -- if (ctx->tstate != NULL) -- { -- /* We need to get back our thread state before calling the callback */ -- MY_END_ALLOW_THREADS(ctx->tstate); -- ret = PyEval_CallObject(ctx->passphrase_callback, argv); -- MY_BEGIN_ALLOW_THREADS(ctx->tstate); -- } -- else -- { -- ret = PyEval_CallObject(ctx->passphrase_callback, argv); -- } -+ ret = PyEval_CallObject(ctx->passphrase_callback, argv); - Py_DECREF(argv); - - if (ret == NULL) -- return 0; -+ goto out; - - if (!PyObject_IsTrue(ret)) - { - Py_DECREF(ret); -- return 0; -+ goto out; - } - - if (!PyString_Check(ret)) - { - Py_DECREF(ret); -- return 0; -+ goto out; - } - - len = PyString_Size(ret); -@@ -107,6 +101,8 @@ - strncpy(buf, str, len); - Py_XDECREF(ret); - -+out: -+ MY_BEGIN_ALLOW_THREADS(ctx->tstate); - return len; - } - -@@ -173,28 +169,19 @@ - ssl_ConnectionObj *conn = (ssl_ConnectionObj *)SSL_get_app_data(ssl); - PyObject *argv, *ret; - -+ if (!conn->tstate) -+ fprintf (stderr, "ERROR: ctx->tstate == NULL!\n"); -+ MY_END_ALLOW_THREADS(conn->tstate); -+ - argv = Py_BuildValue("(Oii)", (PyObject *)conn, where, _ret); -- if (conn->tstate != NULL) -- { -- /* We need to get back our thread state before calling the callback */ -- MY_END_ALLOW_THREADS(conn->tstate); -- ret = PyEval_CallObject(conn->context->info_callback, argv); -- if (ret == NULL) -- PyErr_Clear(); -- else -- Py_DECREF(ret); -- MY_BEGIN_ALLOW_THREADS(conn->tstate); -- } -+ ret = PyEval_CallObject(conn->context->info_callback, argv); -+ if (ret == NULL) -+ PyErr_Clear(); - else -- { -- ret = PyEval_CallObject(conn->context->info_callback, argv); -- if (ret == NULL) -- PyErr_Clear(); -- else -- Py_DECREF(ret); -- } -+ Py_DECREF(ret); - Py_DECREF(argv); - -+ MY_BEGIN_ALLOW_THREADS(conn->tstate); - return; - } - -@@ -447,6 +434,8 @@ - if (!PyArg_ParseTuple(args, "s|i:use_privatekey_file", &keyfile, &filetype)) - return NULL; - -+ if (self->tstate) -+ fprintf (stderr, "ERROR: ctx->tstate != NULL!\n"); - MY_BEGIN_ALLOW_THREADS(self->tstate); - ret = SSL_CTX_use_PrivateKey_file(self->ctx, keyfile, filetype); - MY_END_ALLOW_THREADS(self->tstate); diff --git a/python-pyOpenSSL.spec b/python-pyOpenSSL.spec index a875da5..64f7783 100644 --- a/python-pyOpenSSL.spec +++ b/python-pyOpenSSL.spec @@ -1,21 +1,20 @@ +%define pkgname %(echo %name | cut -d- -f2) Name: python-pyOpenSSL -Version: 24.0.0 -Release: 2mamba +Version: 25.0.0 +Release: 1mamba Summary: Python interface to the OpenSSL library Group: System/Libraries/Python Vendor: openmamba Distribution: openmamba Packager: Silvan Calarco URL: https://www.pyopenssl.org/en/stable/ -Source: https://pypi.debian.net/pyOpenSSL/pyOpenSSL-%{version}.tar.gz -Patch0: python-pyOpenSSLL-0.7-openssl.patch -Patch1: python-pyOpenSSL-elinks.patch -Patch2: python-pyOpenSSL-nopdfout.patch -Patch3: python-pyOpenSSL-threadsafe.patch +Source: https://pypi.debian.net/pyOpenSSL/pyopenssl-%{version}.tar.gz License: LGPL +BuildArch: noarch ## AUTOBUILDREQ-BEGIN BuildRequires: libpython311-devel BuildRequires: python3.11dist(cryptography) +BuildRequires: python3.11dist(typing-extensions) ## AUTOBUILDREQ-END BuildRequires: python3-devel >= 3.11.5-3mamba BuildRequires: python-pytest-py3 @@ -34,45 +33,41 @@ Python wrapper around a small subset of the OpenSSL library. Includes: X509 Cert %endif %prep -%setup -q -n pyOpenSSL-%{version} -#%patch0 -p1 -b .openssl097 -#%patch1 -p1 -b .elinks -#%patch2 -p1 -b .nopdfout -#%patch3 -p1 -b .threadsafe - -# Fix permissions for debuginfo package -#%{__chmod} -x src/ssl/connection.c +%setup -q -n pyopenssl-%{version} %build -CFLAGS="%{optflags}" %{__python} setup.py build +CFLAGS="%{optflags}" %{__python} -m build --no-isolation --wheel %install [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" -%{__python} setup.py install \ - -O1 --skip-build \ - --root="%{buildroot}" \ - --install-headers=%{_includedir}/python \ - --install-lib=%{python_sitearch} \ - --record=%{name}.filelist +%{__python} -m installer --destdir=%{buildroot} dist/*.whl -sed -i "\,\.egg-info/,d;s,.*/man/.*,&.gz," %{name}.filelist +#%if "%{?with_pyver}" != "3" +## Rename any conflicting file outside of python site packages tree +#for f in %{_bindir}/pdm; do +# mv %{buildroot}${f}{,-%{?pyappend}} +#done +#%endif -%ifnarch %{ix86} arm -%check -%if "%{?with_pyver}" == "3" -PYTHONPATH=${PWD}/build/lib pytest%{?with_pyver!="3":-py%{pyver}} -%endif -%endif +#% check +#PYTHONPATH="$PWD"/build/lib pytest -v \ +# --deselect tests/test_ssl.py::TestConnectionSendall::test_closed \ +# --deselect tests/test_ssl.py::TestConnection::test_shutdown_closed -%clean -[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" - -%files %{?pyappend} -f %{name}.filelist +%files %{?pyappend} %defattr(-,root,root) -%dir %{python_sitearch}/pyOpenSSL-%{version}-py*.egg-info -%{python_sitearch}/pyOpenSSL-%{version}-py*.egg-info/* +%dir %{python_sitelib}/%{pkgname}-%{version}.dist-info +%{python_sitelib}/%{pkgname}-%{version}.dist-info/* +%dir %{python_sitelib}/OpenSSL +%{python_sitelib}/OpenSSL/* %changelog +* Mon Feb 17 2025 Automatic Build System 25.0.0-1mamba +- automatic version update by autodist + +* Mon Feb 17 2025 Silvan Calarco 24.3.0-1mamba +- update to 24.3.0 + * Sun Feb 11 2024 Silvan Calarco 24.0.0-2mamba - removed py310 build requirements diff --git a/python-pyOpenSSLL-0.7-openssl.patch b/python-pyOpenSSLL-0.7-openssl.patch deleted file mode 100644 index e9b55b9..0000000 --- a/python-pyOpenSSLL-0.7-openssl.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- pyOpenSSL-0.7/setup.py 2008-04-11 16:53:24.000000000 +0100 -+++ pyOpenSSL-0.7/setup-new.py 2008-09-15 23:46:19.000000000 +0100 -@@ -64,6 +64,9 @@ - if sys.platform == 'darwin': - IncludeDirs = ['/sw/include'] - LibraryDirs = ['/sw/lib'] -+elif os.name == 'posix': -+ IncludeDirs = ['/usr/kerberos/include'] -+ LibraryDirs = ['/usr/kerberos/lib'] - - def mkExtension(name): - modname = 'OpenSSL.' + name