[arch-commits] Commit in uwsgi/repos (17 files)

Felix Yan felixonmars at archlinux.org
Thu Dec 26 01:31:40 UTC 2019


    Date: Thursday, December 26, 2019 @ 01:31:39
  Author: felixonmars
Revision: 541781

archrelease: copy trunk to community-staging-x86_64

Added:
  uwsgi/repos/community-staging-x86_64/
  uwsgi/repos/community-staging-x86_64/PKGBUILD
    (from rev 541777, uwsgi/trunk/PKGBUILD)
  uwsgi/repos/community-staging-x86_64/archlinux.ini
    (from rev 541777, uwsgi/trunk/archlinux.ini)
  uwsgi/repos/community-staging-x86_64/emperor.ini
    (from rev 541777, uwsgi/trunk/emperor.ini)
  uwsgi/repos/community-staging-x86_64/emperor.uwsgi.service
    (from rev 541777, uwsgi/trunk/emperor.uwsgi.service)
  uwsgi/repos/community-staging-x86_64/emperor.uwsgi.socket
    (from rev 541777, uwsgi/trunk/emperor.uwsgi.socket)
  uwsgi/repos/community-staging-x86_64/fix-php74.patch
    (from rev 541777, uwsgi/trunk/fix-php74.patch)
  uwsgi/repos/community-staging-x86_64/php7.patch
    (from rev 541777, uwsgi/trunk/php7.patch)
  uwsgi/repos/community-staging-x86_64/tmpfilesd
    (from rev 541777, uwsgi/trunk/tmpfilesd)
  uwsgi/repos/community-staging-x86_64/uwsgi.install
    (from rev 541777, uwsgi/trunk/uwsgi.install)
  uwsgi/repos/community-staging-x86_64/uwsgi.logrotate
    (from rev 541778, uwsgi/trunk/uwsgi.logrotate)
  uwsgi/repos/community-staging-x86_64/uwsgi.sysusers
    (from rev 541778, uwsgi/trunk/uwsgi.sysusers)
  uwsgi/repos/community-staging-x86_64/uwsgi_at.service
    (from rev 541779, uwsgi/trunk/uwsgi_at.service)
  uwsgi/repos/community-staging-x86_64/uwsgi_at.socket
    (from rev 541779, uwsgi/trunk/uwsgi_at.socket)
  uwsgi/repos/community-staging-x86_64/uwsgi_fix_rpath.patch
    (from rev 541779, uwsgi/trunk/uwsgi_fix_rpath.patch)
  uwsgi/repos/community-staging-x86_64/uwsgi_ruby20_compatibility.patch
    (from rev 541779, uwsgi/trunk/uwsgi_ruby20_compatibility.patch)
  uwsgi/repos/community-staging-x86_64/uwsgi_trick_chroot.patch
    (from rev 541779, uwsgi/trunk/uwsgi_trick_chroot.patch)

----------------------------------+
 PKGBUILD                         |  208 +++++++++++++++++++++++++++++++++++++
 archlinux.ini                    |    5 
 emperor.ini                      |    2 
 emperor.uwsgi.service            |   16 ++
 emperor.uwsgi.socket             |    9 +
 fix-php74.patch                  |   39 ++++++
 php7.patch                       |  169 ++++++++++++++++++++++++++++++
 tmpfilesd                        |    1 
 uwsgi.install                    |    9 +
 uwsgi.logrotate                  |   10 +
 uwsgi.sysusers                   |    1 
 uwsgi_at.service                 |   16 ++
 uwsgi_at.socket                  |    9 +
 uwsgi_fix_rpath.patch            |   66 +++++++++++
 uwsgi_ruby20_compatibility.patch |   42 +++++++
 uwsgi_trick_chroot.patch         |   16 ++
 16 files changed, 618 insertions(+)

Copied: uwsgi/repos/community-staging-x86_64/PKGBUILD (from rev 541777, uwsgi/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD	                        (rev 0)
+++ community-staging-x86_64/PKGBUILD	2019-12-26 01:31:39 UTC (rev 541781)
@@ -0,0 +1,208 @@
+# Maintainer: Daniel Wallace <danielwallace at gtmanfred dot com>
+# Maintainer: Sven-Hendrik Haase <svenstaro at gmail.com>
+# Contributor: Valentin Hăloiu <vially.ichb+aur at gmail.com>
+# Contributor: Angel Velasquez <angvp at archlinux.org>
+# Contributor: Kevin Zuber <uKev at knet.eu>
+# Contributor: Vsevolod Balashov <vsevolod at balashov.name>
+# Contributor: David Runge <dave at sleepmap.de>
+
+pkgbase=uwsgi
+pkgname=(uwsgi
+         uwsgi-plugin-rack
+         uwsgi-plugin-psgi
+         uwsgi-plugin-cgi
+         uwsgi-plugin-python2
+         uwsgi-plugin-python
+         uwsgi-plugin-pypy
+         uwsgi-plugin-php
+         uwsgi-plugin-lua51
+         uwsgi-plugin-jvm
+         uwsgi-plugin-mono
+         uwsgi-plugin-webdav
+         uwsgi-plugin-zabbix
+         uwsgi-plugin-notfound)
+pkgver=2.0.18
+pkgrel=7
+arch=(x86_64)
+url="http://projects.unbit.it/$pkgbase"
+license=(GPL2)
+backup=('etc/uwsgi/emperor.ini')
+conflicts=(python-$pkgbase)
+makedepends=(gcc python python2 ruby python2-greenlet python-greenlet php-embed curl libxml2 libyaml
+             perl lua51 pcre libedit openssl bzip2 gmp pam java-environment=7
+             jansson classpath pypy mono python2-gevent systemd)
+optdepends=('systemd: daemon scripts')
+source=("https://projects.unbit.it/downloads/$pkgbase-$pkgver.tar.gz"
+        uwsgiplugin.py::https://raw.githubusercontent.com/unbit/uwsgi/9787f6882c2475aa9873e400988160b17dd04545/plugins/systemd_logger/uwsgiplugin.py
+        archlinux.ini
+        tmpfilesd
+        uwsgi_at.service
+        uwsgi_at.socket
+        uwsgi_ruby20_compatibility.patch
+        fix-php74.patch
+        uwsgi_trick_chroot.patch
+        emperor.ini
+        emperor.uwsgi.service
+        emperor.uwsgi.socket
+        uwsgi.logrotate
+        uwsgi.sysusers)
+sha512sums=('6561703279bcc4a81311d033810ac066d0f113bab13b0942f3eef86cac29c584a6641b52476840d6895151aee5ed064ae2d03b18932cf7f47e62f4eeed76da61'
+            '68eef703de39cb336915e1e9c36b11c65c2d46482407b0234ca245df0e052952abb7dd85b0a1cd4507c78356a3b7a55424524b3aa0997b559b51e7b20eab5e16'
+            'acfe9fb089d1905c3d736dbeaaef7eb1848b4ce8d1f585de653086cf7f90c166a1e493d0b62ba030a4bcf2eca9c919e0d6deea2ea1c0bcb8533d7cb040d2f67c'
+            '4def9dcd06cfc2c6ce554add9d9545a01f3bb2681f0a2a6fc4ba68f91011111803a955cc41b5e70832ca448b196109368fdf874e81b7ec0edee4b51f864e16f7'
+            'c0c1a5c2d31cdb7e0dc878ea3d0b6025532fb640ae7cf4d5f1eed2f89987e625c8dc7844d367283ed560fb3ef37915e3e9199be2e1b06fc4586ca862a653b4b5'
+            'fb51a4d102a1bc7d9f7d4c4f310ee65076bcfbc94b47e2dafdf9b20e99a661c5f938185dcf698437d81409376f0276b966f09b13c8a29462c48612df43c3f3ef'
+            '162ca1be96282b32e8e6be919b6315bfd08954c491056958985bf99e7f5bdad3511665f059329d6cb6ef5d222f9aa11d4dc43c72e6a963ab941ada959fe8d964'
+            '52a9c2e5d5c3841d22d4e87f46c7a1e9de0350bb2aca854b899d5729132156116ab4db4ca7d99d79aacf846812adf0db0c4f7cedf4575767266a713e622827a6'
+            'bc30f8ec69abd14fb96ada5b36cf65811a7a63ee27e224fcb6ceabe9935c1f17379cd872149a17da3d590b8ff60fbe7f77140d777aaf06e25e83388f897f611d'
+            'd54c84838ddb2f389e115ebb81aa2583705c9e330f020e6583b496f9c271ed236b6820c2a065f2b55a79adbf13e262b9ff2428124a8044b8fa20ca29ca4930ac'
+            '83a6859d729bf186236aaa7fb7433415f6b985f17e05b7ac571d8919bbf1fb9bd577b4f673d9787dea09752e3d8043f47ce3d9c7d5690faaa1365e477e6c9388'
+            '592c85270f43b37e9c51aae126533830515b96fff9fcae969ee865fe173bd0550c7729530d5ff1e44ffee43cd5c78c96688ce091c677a4196379e24983c0180e'
+            '937878372aa1556f6ba62ad7148d1681288c94d6cff609368a9e861dd4d4524330006a08ae5993441f7d3101170e3a0a681a4c8b3c2c13b364b8b1f81cf25117'
+            '9e9eab08199cf08810ec95b0697cd8817226986d1e3aeb54845c0140ea5887360580348f295060c0558fb2d6aaed26fec929ea36b28cfeaf2b3588ce40fec3df')
+
+prepare() {
+    cd $srcdir/$pkgbase-$pkgver
+    cp $srcdir/archlinux.ini buildconf/archlinux.ini
+    for patch in fix-php74.patch uwsgi_ruby20_compatibility.patch uwsgi_trick_chroot.patch; do
+        msg2 "Applying $patch"
+        patch -Np1 -i $srcdir/$patch
+    done
+    rm -rf plugins/ruby
+    mv plugins/ruby{19,}
+    sed -i 's:\(ruby\)19:\1:' plugins/ruby/uwsgiplugin.py
+
+    sed -i 's/--cflags mono-2/--cflags mono-2 glib-2.0/g' plugins/mono/uwsgiplugin.py
+
+    cp $srcdir/uwsgiplugin.py plugins/systemd_logger/uwsgiplugin.py
+}
+
+build() {
+    pushd $srcdir/$pkgbase-$pkgver
+
+    export UWSGICONFIG_LUAPC='lua51'
+
+    python uwsgiconfig.py --build archlinux
+    python uwsgiconfig.py --plugin plugins/python archlinux python
+    python uwsgiconfig.py --plugin plugins/greenlet archlinux greenlet
+    python uwsgiconfig.py --plugin plugins/gevent archlinux gevent
+    python uwsgiconfig.py --plugin plugins/asyncio archlinux asyncio
+    python2 uwsgiconfig.py --plugin plugins/python archlinux python2
+    python2 uwsgiconfig.py --plugin plugins/greenlet archlinux greenlet2
+    python2 uwsgiconfig.py --plugin plugins/gevent archlinux gevent2
+    python2 uwsgiconfig.py --plugin plugins/pypy archlinux pypy
+    python2 uwsgiconfig.py --plugin plugins/zabbix archlinux zabbix
+    python2 uwsgiconfig.py --plugin plugins/notfound archlinux notfound
+}
+
+package_uwsgi() {
+    pkgdesc="A fast, self-healing and developer/sysadmin-friendly application container server coded in pure C"
+    depends=(libxml2 jansson systemd-libs libcap pam pcre)
+    install=uwsgi.install
+    cd $srcdir/$pkgbase-$pkgver
+    install -Dm755 uwsgi $pkgdir/usr/bin/uwsgi
+    install -Dm644 $srcdir/uwsgi_at.service $pkgdir/usr/lib/systemd/system/uwsgi at .service
+    install -Dm644 $srcdir/uwsgi_at.socket $pkgdir/usr/lib/systemd/system/uwsgi at .socket
+    install -Dm644 $srcdir/emperor.uwsgi.service $pkgdir/usr/lib/systemd/system/emperor.uwsgi.service
+    install -Dm644 $srcdir/emperor.uwsgi.socket $pkgdir/usr/lib/systemd/system/emperor.uwsgi.socket
+    install -Dm644 $srcdir/emperor.ini $pkgdir/etc/uwsgi/emperor.ini
+    install -Dm644 $srcdir/tmpfilesd $pkgdir/usr/lib/tmpfiles.d/uwsgi.conf
+    install -Dm644 $srcdir/uwsgi.logrotate $pkgdir/etc/logrotate.d/uwsgi
+    install -Dm644 $srcdir/uwsgi.sysusers $pkgdir/usr/lib/sysusers.d/uwsgi.conf
+}
+
+package_uwsgi-plugin-cgi() {
+    depends=(uwsgi)
+    pkgdesc="CGI plugin"
+    install -Dm755 $pkgbase-$pkgver/cgi_plugin.so $pkgdir/usr/lib/uwsgi/cgi_plugin.so
+}
+
+package_uwsgi-plugin-rack() {
+    depends=(uwsgi ruby)
+    pkgdesc="Ruby rack plugin"
+    install -Dm755 $pkgbase-$pkgver/rack_plugin.so $pkgdir/usr/lib/uwsgi/rack_plugin.so
+    install -Dm755 $pkgbase-$pkgver/fiber_plugin.so $pkgdir/usr/lib/uwsgi/fiber_plugin.so
+    install -Dm755 $pkgbase-$pkgver/rbthreads_plugin.so $pkgdir/usr/lib/uwsgi/rbthreads_plugin.so
+}
+
+package_uwsgi-plugin-psgi() {
+    depends=(uwsgi perl)
+    pkgdesc="Perl psgi plugin"
+    install -Dm755 $pkgbase-$pkgver/psgi_plugin.so $pkgdir/usr/lib/uwsgi/psgi_plugin.so
+}
+
+package_uwsgi-plugin-python2() {
+    depends=(uwsgi python2-gevent python2-greenlet)
+    pkgdesc="Plugin for Python2 support"
+    install -Dm755 $pkgbase-$pkgver/python2_plugin.so $pkgdir/usr/lib/uwsgi/python2_plugin.so
+    install -Dm755 $pkgbase-$pkgver/greenlet2_plugin.so $pkgdir/usr/lib/uwsgi/greenlet2_plugin.so
+    install -Dm755 $pkgbase-$pkgver/gevent2_plugin.so $pkgdir/usr/lib/uwsgi/gevent2_plugin.so
+    install -Dm644 $pkgbase-$pkgver/uwsgidecorators.py $pkgdir/usr/lib/python2.7/site-packages/uwsgidecorators.py
+    python2 -m compileall $pkgdir/usr/lib/python2.7/site-packages/
+    python2 -O -m compileall $pkgdir/usr/lib/python2.7/site-packages/
+}
+
+package_uwsgi-plugin-python() {
+    depends=(uwsgi python python-greenlet)
+    pkgdesc="Plugin for Python support"
+    install -Dm755 $pkgbase-$pkgver/python_plugin.so $pkgdir/usr/lib/uwsgi/python_plugin.so
+    install -Dm755 $pkgbase-$pkgver/greenlet_plugin.so $pkgdir/usr/lib/uwsgi/greenlet_plugin.so
+    install -Dm755 $pkgbase-$pkgver/gevent_plugin.so $pkgdir/usr/lib/uwsgi/gevent_plugin.so
+    install -Dm755 $pkgbase-$pkgver/asyncio_plugin.so $pkgdir/usr/lib/uwsgi/asyncio_plugin.so
+    install -Dm644 $pkgbase-$pkgver/uwsgidecorators.py $pkgdir/usr/lib/python3.8/site-packages/uwsgidecorators.py
+    python -m compileall $pkgdir/usr/lib/python3.8/site-packages/
+    python -O -m compileall $pkgdir/usr/lib/python3.8/site-packages/
+}
+
+package_uwsgi-plugin-pypy() {
+    depends=(uwsgi pypy)
+    pkgdesc="Plugin for PyPy support"
+    install -Dm755 $pkgbase-$pkgver/pypy_plugin.so $pkgdir/usr/lib/uwsgi/pypy_plugin.so
+    install -Dm644 $pkgbase-$pkgver/uwsgidecorators.py $pkgdir/opt/pypy/site-packages/uwsgidecorators.py
+    pypy -m compileall $pkgdir/opt/pypy/site-packages/
+    pypy -O -m compileall $pkgdir/opt/pypy/site-packages/
+}
+
+package_uwsgi-plugin-lua51() {
+    depends=(uwsgi lua51)
+    pkgdesc="Plugin for Lua support"
+    install -Dm755 $pkgbase-$pkgver/lua_plugin.so $pkgdir/usr/lib/uwsgi/lua_plugin.so
+}
+
+package_uwsgi-plugin-php() {
+    depends=(uwsgi php-embed libyaml jansson)
+    pkgdesc="Plugin for PHP support"
+    install -Dm755 $pkgbase-$pkgver/php_plugin.so $pkgdir/usr/lib/uwsgi/php_plugin.so
+}
+
+package_uwsgi-plugin-jvm() {
+    depends=(uwsgi java-environment=7 classpath)
+    pkgdesc="Plugin for Jvm support"
+    install -Dm644 $pkgbase-$pkgver/plugins/jvm/uwsgi.jar $pkgdir/usr/share/java/uwsgi.jar
+    install -Dm755 $pkgbase-$pkgver/jvm_plugin.so $pkgdir/usr/lib/uwsgi/jvm_plugin.so
+}
+
+package_uwsgi-plugin-mono() {
+    depends=(uwsgi mono)
+    pkgdesc="Plugin for mono support"
+    install -Dm755 $pkgbase-$pkgver/plugins/mono/uwsgi.dll $pkgdir/usr/lib/mono/2.0/uwsgi.dll
+    install -Dm755 $pkgbase-$pkgver/mono_plugin.so $pkgdir/usr/lib/uwsgi/mono_plugin.so
+}
+
+package_uwsgi-plugin-webdav() {
+    depends=(uwsgi)
+    pkgdesc="Plugin for webdav support"
+    install -Dm755 $pkgbase-$pkgver/webdav_plugin.so $pkgdir/usr/lib/uwsgi/webdav_plugin.so
+}
+
+package_uwsgi-plugin-zabbix() {
+    depends=(uwsgi)
+    pkgdesc="Plugin for zabbix support"
+    install -Dm755 $pkgbase-$pkgver/zabbix_plugin.so $pkgdir/usr/lib/uwsgi/zabbix_plugin.so
+}
+
+package_uwsgi-plugin-notfound() {
+    depends=(uwsgi)
+    pkgdesc="Plugin for notfound support"
+    install -Dm755 $pkgbase-$pkgver/notfound_plugin.so $pkgdir/usr/lib/uwsgi/notfound_plugin.so
+}

Copied: uwsgi/repos/community-staging-x86_64/archlinux.ini (from rev 541777, uwsgi/trunk/archlinux.ini)
===================================================================
--- community-staging-x86_64/archlinux.ini	                        (rev 0)
+++ community-staging-x86_64/archlinux.ini	2019-12-26 01:31:39 UTC (rev 541781)
@@ -0,0 +1,5 @@
+[uwsgi]
+plugin_dir = /usr/lib/uwsgi
+plugins = rack, rbthreads, fiber, psgi, lua, php, jvm, mono, cgi, webdav
+main_plugin = systemd_logger,pam
+inherit = base

Copied: uwsgi/repos/community-staging-x86_64/emperor.ini (from rev 541777, uwsgi/trunk/emperor.ini)
===================================================================
--- community-staging-x86_64/emperor.ini	                        (rev 0)
+++ community-staging-x86_64/emperor.ini	2019-12-26 01:31:39 UTC (rev 541781)
@@ -0,0 +1,2 @@
+[uwsgi]
+emperor = /etc/uwsgi/vassals

Copied: uwsgi/repos/community-staging-x86_64/emperor.uwsgi.service (from rev 541777, uwsgi/trunk/emperor.uwsgi.service)
===================================================================
--- community-staging-x86_64/emperor.uwsgi.service	                        (rev 0)
+++ community-staging-x86_64/emperor.uwsgi.service	2019-12-26 01:31:39 UTC (rev 541781)
@@ -0,0 +1,16 @@
+[Unit]
+Description=uWSGI Emperor
+After=syslog.target
+
+[Service]
+ExecStart=/usr/bin/uwsgi --ini /etc/uwsgi/emperor.ini
+ExecReload=/bin/kill -HUP $MAINPID
+ExecStop=/bin/kill -INT $MAINPID
+Restart=always
+Type=notify
+StandardError=syslog
+NotifyAccess=all
+KillSignal=SIGQUIT
+
+[Install]
+WantedBy=multi-user.target

Copied: uwsgi/repos/community-staging-x86_64/emperor.uwsgi.socket (from rev 541777, uwsgi/trunk/emperor.uwsgi.socket)
===================================================================
--- community-staging-x86_64/emperor.uwsgi.socket	                        (rev 0)
+++ community-staging-x86_64/emperor.uwsgi.socket	2019-12-26 01:31:39 UTC (rev 541781)
@@ -0,0 +1,9 @@
+[Unit]
+Description=Socket for uWSGI Emperor
+
+[Socket]
+# Change this to your uwsgi application port or unix socket location
+ListenStream=/run/uwsgi/emperor.sock
+
+[Install]
+WantedBy=sockets.target

Copied: uwsgi/repos/community-staging-x86_64/fix-php74.patch (from rev 541777, uwsgi/trunk/fix-php74.patch)
===================================================================
--- community-staging-x86_64/fix-php74.patch	                        (rev 0)
+++ community-staging-x86_64/fix-php74.patch	2019-12-26 01:31:39 UTC (rev 541781)
@@ -0,0 +1,39 @@
+From c4a2ad579a2fe5d357f2d6486c1afe84ef18a029 Mon Sep 17 00:00:00 2001
+From: Arne Welzel <arne.welzel at gmail.com>
+Date: Sun, 8 Dec 2019 12:59:45 +0100
+Subject: [PATCH] php: Properly zero initialize zend_file_handle
+
+In the PHP bugtracker [1], the stacktrace included a bogus pointer value
+being passed to `_efree`. The ASCII value of the pointer is "02.11.81"
+which heavily pointed at usage of non-initialized data.
+
+    #1  0x00007f8fe07e9e96 in _efree (ptr=0x30322e31312e3831) at /data/work/php-src-php-7.4.0RC6/Zend/zend_alloc.c:2549
+
+The solution is to use an open-coded version of`zend_stream_init_filename()` [2].
+Maybe we could actually use the above helper, but I'm not familiar enough
+with PHP/versions/compat, so the proposed change seems safer.
+
+Should fix #2096.
+
+[1] https://bugs.php.net/bug.php?id=78828
+[2] https://github.com/php/php-src/blob/bc6e4b6c574261188519a1e83ba49998ffbcb12b/Zend/zend_stream.c#L70
+---
+ plugins/php/php_plugin.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/plugins/php/php_plugin.c b/plugins/php/php_plugin.c
+index 72c390223..1690fb60c 100644
+--- a/plugins/php/php_plugin.c
++++ b/plugins/php/php_plugin.c
+@@ -1115,10 +1115,9 @@ int uwsgi_php_request(struct wsgi_request *wsgi_req) {
+ 
+ 	SG(request_info).path_translated = wsgi_req->file;
+ 
++        memset(&file_handle, 0, sizeof(zend_file_handle));
+         file_handle.type = ZEND_HANDLE_FILENAME;
+         file_handle.filename = real_filename;
+-        file_handle.free_filename = 0;
+-        file_handle.opened_path = NULL;
+ 
+         if (php_request_startup(TSRMLS_C) == FAILURE) {
+ 		uwsgi_500(wsgi_req);

Copied: uwsgi/repos/community-staging-x86_64/php7.patch (from rev 541777, uwsgi/trunk/php7.patch)
===================================================================
--- community-staging-x86_64/php7.patch	                        (rev 0)
+++ community-staging-x86_64/php7.patch	2019-12-26 01:31:39 UTC (rev 541781)
@@ -0,0 +1,169 @@
+From 4d79e13acaf13acdf8f8a84cfa3fdda211f8aa81 Mon Sep 17 00:00:00 2001
+From: Unbit <info at unbit.it>
+Date: Tue, 29 Dec 2015 08:53:19 +0100
+Subject: [PATCH 12/12] official php7 support (beta) #1124
+
+---
+ plugins/php/common.h       |  4 ++++
+ plugins/php/php_plugin.c   | 20 ++++++++++++++++++++
+ plugins/php/session.c      | 19 ++++++++++++++++++-
+ plugins/php/uwsgiplugin.py |  4 +++-
+ 4 files changed, 45 insertions(+), 2 deletions(-)
+
+diff --git a/plugins/php/common.h b/plugins/php/common.h
+index 8c1ed13..9bf1c06 100644
+--- a/plugins/php/common.h
++++ b/plugins/php/common.h
+@@ -3,7 +3,11 @@
+ #include "php_main.h"
+ #include "php_variables.h"
+ 
++#if (PHP_MAJOR_VERSION < 7)
+ #include "ext/standard/php_smart_str.h"
++#else
++#define UWSGI_PHP7
++#endif
+ #include "ext/standard/info.h"
+ 
+ #include "ext/session/php_session.h"
+diff --git a/plugins/php/php_plugin.c b/plugins/php/php_plugin.c
+index b1b6f7a..6d9e952 100644
+--- a/plugins/php/php_plugin.c
++++ b/plugins/php/php_plugin.c
+@@ -65,7 +65,11 @@ struct uwsgi_option uwsgi_php_options[] = {
+ };
+ 
+ 
++#ifdef UWSGI_PHP7
++static size_t sapi_uwsgi_ub_write(const char *str, size_t str_length TSRMLS_DC)
++#else
+ static int sapi_uwsgi_ub_write(const char *str, uint str_length TSRMLS_DC)
++#endif
+ {
+ 	struct wsgi_request *wsgi_req = (struct wsgi_request *) SG(server_context);
+ 
+@@ -111,7 +115,11 @@ static int sapi_uwsgi_send_headers(sapi_headers_struct *sapi_headers TSRMLS_DC)
+ 	return SAPI_HEADER_SENT_SUCCESSFULLY;
+ }
+ 
++#ifdef UWSGI_PHP7
++static size_t sapi_uwsgi_read_post(char *buffer, size_t count_bytes TSRMLS_DC)
++#else
+ static int sapi_uwsgi_read_post(char *buffer, uint count_bytes TSRMLS_DC)
++#endif
+ {
+ 	uint read_bytes = 0;
+ 	
+@@ -235,7 +243,11 @@ PHP_MINIT_FUNCTION(uwsgi_php_minit) {
+ }
+ 
+ PHP_FUNCTION(uwsgi_version) {
++#ifdef UWSGI_PHP7
++	RETURN_STRING(UWSGI_VERSION);
++#else
+ 	RETURN_STRING(UWSGI_VERSION, 1);
++#endif
+ }
+ 
+ PHP_FUNCTION(uwsgi_worker_id) {
+@@ -321,7 +333,11 @@ PHP_FUNCTION(uwsgi_cache_get) {
+ 	if (value) {
+ 		char *ret = estrndup(value, valsize);
+ 		free(value);
++#ifdef UWSGI_PHP7
++		RETURN_STRING(ret);
++#else
+ 		RETURN_STRING(ret, 0);
++#endif
+ 	}
+ 	RETURN_NULL();
+ }
+@@ -425,7 +441,11 @@ PHP_FUNCTION(uwsgi_rpc) {
+ 		// here we do not free varargs for performance reasons
+ 		char *ret = estrndup(response, size);
+ 		free(response);
++#ifdef UWSGI_PHP7
++		RETURN_STRING(ret);
++#else
+ 		RETURN_STRING(ret, 0);
++#endif
+         }
+ 
+ clear:
+diff --git a/plugins/php/session.c b/plugins/php/session.c
+index 40f9ef7..2312b6b 100644
+--- a/plugins/php/session.c
++++ b/plugins/php/session.c
+@@ -12,21 +12,34 @@ PS_CLOSE_FUNC(uwsgi) {
+ PS_READ_FUNC(uwsgi) {
+ 	char *cache = PS_GET_MOD_DATA();
+ 	uint64_t valsize = 0;
+-	char *value = uwsgi_cache_magic_get((char *)key, strlen(key), &valsize, NULL, cache);
++#ifdef UWSGI_PHP7
++	char *value = uwsgi_cache_magic_get(key->val, key->len , &valsize, NULL, cache);
++#else
++	char *value = uwsgi_cache_magic_get((char *)key, strlen((char *)key), &valsize, NULL, cache);
++#endif
+         if (!value) return FAILURE;
++#ifdef UWSGI_PHP7
++	*val = zend_string_init(value, valsize, 0);
++#else
+ 	char *new_val = emalloc(valsize);
+ 	memcpy(new_val, value, valsize);
+ 	free(value);
+ 	*val = new_val;
+ 	*vallen = valsize;
++#endif
+ 	return SUCCESS;
+ 	
+ }
+ 
+ PS_WRITE_FUNC(uwsgi) {
+ 	char *cache = PS_GET_MOD_DATA();
++#ifdef UWSGI_PHP7
++	if (val->len == 0) return SUCCESS;
++	if (!uwsgi_cache_magic_set(key->val, key->len, val->val, val->len, 0, UWSGI_CACHE_FLAG_UPDATE, cache)) {
++#else
+ 	if (vallen == 0) return SUCCESS;
+ 	if (!uwsgi_cache_magic_set((char *)key, strlen(key), (char *)val, vallen, 0, UWSGI_CACHE_FLAG_UPDATE, cache)) {
++#endif
+ 		return SUCCESS;	
+ 	}
+ 	return FAILURE;
+@@ -34,7 +47,11 @@ PS_WRITE_FUNC(uwsgi) {
+ 
+ PS_DESTROY_FUNC(uwsgi) {
+ 	char *cache = PS_GET_MOD_DATA();
++#ifdef UWSGI_PHP7
++	if (!uwsgi_cache_magic_del(key->val, key->len, cache)) {
++#else
+ 	if (!uwsgi_cache_magic_del((char *)key, strlen(key), cache)) {
++#endif
+ 		return SUCCESS;
+ 	}
+ 	return FAILURE;
+diff --git a/plugins/php/uwsgiplugin.py b/plugins/php/uwsgiplugin.py
+index e7ce425..45c58e5 100644
+--- a/plugins/php/uwsgiplugin.py
++++ b/plugins/php/uwsgiplugin.py
+@@ -12,6 +12,8 @@ if phpdir:
+ 
+ PHPPATH = os.environ.get('UWSGICONFIG_PHPPATH', PHPPATH)
+ 
++php_version = os.popen(PHPPATH + ' --version').read().rstrip().split('.')[0]
++
+ CFLAGS = [os.popen(PHPPATH + ' --includes').read().rstrip(), '-Wno-sign-compare']
+ LDFLAGS = os.popen(PHPPATH + ' --ldflags').read().rstrip().split()
+ 
+@@ -19,7 +21,7 @@ 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(), '-lphp5']
++LIBS = [os.popen(PHPPATH + ' --libs').read().rstrip(), '-lphp' + php_version]
+ 
+ phplibdir = os.environ.get('UWSGICONFIG_PHPLIBDIR')
+ if phplibdir:
+-- 
+2.6.4
+

Copied: uwsgi/repos/community-staging-x86_64/tmpfilesd (from rev 541777, uwsgi/trunk/tmpfilesd)
===================================================================
--- community-staging-x86_64/tmpfilesd	                        (rev 0)
+++ community-staging-x86_64/tmpfilesd	2019-12-26 01:31:39 UTC (rev 541781)
@@ -0,0 +1 @@
+d /run/uwsgi 0775 root http - - 

Copied: uwsgi/repos/community-staging-x86_64/uwsgi.install (from rev 541777, uwsgi/trunk/uwsgi.install)
===================================================================
--- community-staging-x86_64/uwsgi.install	                        (rev 0)
+++ community-staging-x86_64/uwsgi.install	2019-12-26 01:31:39 UTC (rev 541781)
@@ -0,0 +1,9 @@
+post_update(){
+    echo "To use uwsgi at .socket and uwsgi at .service:"
+    echo "\tAll you need to do is put the name of your .ini file after the @ sign"
+    echo "\tYou can use either the .socket or .service, but if you use the .socket"
+    echo "\tuwsgi@<sameinifile>.service won't be started until the first time your http"
+    echo "\tserver touches the socket. You will also not need to specify the socket in"
+    echo "\tthe .ini file or in the .service file.  Systemd will handle listening to"
+    echo "\tthe socket for you."
+}

Copied: uwsgi/repos/community-staging-x86_64/uwsgi.logrotate (from rev 541778, uwsgi/trunk/uwsgi.logrotate)
===================================================================
--- community-staging-x86_64/uwsgi.logrotate	                        (rev 0)
+++ community-staging-x86_64/uwsgi.logrotate	2019-12-26 01:31:39 UTC (rev 541781)
@@ -0,0 +1,10 @@
+/var/log/uwsgi/*.log /var/log/uwsgi/*/*.log {
+  copytruncate
+  daily
+  rotate 7
+  compress
+  delaycompress
+  missingok
+  notifempty
+  su root uwsgi
+}

Copied: uwsgi/repos/community-staging-x86_64/uwsgi.sysusers (from rev 541778, uwsgi/trunk/uwsgi.sysusers)
===================================================================
--- community-staging-x86_64/uwsgi.sysusers	                        (rev 0)
+++ community-staging-x86_64/uwsgi.sysusers	2019-12-26 01:31:39 UTC (rev 541781)
@@ -0,0 +1 @@
+g uwsgi 53 -

Copied: uwsgi/repos/community-staging-x86_64/uwsgi_at.service (from rev 541779, uwsgi/trunk/uwsgi_at.service)
===================================================================
--- community-staging-x86_64/uwsgi_at.service	                        (rev 0)
+++ community-staging-x86_64/uwsgi_at.service	2019-12-26 01:31:39 UTC (rev 541781)
@@ -0,0 +1,16 @@
+[Unit]
+Description=uWSGI service unit
+After=syslog.target
+
+[Service]
+ExecStart=/usr/bin/uwsgi --ini /etc/uwsgi/%I.ini
+ExecReload=/bin/kill -HUP $MAINPID
+ExecStop=/bin/kill -INT $MAINPID
+Restart=always
+Type=notify
+StandardError=syslog
+NotifyAccess=all
+KillSignal=SIGQUIT
+
+[Install]
+WantedBy=multi-user.target

Copied: uwsgi/repos/community-staging-x86_64/uwsgi_at.socket (from rev 541779, uwsgi/trunk/uwsgi_at.socket)
===================================================================
--- community-staging-x86_64/uwsgi_at.socket	                        (rev 0)
+++ community-staging-x86_64/uwsgi_at.socket	2019-12-26 01:31:39 UTC (rev 541781)
@@ -0,0 +1,9 @@
+[Unit]
+Description=Socket for uWSGI %I
+
+[Socket]
+# Change this to your uwsgi application port or unix socket location
+ListenStream=/run/uwsgi/%I.sock
+
+[Install]
+WantedBy=sockets.target

Copied: uwsgi/repos/community-staging-x86_64/uwsgi_fix_rpath.patch (from rev 541779, uwsgi/trunk/uwsgi_fix_rpath.patch)
===================================================================
--- community-staging-x86_64/uwsgi_fix_rpath.patch	                        (rev 0)
+++ community-staging-x86_64/uwsgi_fix_rpath.patch	2019-12-26 01:31:39 UTC (rev 541781)
@@ -0,0 +1,66 @@
+diff --git a/plugins/jvm/uwsgiplugin.py b/plugins/jvm/uwsgiplugin.py
+index ac7eb3e..0911288 100644
+--- a/plugins/jvm/uwsgiplugin.py
++++ b/plugins/jvm/uwsgiplugin.py
+@@ -59,11 +59,6 @@ if "-framework JavaVM" in JVM_LIBPATH:
+ 
+ GCC_LIST = ['jvm_plugin']
+ 
+-if 'LD_RUN_PATH' in os.environ:
+-    os.environ['LD_RUN_PATH'] += ':' + JVM_LIBPATH[0][2:]
+-else:
+-    os.environ['LD_RUN_PATH'] = JVM_LIBPATH[0][2:]
+-
+ def post_build(config):
+     if os.system("javac %s/plugins/jvm/uwsgi.java" % os.getcwd()) != 0:
+         os._exit(1)
+diff --git a/plugins/php/uwsgiplugin.py b/plugins/php/uwsgiplugin.py
+index fb9e5bb..fd12c91 100644
+--- a/plugins/php/uwsgiplugin.py
++++ b/plugins/php/uwsgiplugin.py
+@@ -22,7 +22,6 @@ CFLAGS = [os.popen(PHPPATH + ' --includes').read().rstrip(), '-Wno-error=sign-co
+ LDFLAGS = os.popen(PHPPATH + ' --ldflags').read().rstrip().split()
+ 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(), '-lphp5']
+ 
+diff --git a/plugins/python/uwsgiplugin.py b/plugins/python/uwsgiplugin.py
+index c4f03e1..8d4b2e0 100644
+--- a/plugins/python/uwsgiplugin.py
++++ b/plugins/python/uwsgiplugin.py
+@@ -45,10 +45,8 @@ if not 'UWSGI_PYTHON_NOLIB' in os.environ:
+     else:
+         try:
+             LDFLAGS.append("-L%s" % sysconfig.get_config_var('LIBDIR'))
+-            os.environ['LD_RUN_PATH'] = "%s" % (sysconfig.get_config_var('LIBDIR'))
+         except:
+             LDFLAGS.append("-L%s/lib" % sysconfig.PREFIX)
+-            os.environ['LD_RUN_PATH'] = "%s/lib" % sysconfig.PREFIX
+ 
+         LIBS.append('-lpython%s' % get_python_version())
+ else:
+diff --git a/plugins/rack/uwsgiplugin.py b/plugins/rack/uwsgiplugin.py
+index 8dee214..2375bc9 100644
+--- a/plugins/rack/uwsgiplugin.py
++++ b/plugins/rack/uwsgiplugin.py
+@@ -44,7 +44,6 @@ LIBS = os.popen(RUBYPATH + " -e \"require 'rbconfig';print %s::CONFIG['LIBS']\""
+ 
+ if has_shared == 'yes':
+     LDFLAGS.append('-L' + libpath )
+-    os.environ['LD_RUN_PATH'] = libpath
+     LIBS.append(os.popen(RUBYPATH + " -e \"require 'rbconfig';print '-l' + %s::CONFIG['RUBY_SO_NAME']\"" % rbconfig).read().rstrip())
+ else:
+     GCC_LIST.append("%s/%s" % (libpath, os.popen(RUBYPATH + " -e \"require 'rbconfig';print %s::CONFIG['LIBRUBY_A']\"" % rbconfig).read().rstrip()))
+diff --git a/plugins/ruby19/uwsgiplugin.py b/plugins/ruby19/uwsgiplugin.py
+index ecea48d..4f35984 100644
+--- a/plugins/ruby19/uwsgiplugin.py
++++ b/plugins/ruby19/uwsgiplugin.py
+@@ -40,6 +40,5 @@ LDFLAGS = os.popen(RUBYPATH + " -e \"require 'rbconfig';print %s::CONFIG['LDFLAG
+ 
+ libpath = os.popen(RUBYPATH + " -e \"require 'rbconfig';print %s::CONFIG['libdir']\"" % rbconfig).read().rstrip()
+ LDFLAGS.append('-L' + libpath )
+-os.environ['LD_RUN_PATH'] = libpath
+ LIBS = os.popen(RUBYPATH + " -e \"require 'rbconfig';print '-l' + %s::CONFIG['RUBY_SO_NAME']\"" % rbconfig).read().rstrip().split()
+ 

Copied: uwsgi/repos/community-staging-x86_64/uwsgi_ruby20_compatibility.patch (from rev 541779, uwsgi/trunk/uwsgi_ruby20_compatibility.patch)
===================================================================
--- community-staging-x86_64/uwsgi_ruby20_compatibility.patch	                        (rev 0)
+++ community-staging-x86_64/uwsgi_ruby20_compatibility.patch	2019-12-26 01:31:39 UTC (rev 541781)
@@ -0,0 +1,42 @@
+diff --git a/plugins/rack/uwsgiplugin.py b/plugins/rack/uwsgiplugin.py
+index 2375bc9..b908417 100644
+--- a/plugins/rack/uwsgiplugin.py
++++ b/plugins/rack/uwsgiplugin.py
+@@ -10,13 +10,14 @@ except:
+ rbconfig = 'Config'
+ 
+ version = os.popen(RUBYPATH + " -e \"print RUBY_VERSION\"").read().rstrip()
+-v = version.split('.')
+ 
+ GCC_LIST = ['rack_plugin', 'rack_api']
+ 
+-if (v[0] == '1' and v[1] == '9') or v[0] >= '2':
++if version >= '1.9':
+     CFLAGS = os.popen(RUBYPATH + " -e \"require 'rbconfig';print RbConfig::CONFIG['CFLAGS']\"").read().rstrip().split()
+     CFLAGS.append('-DRUBY19')
++    if version >= '2.0':
++        CFLAGS.append('-DRUBY20')
+     CFLAGS.append('-Wno-unused-parameter')
+     rbconfig = 'RbConfig'	 
+ else:
+diff --git a/plugins/ruby19/uwsgiplugin.py b/plugins/ruby19/uwsgiplugin.py
+index 4f35984..156018f 100644
+--- a/plugins/ruby19/uwsgiplugin.py
++++ b/plugins/ruby19/uwsgiplugin.py
+@@ -10,13 +10,14 @@ except:
+ rbconfig = 'Config'
+ 
+ version = os.popen(RUBYPATH + " -e \"print RUBY_VERSION\"").read().rstrip()
+-v = version.split('.')
+ 
+ GCC_LIST = ['../rack/rack_plugin', '../rack/rack_api']
+ 
+-if v[0] == '1' and v[1] == '9':
++if version >= '1.9':
+     CFLAGS = os.popen(RUBYPATH + " -e \"require 'rbconfig';print RbConfig::CONFIG['CFLAGS']\"").read().rstrip().split()
+     CFLAGS.append('-DRUBY19')
++    if version >= '2.0':
++        CFLAGS.append('-DRUBY20')
+     CFLAGS.append('-Wno-unused-parameter')
+     rbconfig = 'RbConfig'	 
+ else:

Copied: uwsgi/repos/community-staging-x86_64/uwsgi_trick_chroot.patch (from rev 541779, uwsgi/trunk/uwsgi_trick_chroot.patch)
===================================================================
--- community-staging-x86_64/uwsgi_trick_chroot.patch	                        (rev 0)
+++ community-staging-x86_64/uwsgi_trick_chroot.patch	2019-12-26 01:31:39 UTC (rev 541781)
@@ -0,0 +1,16 @@
+diff --git a/uwsgiconfig.py b/uwsgiconfig.py
+index e447123..4d55f2c 100644
+--- a/uwsgiconfig.py
++++ b/uwsgiconfig.py
+@@ -1129,10 +1129,7 @@ def build_plugin(path, uc, cflags, ldflags, libs, name = None):
+     except:
+         pass
+ 
+-    if uc:
+-        plugin_dest = uc.get('plugin_build_dir', uc.get('plugin_dir')) + '/' + name + '_plugin'
+-    else:
+-        plugin_dest = name + '_plugin'
++    plugin_dest = name + '_plugin'
+ 
+     shared_flag = '-shared'
+ 



More information about the arch-commits mailing list