Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1743903
Summary: | uwsgi fails to build on Fedora 32 | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Miro Hrončok <mhroncok> |
Component: | uwsgi | Assignee: | Jorge Gallegos <kad> |
Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | high | Docs Contact: | |
Priority: | unspecified | ||
Version: | rawhide | CC: | carl, kad, tadej.j |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2019-09-14 15:59:49 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 1750908, 1750909, 1686977 |
Description
Miro Hrončok
2019-08-20 23:26:52 UTC
I believe the %{with python2} conditional is not working properly here. This section is OK: %if %{with python2} CFLAGS="%{optflags} -Wno-unused-but-set-variable" %{__python2} uwsgiconfig.py --plugin plugins/python fedora CFLAGS="%{optflags} -Wno-unused-but-set-variable" %{__python2} uwsgiconfig.py --plugin plugins/gevent fedora CFLAGS="%{optflags} -Wno-unused-but-set-variable" %{__python2} uwsgiconfig.py --plugin plugins/tornado fedora %endif %if %{with python3} CFLAGS="%{optflags} -Wno-unused-but-set-variable" %{__python3} uwsgiconfig.py --plugin plugins/python fedora python%{python3_pkgversion} CFLAGS="%{optflags} -Wno-unused-but-set-variable" %{__python3} uwsgiconfig.py --plugin plugins/gevent fedora python%{python3_pkgversion}_gevent CFLAGS="%{optflags} -Wno-unused-but-set-variable" %{__python3} uwsgiconfig.py --plugin plugins/tornado fedora python%{python3_pkgversion}_tornado %endif %if %{with python3_other} CFLAGS="%{optflags} -Wno-unused-but-set-variable" %{__python3_other} uwsgiconfig.py --plugin plugins/python fedora python%{python3_other_pkgversion} CFLAGS="%{optflags} -Wno-unused-but-set-variable" %{__python3_other} uwsgiconfig.py --plugin plugins/gevent fedora python%{python3_other_pkgversion}_gevent %endif But it further continues with: %if %{with mongodblibs} CFLAGS="%{optflags} -Wno-unused-but-set-variable" %{__python2} uwsgiconfig.py --plugin plugins/mongodblog fedora CFLAGS="%{optflags} -Wno-unused-but-set-variable -std=gnu++11 -Wno-error" %{__python2} uwsgiconfig.py --plugin plugins/stats_pusher_mongodb fedora %endif %if %{with mono} CFLAGS="%{optflags} -Wno-unused-but-set-variable" %{__python2} uwsgiconfig.py --plugin plugins/mono fedora %endif %if %{with v8} CFLAGS="%{optflags} -Wno-unused-but-set-variable" %{__python2} uwsgiconfig.py --plugin plugins/v8 fedora %endif %if %{with go} CFLAGS="%{optflags} -Wno-unused-but-set-variable" %{__python2} uwsgiconfig.py --plugin plugins/gccgo fedora %endif %if %{with ruby19} CFLAGS="%{optflags} -Wno-unused-but-set-variable" %{__python2} uwsgiconfig.py --plugin plugins/fiber fedora CFLAGS="%{optflags} -Wno-unused-but-set-variable" %{__python2} uwsgiconfig.py --plugin plugins/rbthreads fedora %endif %if %{with systemd} CFLAGS="%{optflags} -Wno-unused-but-set-variable" %{__python2} uwsgiconfig.py --plugin plugins/systemd_logger fedora %endif %if %{with tuntap} CFLAGS="%{optflags} -Wno-unused-but-set-variable" %{__python2} uwsgiconfig.py --plugin plugins/tuntap fedora %endif %if %{with perl} CFLAGS="%{optflags} -Wno-unused-but-set-variable" %{__python2} uwsgiconfig.py --plugin plugins/psgi fedora CFLAGS="%{optflags} -Wno-unused-but-set-variable" %{__python2} uwsgiconfig.py --plugin plugins/coroae fedora %endif %if %{with zeromq} CFLAGS="%{optflags} -Wno-unused-but-set-variable" %{__python2} uwsgiconfig.py --plugin plugins/logzmq fedora CFLAGS="%{optflags} -Wno-unused-but-set-variable" %{__python2} uwsgiconfig.py --plugin plugins/mongrel2 fedora %endif ... The f32-python side tag has been merged. In order to rebuild the package, do it in regular rawhide, but please wait until python3-3.8 is tagged: $ koji wait-repo f32-build --build python3-3.8.0~b3-3.fc32 If your built already started in f32-python, after it is finished, please tag it to rawhide with: $ koji tag-build f32-pending <nvr> For example: $ koji tag-build f32-pending libreoffice-6.3.0.4-3.fc32 Thanks! (This comment is mass posted to all bugzillas blocking the PYTHON38 tracking bug.) (Python 3.8 has landed in the rawhide buildroot.) Sorry for the lack of response here, been pretty busy with $dayjob. As you can see this spec file is not simple, so I'd be happily accept any assistance here. I haven't heard from Jorge in a while, so I don't expect him to respond here. If I can ever find the time I want to rewrite this spec file from scratch to simplify it. I can ty to rewrite if from scratch as python3 only The spec grew in complexity as ruby then python crossed major versions. I haven't been good at cleaning up old/stale versions though. I haven't had time to put as much effort here as I don't use uwsgi in my $dayjob anymore now for a couple of years, but I would be all into rewriting the spec with epel7 and fedora 30+ in mind, meaning getting rid of a bunch of conditionals in the spec. I am not sure we can discard python2 just yet for f29 but I think we can for 30+. No we cannot discard Python 2 for Fedora 30, that ship has sailed. See https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_multiple_python_runtimes > Mirroring the policy for regular packages, the Python-version-specific subpackages of your package MUST NOT be removed in a release branch of Fedora. Even when I update the calls, uwsgiconfig.py is not Python 3 compatible: + /usr/bin/python3 uwsgiconfig.py --plugin plugins/coroae fedora using profile: buildconf/fedora.ini detected include path: ['/usr/lib/gcc/x86_64-redhat-linux/9/include', '/usr/local/include', '/usr/include'] *** uWSGI building and linking plugin plugins/coroae *** Traceback (most recent call last): File "uwsgiconfig.py", line 1383, in build_plugin execfile('%s/uwsgiplugin.py' % path, up) NameError: name 'execfile' is not defined During handling of the above exception, another exception occurred: Traceback (most recent call last): File "uwsgiconfig.py", line 1638, in <module> build_plugin(options.plugin[0], uc, cflags, ldflags, libs, name) File "uwsgiconfig.py", line 1386, in build_plugin exec(f.read(), up) File "<string>", line 12 print "unable to find the Coro perl module !!!" ^ SyntaxError: Missing parentheses in call to 'print'. Did you mean print("unable to find the Coro perl module !!!")? uwsgiconfig.py is PY3 compatible, but plugins/coroae/uwsgiplugin.py is not. https://github.com/unbit/uwsgi/blob/2.0.18/plugins/coroae/uwsgiplugin.py#L12 Here are my changes in spec: https://src.fedoraproject.org/rpms/uwsgi/pull-request/8 Porting plugins/coroae/uwsgiplugin.py to py3 should be trivial, maybe even with 2to3, but I won't be able to look into it today. Ok, 2to3 works. The above PR is ready for review. This is in rawhide now. https://bodhi.fedoraproject.org/updates/FEDORA-2019-d86b995550 |