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 1703776 - xonsh FTBFS with Python 3.8
Summary: xonsh FTBFS with Python 3.8
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: xonsh
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Carmen Bianca Bakker
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: PYTHON38
TreeView+ depends on / blocked
 
Reported: 2019-04-28 09:20 UTC by Miro Hrončok
Modified: 2020-01-12 19:13 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-01-10 17:30:42 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Full log from Copr (160.68 KB, text/plain)
2019-04-28 09:20 UTC, Miro Hrončok
no flags Details
Full log from Copr (xonsh 0.9.0-2.fc31, Python 3.8.0a4) (187.16 KB, text/plain)
2019-05-10 14:56 UTC, Miro Hrončok
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Github xonsh xonsh issues 3101 0 'None' 'open' 'Xonsh broken on Python 3.8' 2019-11-17 23:37:52 UTC

Description Miro Hrončok 2019-04-28 09:20:12 UTC
Created attachment 1559609 [details]
Full log from Copr

xonsh 0.8.12-3.fc31 FTBFS with Python 3.8


+ /builddir/build/BUILDROOT/xonsh-0.8.12-3.fc31.x86_64/usr/bin/xonsh run-tests.xsh
Traceback (most recent call last):
  File "/builddir/build/BUILDROOT/xonsh-0.8.12-3.fc31.x86_64/usr/bin/xonsh", line 3, in <module>
    main()
  File "/builddir/build/BUILDROOT/xonsh-0.8.12-3.fc31.x86_64/usr/lib/python3.8/site-packages/xonsh/main.py", line 404, in main
    _failback_to_other_shells(args, err)
  File "/builddir/build/BUILDROOT/xonsh-0.8.12-3.fc31.x86_64/usr/lib/python3.8/site-packages/xonsh/main.py", line 368, in _failback_to_other_shells
    raise err
  File "/builddir/build/BUILDROOT/xonsh-0.8.12-3.fc31.x86_64/usr/lib/python3.8/site-packages/xonsh/main.py", line 402, in main
    return main_xonsh(args)
  File "/builddir/build/BUILDROOT/xonsh-0.8.12-3.fc31.x86_64/usr/lib/python3.8/site-packages/xonsh/main.py", line 445, in main_xonsh
    run_script_with_cache(
  File "/builddir/build/BUILDROOT/xonsh-0.8.12-3.fc31.x86_64/usr/lib/python3.8/site-packages/xonsh/codecache.py", line 160, in run_script_with_cache
    ccode = compile_code(filename, code, execer, glb, loc, mode)
  File "/builddir/build/BUILDROOT/xonsh-0.8.12-3.fc31.x86_64/usr/lib/python3.8/site-packages/xonsh/codecache.py", line 119, in compile_code
    ccode = execer.compile(code, glbs=glb, locs=loc, mode=mode, filename=filename)
  File "/builddir/build/BUILDROOT/xonsh-0.8.12-3.fc31.x86_64/usr/lib/python3.8/site-packages/xonsh/execer.py", line 138, in compile
    code = compile(tree, filename, mode)
TypeError: required field "type_ignores" missing from Module

Full log attached.

Comment 1 Carmen Bianca Bakker 2019-04-28 16:55:57 UTC
Reported the bug upstream: https://github.com/xonsh/xonsh/issues/3101

Short summary of the problem: The `ast` library of Python is not stable. `ast.Module` now needs to be called with two arguments except one. See https://bugs.python.org/issue35894 and https://github.com/ipython/ipython/issues/11590

I included a fix in the bug report, but it breaks some tests. It also breaks compatibility with Python 3.7, but that is easily fixed with a simple version check.

Comment 2 Carmen Bianca Bakker 2019-05-10 10:35:37 UTC
Upstream released 0.9.0 with basic Python 3.8 support. I have packaged it for Rawhide and it passes all the tests.

Comment 3 Miro Hrončok 2019-05-10 14:56:07 UTC
Created attachment 1566706 [details]
Full log from Copr (xonsh 0.9.0-2.fc31, Python 3.8.0a4)

Still failing:

E   TypeError: required field "posonlyargs" missing from arguments

Comment 4 Upstream Release Monitoring 2019-05-22 18:05:29 UTC
Latest upstream release: 0.9.4 Current version/release in rawhide: 0.9.3-1.fc31 URL: http://xon.sh Please consult the package updates policy before you issue an update to a stable branch: https://fedoraproject.org/wiki/Updates_Policy More information about the service that created this bug can be found at: https://fedoraproject.org/wiki/Upstream_release_monitoringPlease keep in mind that with any upstream change, there may also be packaging changes that need to be made. Specifically, please remember that it is your responsibility to review the new version to ensure that the licensing is still correct and that no non-free or legally problematic items have been added upstream.Based on the information from anitya: https://release-monitoring.org/project/10820/

Comment 5 Upstream Release Monitoring 2019-05-22 18:05:30 UTC
Skipping the scratch build because an SRPM could not be built: ['git', 'clone', 'https://src.fedoraproject.org/cgit/rpms/xonsh.git', '/var/tmp/thn-xxqk7gt3'] returned 128: b"Cloning into '/var/tmp/thn-xxqk7gt3'...\nfatal: repository 'https://src.fedoraproject.org/cgit/rpms/xonsh.git/' not found\n"

Comment 6 Ben Cotton 2019-08-13 17:00:47 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 31 development cycle.
Changing version to '31'.

Comment 7 Ben Cotton 2019-08-13 19:18:32 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 31 development cycle.
Changing version to 31.

Comment 8 Mairi Dulaney 2019-08-13 22:55:38 UTC
0.9.10 built for Rawhide

Comment 9 Miro Hrončok 2019-08-13 23:06:07 UTC
Thanks, but it still doesn't build with Python 3.8.0b3:

Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.m1AKgv
+ umask 022
+ cd /builddir/build/BUILD
+ cd xonsh-0.9.10
+ sed --in-place s:pytest:py.test-3: run-tests.xsh
+ PYTHONDONTWRITEBYTECODE=1
+ PYTHONPATH=/builddir/build/BUILDROOT/xonsh-0.9.10-1.fc31.x86_64/usr/lib/python3.8/site-packages
+ PATH=/builddir/build/BUILDROOT/xonsh-0.9.10-1.fc31.x86_64/usr/bin:/builddir/.local/bin:/builddir/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin
+ /builddir/build/BUILDROOT/xonsh-0.9.10-1.fc31.x86_64/usr/bin/xonsh run-tests.xsh
BUILDSTDERR: Traceback (most recent call last):
BUILDSTDERR:   File "/builddir/build/BUILDROOT/xonsh-0.9.10-1.fc31.x86_64/usr/bin/xonsh", line 4, in <module>
BUILDSTDERR:     main()
BUILDSTDERR:   File "/builddir/build/BUILDROOT/xonsh-0.9.10-1.fc31.x86_64/usr/lib/python3.8/site-packages/xonsh/__amalgam__.py", line 24011, in main
BUILDSTDERR:     _failback_to_other_shells(args, err)
BUILDSTDERR:   File "/builddir/build/BUILDROOT/xonsh-0.9.10-1.fc31.x86_64/usr/lib/python3.8/site-packages/xonsh/__amalgam__.py", line 23975, in _failback_to_other_shells
BUILDSTDERR:     raise err
BUILDSTDERR:   File "/builddir/build/BUILDROOT/xonsh-0.9.10-1.fc31.x86_64/usr/lib/python3.8/site-packages/xonsh/__amalgam__.py", line 24009, in main
BUILDSTDERR:     return main_xonsh(args)
BUILDSTDERR:   File "/builddir/build/BUILDROOT/xonsh-0.9.10-1.fc31.x86_64/usr/lib/python3.8/site-packages/xonsh/__amalgam__.py", line 24052, in main_xonsh
BUILDSTDERR:     run_script_with_cache(
BUILDSTDERR:   File "/builddir/build/BUILDROOT/xonsh-0.9.10-1.fc31.x86_64/usr/lib/python3.8/site-packages/xonsh/__amalgam__.py", line 3036, in run_script_with_cache
BUILDSTDERR:     ccode = compile_code(filename, code, execer, glb, loc, mode)
BUILDSTDERR:   File "/builddir/build/BUILDROOT/xonsh-0.9.10-1.fc31.x86_64/usr/lib/python3.8/site-packages/xonsh/__amalgam__.py", line 2995, in compile_code
BUILDSTDERR:     ccode = execer.compile(code, glbs=glb, locs=loc, mode=mode, filename=filename)
BUILDSTDERR:   File "/builddir/build/BUILDROOT/xonsh-0.9.10-1.fc31.x86_64/usr/lib/python3.8/site-packages/xonsh/__amalgam__.py", line 23095, in compile
BUILDSTDERR:     code = compile(tree, filename, mode)
BUILDSTDERR: TypeError: required field "posonlyargs" missing from arguments
BUILDSTDERR: error: Bad exit status from /var/tmp/rpm-tmp.m1AKgv (%check)
RPM build errors:
BUILDSTDERR:     Bad exit status from /var/tmp/rpm-tmp.m1AKgv (%check)
Child return code was: 1

For the build logs, see:
https://copr-be.cloud.fedoraproject.org/results/@python/python3.8/fedora-rawhide-x86_64/00999700-xonsh/

For all our attempts to build xonsh with Python 3.8, see:
https://copr.fedorainfracloud.org/coprs/g/python/python3.8/package/xonsh/

Testing and mass rebuild of packages is happening in copr. You can follow these instructions to test locally in mock if your package builds with Python 3.8:
https://copr.fedorainfracloud.org/coprs/g/python/python3.8/

Let us know here if you have any questions.

Comment 10 Mairi Dulaney 2019-08-13 23:17:14 UTC
Oh, woops, it built for Rawhide, my bad.

Comment 11 Miro Hrončok 2019-08-13 23:23:34 UTC
No problem, it might be confusing that we open bug report before 3.8 hits rawhide. We plan to start building in a side tag right after F31 branching finishes (I expect less than 24 hours).

Comment 12 Miro Hrončok 2019-08-14 22:24:48 UTC
The coordinated rebuild of Python 3.8 has started in the `f32-python` side tag.

If you figure out how to rebuild this package, please don't rebuild it in regular rawhide, but use the side tag instead:

    on branch master:
    $ fedpkg build --target=f32-python

To wait for a build to show up in the side tag, do:

    $ koji wait-repo f32-python --build=<nvr>

Where <nvr> is name-version-release of the source package, e.g. python-foo-1.1-2.fc32.

An updated mock config is posted at:
http://copr.fedorainfracloud.org/coprs/g/python/python3.8/

Note that it will take a while before the essential packages are rebuilt, so don't expect all your dependencies to be available right away.

Thanks. Let us know if you need up to date info, or if you have any questions.



PS this message is mass posted to all the bugs that block the PYTHON38 bug. If this is also a Fedora 31 FTBFS bug and you manage to fix it, you can do a f31 build as usual:

    on branch f31:
    $ fedpkg build

Comment 13 Mairi Dulaney 2019-08-15 18:10:22 UTC
Ahh, so it seems that upstream is not quite done doing the port.

Comment 14 Miro Hrončok 2019-08-21 16:35:35 UTC
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.)

Comment 15 Miro Hrončok 2019-08-21 17:29:33 UTC
(Python 3.8 has landed in the rawhide buildroot.)

Comment 16 Carmen Bianca Bakker 2019-09-05 09:39:12 UTC
xonsh-0.9.11-2 is available in rawhide. I made that package build by temporarily disabling the packages. It is kind of broken, however.

Upstream bug report:

https://github.com/xonsh/xonsh/issues/3271

Comment 17 Miro Hrončok 2019-11-17 23:44:06 UTC
Seem this was fixed upstream.

Comment 18 Carmen Bianca Bakker 2020-01-10 17:30:42 UTC
xonsh 0.9.13-1 in rawhide should be working with an identical feature set to the Python 3.7 version. Some specific Python 3.8 features aren't supported yet, but that should be fine.

Comment 19 Miro Hrončok 2020-01-12 19:13:14 UTC
Thank You, Carmen!


Note You need to log in before you can comment on or make changes to this bug.