[Bug 2045884] Review Request: uwsgi - Fast, self-healing, application container server [unretire]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.redhat.com/show_bug.cgi?id=2045884



--- Comment #4 from Ralf Ertzinger <redhat-bugzilla@xxxxxxxxxxxxxx> ---
Thanks for the review so far, I'll try and address some of the comments.

- I removed/simplified fedora version checks, where appropriate
- EL6 support is gone
- I kept python2 support, as the EL7 build can still use it. EL* doesn't build
at all right now for different reasons, but I'll see if I can clean that up.
- non-systemd stuff is gone
- I _guess_ the "source in /usr/src" stuff is related to how uwsgi works when
trying to build stuff against it, it's not really meant for that and you need
the actual source tree for it.
- All the .so files are plugins, yes

There's a new copr currently building at
https://copr.fedorainfracloud.org/coprs/build/3255155 with the above changes.
spec diff is below.


-------------------------------

--- uwsgi.orig/uwsgi.spec       2021-01-29 06:39:14.000000000 +0100
+++ uwsgi/uwsgi.spec    2022-01-26 21:43:49.120985037 +0100
@@ -1,5 +1,5 @@
 # Documentation sources:
-%global commit 8d868eadfb460785a735030271afa233ac854763
+%global commit 9b4ef5fa68fe42929a5e5410165d36fcc7b2d2c7
 %global shortcommit %(c=%{commit}; echo ${c:0:7})
 %global docrepo uwsgi-docs

@@ -8,12 +8,7 @@

 # This is primarily built for fedora, make it easy right now
 %if 0%{?fedora}
-%bcond_without systemd
 %bcond_without go
-%if 0%{?fedora} < 31
-%bcond_without python2
-%bcond_without python2_greenlet
-%endif
 %bcond_without python3
 %bcond_without ruby19
 %bcond_without tuntap
@@ -45,38 +40,12 @@
 #Fedora endif
 %endif

-# Conditionally disable some things in epel6
-%if 0%{?rhel} == 6
-# javapackages-tools retired in epel (apache-ivy orphanage)
-%bcond_with java
-# el6 doesn't ship with systemd
-%bcond_with systemd
-# el6 doesn't have go
-%bcond_with go
-%bcond_without python2
-%bcond_without python2_greenlet
-# el6 ships with ruby 1.8 but fiberloop/rbthreads needs 1.9
-%bcond_with ruby19
-# el6 doesn't have perl-PSGI
-# el6 does have perl-Coro
-%bcond_with perl
-# el6 httpd does not include mod_proxy_uwsgi
-%bcond_without mod_proxy_uwsgi
-# this fails in el not sure why
-%bcond_with gridfs
-%bcond_with tuntap
-%bcond_with mongodblibs
-%global manual_py_compile 0
-%else
 %global manual_py_compile 1
-%endif

 # Conditionally enable/disable some things in epel7
 %if 0%{?rhel} == 7
 # el7 does have java
 %bcond_without java
-# el7 does have systemd
-%bcond_without systemd
 %bcond_without python2
 %bcond_without python3
 %bcond_without python3_other
@@ -107,8 +76,8 @@
 %global __os_install_post %(echo '%{__os_install_post}' | sed -e
's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g')
 %endif

-# Disable router_access in fedora >= 28 because tcp_wrappers deprecation
-%if 0%{?fedora} >= 28
+# Disable router_access in fedora because tcp_wrappers deprecation
+%if 0%{?fedora}
 %bcond_with tcp_wrappers
 %else
 %bcond_without tcp_wrappers
@@ -130,8 +99,8 @@
 %endif

 Name:           uwsgi
-Version:        2.0.18
-Release:        16%{?dist}
+Version:        2.0.20
+Release:        0.5%{?dist}
 Summary:        Fast, self-healing, application container server
 # uwsgi is licensed under GPLv2 with a linking exception
 # docs are licensed under MIT
@@ -144,7 +113,6 @@
 Source3:        emperor.ini
 Source4:       
https://github.com/unbit/%{docrepo}/archive/%{commit}/%{docrepo}-%{shortcommit}.tar.gz
 Source5:        README.Fedora
-Source6:        uwsgi.init
 Source7:        uwsgi.tmpfiles

 Patch0:         uwsgi_trick_chroot_rpmbuild.patch
@@ -155,12 +123,11 @@
 Patch5:         uwsgi_fix_mongodb.patch
 Patch6:         uwsgi_v8-314_compatibility.patch
 Patch7:         uwsgi_fix_mono.patch
-# https://github.com/unbit/uwsgi/pull/1772
-Patch9:         uwsgi-2.0.16-glfs.patch
-# https://github.com/unbit/uwsgi/pull/2141
-Patch10:        uwsgi_fix_psgi.patch
-# https://github.com/unbit/uwsgi/pull/2105
-Patch11:        uwsgi_fix_php74_zend.patch
+# https://github.com/unbit/uwsgi/issues/2283
+Patch12:        uwsgi_fix_php8.patch
+Patch13:        uwsgi_fix_chroot_chdir.patch
+# https://github.com/unbit/uwsgi/issues/2356
+Patch14:        uwsgi_fix_php_arginfo.patch

 BuildRequires:  curl, libxml2-devel, libuuid-devel, jansson-devel
 BuildRequires:  libyaml-devel, ruby-devel
@@ -202,28 +169,26 @@
 %if %{with go}
 BuildRequires:  gcc-go
 %endif
-%if %{with systemd}
 BuildRequires:  systemd-devel, systemd-units
-%endif
 %if %{with mono}
 BuildRequires:  mono-devel, mono-web, glib2-devel
 %endif
 %if %{with v8}
-%if 0%{?fedora} >= 25
+%if 0%{?fedora}
 BuildRequires:  v8-314-devel
 %else
 BuildRequires:  v8-devel
 %endif
 %endif
 %if %{with mongodblibs}
-%if 0%{?fedora} >= 30
+%if 0%{?fedora}
 BuildRequires:  mongo-cxx-driver-legacy-devel
 %else
 BuildRequires:  mongo-cxx-driver-devel
 %endif
 %endif

-%if 0%{?fedora} >= 28
+%if 0%{?fedora}
 BuildRequires:  libargon2-devel
 Obsoletes:      uwsgi-router-access <= 2.0.16
 %endif
@@ -234,13 +199,7 @@
 Obsoletes:      uwsgi-plugin-admin <= 2.0.6

 Requires(pre):    shadow-utils
-%if %{with systemd}
 %{?systemd_requires}
-%else
-Requires(post): chkconfig
-Requires(preun): chkconfig
-Requires(preun): initscripts
-%endif

 %filter_requires_in %{_usrsrc}
 %filter_provides_in %{_usrsrc}
@@ -292,7 +251,8 @@
 %endif

 %description -n python%{python3_pkgversion}-uwsgidecorators
-The uwsgidecorators Python %{python3_version} module provides higher-level
access to the uWSGI API.
+The uwsgidecorators Python %{python3_version} module provides higher-level
+access to the uWSGI API.
 %endif

 %if %{with python3_other}
@@ -302,7 +262,8 @@
 Requires:       uwsgi-plugin-python%{python3_other_pkgversion} =
%{version}-%{release}

 %description -n python%{python3_other_pkgversion}-uwsgidecorators
-The uwsgidecorators Python %{python3_other_version} module provides
higher-level access to the uWSGI API.
+The uwsgidecorators Python %{python3_other_version} module provides
+higher-level access to the uWSGI API.
 %endif

 %package -n uwsgi-docs
@@ -363,7 +324,7 @@

 %package -n uwsgi-alarm-curl
 Summary:  uWSGI - Curl alarm plugin
-Requires: uwsgi-plugin-common = %{version}-%{release}, libcurl
+Requires: uwsgi-plugin-common = %{version}-%{release}

 %description -n uwsgi-alarm-curl
 This package contains the alarm_curl alarm plugin for uWSGI
@@ -446,7 +407,7 @@

 %package -n uwsgi-logger-graylog2
 Summary:   uWSGI - Graylog2 logger plugin
-Requires:  uwsgi-plugin-common = %{version}-%{release}, zlib
+Requires:  uwsgi-plugin-common = %{version}-%{release}

 %description -n uwsgi-logger-graylog2
 This package contains the graylog2 logger plugin for uWSGI
@@ -505,14 +466,12 @@
 %description -n uwsgi-logger-syslog
 This package contains the syslog logger plugin for uWSGI

-%if %{with systemd}
 %package -n uwsgi-logger-systemd
 Summary:  uWSGI - systemd journal logger plugin
 Requires: uwsgi-plugin-common = %{version}-%{release}

 %description -n uwsgi-logger-systemd
 This package contains the systemd journal logger plugin for uWSGI
-%endif

 %if %{with zeromq}
 %package -n uwsgi-logger-zeromq
@@ -527,7 +486,7 @@

 %package -n uwsgi-plugin-airbrake
 Summary:  uWSGI - Plugin for AirBrake support
-Requires: uwsgi-plugin-common = %{version}-%{release}, libcurl
+Requires: uwsgi-plugin-common = %{version}-%{release}

 %description -n uwsgi-plugin-airbrake
 This package contains the airbrake plugin for uWSGI
@@ -571,14 +530,14 @@

 %package -n uwsgi-plugin-cplusplus
 Summary:  uWSGI - Plugin for C++ support
-Requires: uwsgi-plugin-common = %{version}-%{release}, libstdc++
+Requires: uwsgi-plugin-common = %{version}-%{release}

 %description -n uwsgi-plugin-cplusplus
 This package contains the cplusplus plugin for uWSGI

 %package -n uwsgi-plugin-curl-cron
 Summary:  uWSGI - Plugin for CURL Cron support
-Requires: uwsgi-plugin-common = %{version}-%{release}, libcurl
+Requires: uwsgi-plugin-common = %{version}-%{release}

 %description -n uwsgi-plugin-curl-cron
 This package contains the curl_cron plugin for uWSGI
@@ -623,7 +582,7 @@
 %if %{with python2}
 %package -n uwsgi-plugin-python2-gevent
 Summary:  uWSGI - Plugin for Python 2 GEvent support
-Requires: uwsgi-plugin-python2 = %{version}-%{release}, libevent
+Requires: uwsgi-plugin-python2 = %{version}-%{release}
 Obsoletes: uwsgi-plugin-gevent < 2.0.16-4
 Provides: uwsgi-plugin-gevent = %{version}-%{release}

@@ -634,7 +593,7 @@
 %if %{with python3}
 %package -n uwsgi-plugin-python%{python3_pkgversion}-gevent
 Summary:  uWSGI - Plugin for Python %{python3_version} GEvent support
-Requires: uwsgi-plugin-python%{python3_pkgversion} = %{version}-%{release},
libevent
+Requires: uwsgi-plugin-python%{python3_pkgversion} = %{version}-%{release}

 %description -n uwsgi-plugin-python%{python3_pkgversion}-gevent
 This package contains the Python %{python3_version} gevent plugin for uWSGI
@@ -886,10 +845,6 @@
 %package -n uwsgi-plugin-python%{python3_pkgversion}-tornado
 Summary:  uWSGI - Plugin for Tornado (Python %{python3_version}) support
 Requires: uwsgi-plugin-common = %{version}-%{release},
python%{python3_pkgversion}-tornado
-%if 0%{?fedora} && 0%{?fedora} < 29
-Obsoletes: uwsgi-plugin-tornado3 < 2.0.16-4
-Provides: uwsgi-plugin-tornado3 = %{version}-%{release}
-%endif

 %description -n uwsgi-plugin-python%{python3_pkgversion}-tornado
 This package contains the tornado (Python %{python3_version}) plugin for uWSGI
@@ -913,21 +868,21 @@

 %package -n uwsgi-plugin-webdav
 Summary:  uWSGI - Plugin for WebDAV support
-Requires: uwsgi-plugin-common = %{version}-%{release}, libattr
+Requires: uwsgi-plugin-common = %{version}-%{release}

 %description -n uwsgi-plugin-webdav
 This package contains the webdav plugin for uWSGI

 %package -n uwsgi-plugin-xattr
 Summary:  uWSGI - Plugin for Extra Attributes support
-Requires: uwsgi-plugin-common = %{version}-%{release}, libattr
+Requires: uwsgi-plugin-common = %{version}-%{release}

 %description -n uwsgi-plugin-xattr
 This package contains the xattr plugin for uWSGI

 %package -n uwsgi-plugin-xslt
 Summary:  uWSGI - Plugin for XSLT transformation support
-Requires: uwsgi-plugin-common = %{version}-%{release}, libxslt
+Requires: uwsgi-plugin-common = %{version}-%{release}

 %description -n uwsgi-plugin-xslt
 This package contains the xslt plugin for uWSGI
@@ -1133,20 +1088,18 @@
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
-%if 0%{?fedora} >= 22
+%if 0%{?fedora}
 %patch5 -p1
 %endif
-%if %{with v8} && 0%{?fedora} >= 25
+%if %{with v8} && 0%{?fedora}
 %patch6 -p1
 %endif
 %if %{with mono}
 %patch7 -p1
 %endif
-%patch9 -p1
-%if 0%{?fedora} >= 32
-%patch10 -p1
-%endif
-%patch11 -p1
+%patch12 -p1
+%patch13 -p1
+%patch14 -p1

 #disable plug-ins
 %if %{without mongodblibs}
@@ -1201,9 +1154,7 @@
 CFLAGS="%{optflags} -Wno-unused-but-set-variable" %{__python} uwsgiconfig.py
--plugin plugins/fiber fedora
 CFLAGS="%{optflags} -Wno-unused-but-set-variable" %{__python} uwsgiconfig.py
--plugin plugins/rbthreads fedora
 %endif
-%if %{with systemd}
 CFLAGS="%{optflags} -Wno-unused-but-set-variable" %{__python} uwsgiconfig.py
--plugin plugins/systemd_logger fedora
-%endif
 %if %{with tuntap}
 CFLAGS="%{optflags} -Wno-unused-but-set-variable" %{__python} uwsgiconfig.py
--plugin plugins/tuntap fedora
 %endif
@@ -1245,9 +1196,6 @@
 install -d %{buildroot}%{_usrsrc}/uwsgi/%{version}
 install -d %{buildroot}%{_includedir}/uwsgi
 install -d %{buildroot}%{_libdir}/uwsgi
-%if %{without systemd}
-install -d -m 0775 %{buildroot}%{_localstatedir}/run/uwsgi
-%endif
 %if %{with mono}
 install -d %{buildroot}%{_monogacdir}
 %endif
@@ -1287,12 +1235,8 @@
 gacutil -i plugins/mono/uwsgi.dll -f -package uwsgi -root %{buildroot}/usr/lib
 %endif
 install -D -p -m 0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/uwsgi.ini
-%if %{with systemd}
 install -D -p -m 0644 %{SOURCE2} %{buildroot}%{_unitdir}/uwsgi.service
 install -D -p -m 0644 %{SOURCE7} %{buildroot}%{_tmpfilesdir}/uwsgi.conf
-%else
-install -D -p -m 0755 %{SOURCE6} %{buildroot}%{_initddir}/uwsgi
-%endif
 %if %{with mod_proxy_uwsgi}
 install -D -p -m 0755 apache2/.libs/mod_proxy_uwsgi.so
%{buildroot}%{_httpd_moddir}/mod_proxy_uwsgi.so
 %endif
@@ -1301,13 +1245,11 @@
 %pre
 getent group uwsgi >/dev/null || groupadd -r uwsgi
 getent passwd uwsgi >/dev/null || \
-    useradd -r -g uwsgi -d %{!?with_systemd:%{_localstatedir}}/run/uwsgi -s
/sbin/nologin \
+    useradd -r -g uwsgi -d /run/uwsgi -s /sbin/nologin \
     -c "uWSGI daemon user" uwsgi
 exit 0

 %post
-%if %{with systemd}
-echo "Executing systemd post-install tasks"
 %if 0%{?systemd_post:1}
     %systemd_post uwsgi.service
 %else
@@ -1316,14 +1258,8 @@
         /bin/systemctl daemon-reload >/dev/null 2>&1 || :
     fi
 %endif
-%else
-echo "Executing System V post-install tasks"
-/sbin/chkconfig --add uwsgi
-%endif

 %preun
-%if %{with systemd}
-echo "Executing systemd pre-uninstall tasks"
 %if 0%{?systemd_preun:1}
     %systemd_preun uwsgi.service
 %else
@@ -1333,17 +1269,8 @@
         /bin/systemctl stop uwsgi.service > /dev/null 2>&1 || :
     fi
 %endif
-%else
-echo "Executing System V pre-uninstall tasks"
-if [ $1 -eq 0 ] ; then
-    /sbin/service uwsgi stop >/dev/null 2>&1
-    /sbin/chkconfig --del uwsgi
-fi
-%endif

 %postun
-%if %{with systemd}
-echo "Executing systemd post-uninstall tasks"
 %if 0%{?systemd_postun:1}
     %systemd_postun uwsgi.service
 %else
@@ -1353,27 +1280,14 @@
         /bin/systemctl try-restart uwsgi.service >/dev/null 2>&1 || :
     fi
 %endif
-%else
-echo "Executing System V post-uninstall tasks"
-if [ "$1" -ge "1" ] ; then
-    /sbin/service uwsgi condrestart >/dev/null 2>&1 || :
-fi
-%endif


 %files
 %{_sbindir}/uwsgi
 %config(noreplace) %{_sysconfdir}/uwsgi.ini
-%if %{with systemd}
 %{_unitdir}/uwsgi.service
 %{_tmpfilesdir}/uwsgi.conf
-%else
-%{_initddir}/uwsgi
-%endif
 %dir %{_sysconfdir}/uwsgi.d
-%if %{without systemd}
-%attr(0775,uwsgi,uwsgi) %dir %{_localstatedir}/run/uwsgi
-%endif
 %doc README README.Fedora CHANGELOG
 %license LICENSE

@@ -1487,10 +1401,8 @@
 %files -n uwsgi-logger-syslog
 %{_libdir}/uwsgi/syslog_plugin.so

-%if %{with systemd}
 %files -n uwsgi-logger-systemd
 %{_libdir}/uwsgi/systemd_logger_plugin.so
-%endif

 %if %{with zeromq}
 %files -n uwsgi-logger-zeromq
@@ -1775,6 +1687,9 @@


 %changelog
+* Sun Jan 23 2022 Ralf Ertzinger <ralf@xxxxxxxxxxx> - 2.0.20-0.5
+- Update to 2.0.20
+
 * Wed Jan 27 2021 Fedora Release Engineering <releng@xxxxxxxxxxxxxxxxx> -
2.0.18-16
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild


-- 
You are receiving this mail because:
You are always notified about changes to this product and component
You are on the CC list for the bug.
https://bugzilla.redhat.com/show_bug.cgi?id=2045884
_______________________________________________
package-review mailing list -- package-review@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to package-review-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/package-review@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure




[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite Conditions]     [KDE Users]

  Powered by Linux