Bug 1472495

Summary: gobject-introspection: Switch to Python 3
Product: [Fedora] Fedora Reporter: Matías Zúñiga <matias.nicolas.zc>
Component: gobject-introspectionAssignee: Colin Walters <walters>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 27CC: cfergeau, fmuellner, ishcherb, otaylor, torsava, walters
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Unspecified   
Whiteboard:
Fixed In Version: gobject-introspection-1.54.1-5.fc28 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-02-03 14:51:19 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: 1285816, 1322027    

Description Matías Zúñiga 2017-07-18 23:18:32 UTC
As stated in bug 635231, comment 32, upstream supports Python 3, so a Python 3 package should be provided. I open a separate bug, as the last one was only about updating the package (first read comments 32 to 36 from the previous bug).

Version is rawhide because i'm not sure if this can be pushed to fc26

(In reply to Tomas Orsava from bug 635231, comment 36)
> Just to clarify, while it seems the logical solution that the Python part is
> indeed only used internally, this page [0] claims that gobject-introspection
> « provides » a "Python package to create and parse the GIR format".
> 
> That would imply that the Python package is to be accessible by other
> packages and/or users. And that'd mean we should provide both Python 2 and
> Python 3 version.
> 
> [0]
> https://wiki.gnome.org/Projects/GObjectIntrospection#Contents_of_the_package

gobject-introspection provides some files (g-ir-annotation-tool, g-ir-doc-tool, g-ir-scanner) that are python scripts. I think that they are the "Python package", but they should not be used as libraries.

The library seems to be for internal use, an because of that they are not installed at site-packages. The python path used by the 'binaries' is determined at build time [0]

[0] https://git.gnome.org/browse/gobject-introspection/commit/?id=427e28ff942bad9a3a19d316912c40e39085a5bd

Comment 1 Matías Zúñiga 2017-07-19 14:03:03 UTC
As a note: debian switched to python 3 [0] without maintaining a python 2 package

[0] https://packages.qa.debian.org/g/gobject-introspection/news/20160713T165802Z.html

Comment 2 Jan Kurik 2017-08-15 07:28:27 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 27 development cycle.
Changing version to '27'.

Comment 3 Christophe Fergeau 2018-01-17 10:41:18 UTC
It would indeed be nice if gobject-introspection switched to python3, as this is what is dragging python2 in the buildroot for spice-gtk (through the python-mako Requires on gobject-introspection-devel). It's going to be the same for most gnome libraries. I wanted to check if spice-gtk could be build in an environment without python2, which is when I came across this :)
For what it's worth, changing python-devel to python3-devel, python-mako to python3-mako, and adding --with-python=/usr/bin/python3 to the configure args built successfully on koji, but I did not test the resulting package.