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 1718331 - python-caja fails to build with Python 3.8
Summary: python-caja fails to build with Python 3.8
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: python-caja
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ---
Assignee: Wolfgang Ulbrich
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: PYTHON38
TreeView+ depends on / blocked
 
Reported: 2019-06-07 13:34 UTC by Petr Viktorin
Modified: 2019-06-30 02:26 UTC (History)
4 users (show)

Fixed In Version: python-caja-1.23.0-1.fc30 python-caja-1.23.0-1.fc29
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-06-22 01:03:35 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Fix configure.ac for Python 3.8 (837 bytes, patch)
2019-06-15 12:38 UTC, Patrick Monnerat
no flags Details | Diff

Description Petr Viktorin 2019-06-07 13:34:16 UTC
python-caja fails to build with Python 3.8.0b1.

The build no longer links to libpython, resulting in undefined references to Python API like Py_Initialize.
Code that embeds Python (rather than building an extension module) needs to pass `--embed` to any `python3-config --libs` invocation to build with Python 3.8.
More information: 
https://docs.python.org/3.8/whatsnew/3.8.html#debug-build-uses-the-same-abi-as-release-build

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

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

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 1 Wolfgang Ulbrich 2019-06-15 10:58:42 UTC
I don't have any idea to fix that because i am not a python programmer. Most of my packages are using C.
Feel free to do a pull request to fix the issue.

Comment 2 Patrick Monnerat 2019-06-15 12:38:55 UTC
Created attachment 1580930 [details]
Fix configure.ac for Python 3.8

@Petr: many thanks for the very detailed problem ino you provide.
@Wolfgang: this is not a Python language problem: only an autoconf/pkg_config one.
The patch should make python-caja buildable with Python 3.8. I tried building (successful), but not executing, thus additional tests should be performed.

Comment 3 Miro Hrončok 2019-06-17 07:17:47 UTC
Thanks Patrick.

Comment 4 Wolfgang Ulbrich 2019-06-18 12:39:14 UTC
Miro,
i `ve added Patricks patch from upstream to f29/30 and rawhide branches.
So, you guys can switch building to 3.8 if you like.

Note, there are a few packages which depends on python-caja. All not my packages.

Comment 5 Miro Hrončok 2019-06-18 12:43:34 UTC
Is the patch applied? From the commit it doesn't appear so.

https://src.fedoraproject.org/rpms/python-caja/c/496f6edb0afebf966c1c0b6d6bcda549298b9597?branch=master

Comment 6 Wolfgang Ulbrich 2019-06-18 12:49:14 UTC
Only added to git for all branches.

Comment 7 Miro Hrončok 2019-06-18 12:56:10 UTC
I am confused. What good does the patch do in git if it is not applied?

Comment 8 Wolfgang Ulbrich 2019-06-18 13:20:51 UTC
I don`t know when you want to switch to python38 and want to rebuilt all packages.

By the way, i am missing python38-devel package in repos, so it doesn't makes sense to edit spec file for me.

Comment 9 Miro Hrončok 2019-06-18 14:15:07 UTC
python38-devel is not a thing.

Testing and mass rebuild of packages is happening in copr now, from dist git, against updated python3-devel. The patch seems that it is backwards compatible with 3.7, correct?

Comment 10 Patrick Monnerat 2019-06-18 14:17:35 UTC
> The patch seems that it is backwards compatible with 3.7, correct?

Yes it is. Patch does not do anything bad when building with 3.7 or even lower :-)

Comment 11 Wolfgang Ulbrich 2019-06-19 09:13:11 UTC
Patrick,
are you interested to take over this package as maintainer?
I don't really need it for myself and i don't use any package which depend on it.
This would also help to reduce my work overload to maintain MATE desktop in fedora + Mate upstream work.
And you know much more about python than me :).

Comment 12 Patrick Monnerat 2019-06-19 14:30:48 UTC
I can be a co-maintainer to help you (in Fedora, not in EPEL), but I won't take the primary position.
This can be: when you make a new upstream release available, you alert me so I can package it. When there are BZs for it, I can act.
You keep the hand on the package.
If you want, we can continue this discussion via our private e-mails...
BTW: I did not know much of Python in last December: I'm a good old C guy too!

Comment 13 Wolfgang Ulbrich 2019-06-19 15:02:56 UTC
Thanks Patrick,
i added you as co-admin to the package.

Comment 14 Fedora Update System 2019-06-20 11:58:52 UTC
FEDORA-2019-428951b756 has been submitted as an update to Fedora 30. https://bodhi.fedoraproject.org/updates/FEDORA-2019-428951b756

Comment 15 Wolfgang Ulbrich 2019-06-20 17:50:13 UTC
Patrick,
we shouldn't use a developer version (1.23.x) for stable branch f30.
I really prefer 1.22 release + a patch.
Can we revoke this update before it is in stable?

Comment 16 Fedora Update System 2019-06-20 17:52:06 UTC
FEDORA-2019-428951b756 has been submitted as an update to Fedora 30. https://bodhi.fedoraproject.org/updates/FEDORA-2019-428951b756

Comment 17 Fedora Update System 2019-06-20 18:07:47 UTC
FEDORA-2019-428951b756 has been submitted as an update to Fedora 30. https://bodhi.fedoraproject.org/updates/FEDORA-2019-428951b756

Comment 18 Wolfgang Ulbrich 2019-06-20 18:11:55 UTC
Ok , you build it already for rawhide  :/
than we can't revoke the build.....'
For the moment i do not push any MATE developer version (1.23.x) to rawhide, because it isn't clear when MATE will release 1.24.
I just want to avoid that a future stable fedora release use unstable developer tarballs.

....i will enable your update again.

Comment 19 Patrick Monnerat 2019-06-20 22:54:22 UTC
> For the moment i do not push any MATE developer version...

Sorry for having done that, I thought it will help. But what is your criterion for stable/developer version ? Is is an even/odd minor version number? Since it is stored on the download server just beside the older versions, it looks like a normal release.
Do we have to follow a global MATE versioning, or are MATE package versions independent from each other?
Also I'm not 100% sure, but i think that, unless rules have changed, we can revoke f29 and f30 even if already in rawhide: the requirement is that versions should be monotonically ascendent within Fedora versions... to be checked!
In any case, I did test 1.23.0 in F29 and rawhide successfully.

Comment 20 Wolfgang Ulbrich 2019-06-21 07:28:37 UTC
Np, you couldn't know that. Even are stable release and odd are developer versions, same like in many other projects, eg. gnome.

> Do we have to follow a global MATE versioning, or are MATE package versions independent from each other?

It depends, some packages depends on other and some new changes needs to be done in several packages together.
So using the same version is better in most cases. And you don't need to think about compatibility ;)


I think for python-caja it doesn't hurt to have another version than other packages.
Beside from python version changes there are no changes. And no package from Mate upstream depends on python-caja. Only a few 3-party applications which i don't use and know very well.
So it is ok for now.

Comment 21 Fedora Update System 2019-06-22 01:03:35 UTC
python-caja-1.23.0-1.fc30 has been pushed to the Fedora 30 stable repository. If problems still persist, please make note of it in this bug report.

Comment 22 Fedora Update System 2019-06-22 02:46:00 UTC
python-caja-1.23.0-1.fc29 has been pushed to the Fedora 29 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-67fe748419

Comment 23 Fedora Update System 2019-06-30 02:26:44 UTC
python-caja-1.23.0-1.fc29 has been pushed to the Fedora 29 stable repository. If problems still persist, please make note of it in this bug report.


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