From 1876eeca450deaecc24854ac7a7ffbb18f2df4a40ee8a4a7ef182bf02ac3f99e Mon Sep 17 00:00:00 2001 From: James Oakley Date: Fri, 15 Mar 2024 18:04:10 +0000 Subject: [PATCH] =?UTF-8?q?-=20Update=20to=202.0.24=20=20=20*=20properly?= =?UTF-8?q?=20init=20cache=20for=20purge=5Flru=20(Alexandre=20Rossi)=20=20?= =?UTF-8?q?=20*=20fix=20linking=20with=20php8=20(Remi=20Collet)=20=20=20*?= =?UTF-8?q?=20remove=20unused=20variables=20to=20fix=20compilation=20(L?= =?UTF-8?q?=C3=A1szl=C3=B3=20K=C3=A1rolyi)=20=20=20*=20fix=20function=20pa?= =?UTF-8?q?rameter=20type=20to=20avoid=20overflow=20in=20harakiri=20(Shai?= =?UTF-8?q?=20Bentov)=20=20=20*=20fix=20socket=20queue=20stats=20for=20ipv?= =?UTF-8?q?6=20(Riccardo=20Magliocchetti)=20=20=20*=20fixup=20-Wformat-sig?= =?UTF-8?q?nedness=20warnings=20(Riccardo=20Magliocchetti)=20=20=20*=20Avo?= =?UTF-8?q?id=20strncpy=20from=20null=20in=20pyloader=20(Ben=20Kallus)=20?= =?UTF-8?q?=20=20*=20add=20clang=20to=20compile=20test=20matrix=20in=20ci?= =?UTF-8?q?=20(Riccardo=20Magliocchetti)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit OBS-URL: https://build.opensuse.org/package/show/server:http/uwsgi?expand=0&rev=126 --- uwsgi-2.0.12-no-LD_RUN_PATH.patch | 42 +++++++------------ uwsgi-2.0.23.tar.gz | 3 -- ...date-glusterfs-io-callback-signature.patch | 27 ++++++++++++ uwsgi-2.0.24.tar.gz | 3 ++ uwsgi-ld-noexecstack.patch | 16 ++++--- uwsgi.changes | 13 ++++++ uwsgi.spec | 5 ++- 7 files changed, 70 insertions(+), 39 deletions(-) delete mode 100644 uwsgi-2.0.23.tar.gz create mode 100644 uwsgi-2.0.24-update-glusterfs-io-callback-signature.patch create mode 100644 uwsgi-2.0.24.tar.gz diff --git a/uwsgi-2.0.12-no-LD_RUN_PATH.patch b/uwsgi-2.0.12-no-LD_RUN_PATH.patch index e49ea9e..cac4fee 100644 --- a/uwsgi-2.0.12-no-LD_RUN_PATH.patch +++ b/uwsgi-2.0.12-no-LD_RUN_PATH.patch @@ -1,8 +1,6 @@ -Index: uwsgi-2.0.21/plugins/jvm/uwsgiplugin.py -=================================================================== ---- uwsgi-2.0.21.orig/plugins/jvm/uwsgiplugin.py -+++ uwsgi-2.0.21/plugins/jvm/uwsgiplugin.py -@@ -66,11 +66,6 @@ if "-framework JavaVM" in JVM_LIBPATH: +--- a/plugins/jvm/uwsgiplugin.py ++++ b/plugins/jvm/uwsgiplugin.py +@@ -69,11 +69,6 @@ if "-framework JavaVM" in JVM_LIBPATH: GCC_LIST = ['jvm_plugin'] @@ -14,23 +12,19 @@ Index: uwsgi-2.0.21/plugins/jvm/uwsgiplugin.py def post_build(config): if subprocess.call("javac %s/plugins/jvm/uwsgi.java" % os.getcwd(), shell=True) != 0: os._exit(1) -Index: uwsgi-2.0.21/plugins/php/uwsgiplugin.py -=================================================================== ---- uwsgi-2.0.21.orig/plugins/php/uwsgiplugin.py -+++ uwsgi-2.0.21/plugins/php/uwsgiplugin.py +--- a/plugins/php/uwsgiplugin.py ++++ b/plugins/php/uwsgiplugin.py @@ -19,7 +19,6 @@ LDFLAGS = os.popen(PHPPATH + ' --ldflags if ld_run_path: LDFLAGS.append('-L%s' % ld_run_path) - os.environ['LD_RUN_PATH'] = ld_run_path - LIBS = [os.popen(PHPPATH + ' --libs').read().rstrip(), '-lphp' + php_version] - -Index: uwsgi-2.0.21/plugins/python/uwsgiplugin.py -=================================================================== ---- uwsgi-2.0.21.orig/plugins/python/uwsgiplugin.py -+++ uwsgi-2.0.21/plugins/python/uwsgiplugin.py -@@ -64,8 +64,6 @@ if not 'UWSGI_PYTHON_NOLIB' in os.enviro + # PHP8 and above does not add the version to the library + # name +--- a/plugins/python/uwsgiplugin.py ++++ b/plugins/python/uwsgiplugin.py +@@ -90,8 +90,6 @@ if not 'UWSGI_PYTHON_NOLIB' in os.enviro LDFLAGS.append("-L%s" % libdir) LDFLAGS.append("-Wl,-rpath,%s" % libdir) @@ -39,11 +33,9 @@ Index: uwsgi-2.0.21/plugins/python/uwsgiplugin.py LIBS.append('-lpython%s' % get_python_version()) else: LIBS = [] -Index: uwsgi-2.0.21/plugins/rack/uwsgiplugin.py -=================================================================== ---- uwsgi-2.0.21.orig/plugins/rack/uwsgiplugin.py -+++ uwsgi-2.0.21/plugins/rack/uwsgiplugin.py -@@ -46,7 +46,6 @@ LIBS = os.popen(RUBYPATH + " -e \"requir +--- a/plugins/rack/uwsgiplugin.py ++++ b/plugins/rack/uwsgiplugin.py +@@ -48,7 +48,6 @@ LIBS = os.popen(RUBYPATH + " -e \"requir if has_shared == 'yes': LDFLAGS.append('-L' + libpath ) @@ -51,11 +43,9 @@ Index: uwsgi-2.0.21/plugins/rack/uwsgiplugin.py LIBS.append(os.popen(RUBYPATH + " -e \"require 'rbconfig';print '-l' + %s::CONFIG['RUBY_SO_NAME']\"" % rbconfig).read().rstrip()) else: rubylibdir = os.popen(RUBYPATH + " -e \"require 'rbconfig';print RbConfig::CONFIG['rubylibdir']\"").read().rstrip() -Index: uwsgi-2.0.21/plugins/ruby19/uwsgiplugin.py -=================================================================== ---- uwsgi-2.0.21.orig/plugins/ruby19/uwsgiplugin.py -+++ uwsgi-2.0.21/plugins/ruby19/uwsgiplugin.py -@@ -40,6 +40,5 @@ LDFLAGS = os.popen(RUBYPATH + " -e \"req +--- a/plugins/ruby19/uwsgiplugin.py ++++ b/plugins/ruby19/uwsgiplugin.py +@@ -42,6 +42,5 @@ LDFLAGS = os.popen(RUBYPATH + " -e \"req libpath = os.popen(RUBYPATH + " -e \"require 'rbconfig';print %s::CONFIG['libdir']\"" % rbconfig).read().rstrip() LDFLAGS.append('-L' + libpath ) diff --git a/uwsgi-2.0.23.tar.gz b/uwsgi-2.0.23.tar.gz deleted file mode 100644 index e6697f9..0000000 --- a/uwsgi-2.0.23.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f498466b7bb5818c694496fa7fc32bd6442f6057db94d95af9bfa050440aa4ef -size 810116 diff --git a/uwsgi-2.0.24-update-glusterfs-io-callback-signature.patch b/uwsgi-2.0.24-update-glusterfs-io-callback-signature.patch new file mode 100644 index 0000000..a3a26e7 --- /dev/null +++ b/uwsgi-2.0.24-update-glusterfs-io-callback-signature.patch @@ -0,0 +1,27 @@ +From ec7afe03a87210d1e76b5c56101e94f9e4ba175a Mon Sep 17 00:00:00 2001 +From: Ralf Ertzinger +Date: Sat, 10 Feb 2024 18:01:49 +0100 +Subject: [PATCH] Update glusterfs io callback function signature + +Starting with glusterfs 6.0, the IO callback function takes two +additional parameters for stats structs. + +Ideally there'd be a way to detect which API version we're building +against, but nothing convenient seems to exist. +--- + plugins/glusterfs/glusterfs.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/plugins/glusterfs/glusterfs.c b/plugins/glusterfs/glusterfs.c +index 83428faf3f..c0063f4e58 100644 +--- a/plugins/glusterfs/glusterfs.c ++++ b/plugins/glusterfs/glusterfs.c +@@ -46,7 +46,7 @@ struct uwsgi_glusterfs_async_io { + ssize_t rlen; + }; + +-static void uwsgi_glusterfs_read_async_cb(glfs_fd_t *fd, ssize_t rlen, void *data) { ++static void uwsgi_glusterfs_read_async_cb(glfs_fd_t *fd, ssize_t rlen, struct glfs_stat *prestat, struct glfs_stat *poststat, void *data) { + struct uwsgi_glusterfs_async_io *aio = (struct uwsgi_glusterfs_async_io *) data; + #ifdef UWSGI_DEBUG + uwsgi_log("[glusterfs-cb] rlen = %d\n", rlen); diff --git a/uwsgi-2.0.24.tar.gz b/uwsgi-2.0.24.tar.gz new file mode 100644 index 0000000..660d6a4 --- /dev/null +++ b/uwsgi-2.0.24.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77b6dd5cd633f4ae87ee393f7701f617736815499407376e78f3d16467523afe +size 810559 diff --git a/uwsgi-ld-noexecstack.patch b/uwsgi-ld-noexecstack.patch index 9b0304a..e1ca552 100644 --- a/uwsgi-ld-noexecstack.patch +++ b/uwsgi-ld-noexecstack.patch @@ -1,8 +1,6 @@ -Index: uwsgi-2.0.21/uwsgiconfig.py -=================================================================== ---- uwsgi-2.0.21.orig/uwsgiconfig.py -+++ uwsgi-2.0.21/uwsgiconfig.py -@@ -539,7 +539,7 @@ def build_uwsgi(uc, print_only=False, gc +--- a/uwsgiconfig.py ++++ b/uwsgiconfig.py +@@ -535,7 +535,7 @@ def build_uwsgi(uc, print_only=False, gc gcc_list.append('%s/%s' % (path, cfile)) for bfile in up.get('BINARY_LIST', []): try: @@ -11,7 +9,7 @@ Index: uwsgi-2.0.21/uwsgiconfig.py print(binary_link_cmd) if subprocess.call(binary_link_cmd, shell=True) != 0: raise Exception('unable to link binary file') -@@ -1146,7 +1146,7 @@ class uConf(object): +@@ -1150,7 +1150,7 @@ class uConf(object): if not self.embed_config: self.embed_config = self.get('embed_config') if self.embed_config: @@ -20,7 +18,7 @@ Index: uwsgi-2.0.21/uwsgiconfig.py print(binary_link_cmd) subprocess.call(binary_link_cmd, shell=True) self.cflags.append("-DUWSGI_EMBED_CONFIG=_binary_%s_start" % binarize(self.embed_config)) -@@ -1165,7 +1165,7 @@ class uConf(object): +@@ -1169,7 +1169,7 @@ class uConf(object): for directory, directories, files in os.walk(ef): for f in files: fname = "%s/%s" % (directory, f) @@ -29,7 +27,7 @@ Index: uwsgi-2.0.21/uwsgiconfig.py print(binary_link_cmd) subprocess.call(binary_link_cmd, shell=True) if symbase: -@@ -1175,7 +1175,7 @@ class uConf(object): +@@ -1179,7 +1179,7 @@ class uConf(object): subprocess.call(objcopy_cmd, shell=True) binary_list.append(binarize(fname)) else: @@ -38,7 +36,7 @@ Index: uwsgi-2.0.21/uwsgiconfig.py print(binary_link_cmd) subprocess.call(binary_link_cmd, shell=True) binary_list.append(binarize(ef)) -@@ -1460,7 +1460,7 @@ def build_plugin(path, uc, cflags, ldfla +@@ -1464,7 +1464,7 @@ def build_plugin(path, uc, cflags, ldfla gcc_list.append(path + '/' + cfile) for bfile in up.get('BINARY_LIST', []): try: diff --git a/uwsgi.changes b/uwsgi.changes index f5300d8..8a68f7e 100644 --- a/uwsgi.changes +++ b/uwsgi.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Fri Mar 15 14:26:20 UTC 2024 - James Oakley + +- Update to 2.0.24 + * properly init cache for purge_lru (Alexandre Rossi) + * fix linking with php8 (Remi Collet) + * remove unused variables to fix compilation (László Károlyi) + * fix function parameter type to avoid overflow in harakiri (Shai Bentov) + * fix socket queue stats for ipv6 (Riccardo Magliocchetti) + * fixup -Wformat-signedness warnings (Riccardo Magliocchetti) + * Avoid strncpy from null in pyloader (Ben Kallus) + * add clang to compile test matrix in ci (Riccardo Magliocchetti) + ------------------------------------------------------------------- Tue Feb 20 15:39:21 UTC 2024 - Dominique Leuenberger diff --git a/uwsgi.spec b/uwsgi.spec index df7ecc1..959d326 100644 --- a/uwsgi.spec +++ b/uwsgi.spec @@ -29,7 +29,8 @@ %endif Name: uwsgi -Version: 2.0.23 +Version: 2.0.24 + Release: 0 Summary: Application Container Server for Networked/Clustered Web Applications License: Apache-2.0 AND GPL-2.0-only WITH GCC-exception-2.0 @@ -57,6 +58,8 @@ Patch3: uwsgi-1.9.11-systemd_logger-old_systemd.patch Patch4: uwsgi-2.0.18-postgresql-config.patch # PATCH-FIX-UPSTREAM uwsgi-ld-noexecstack.patch - Do not create executable stack Patch5: uwsgi-ld-noexecstack.patch +# PATCH-FIX-UPSTREAM uwsgi-2.0.24-update-glusterfs-io-callback-signature.patch - Support GlusterFS >= 6.0 +Patch6: uwsgi-2.0.24-update-glusterfs-io-callback-signature.patch BuildRequires: apache-rpm-macros %if 0%{suse_version} < 1500 BuildRequires: apache2-devel