After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 721646 - Ease coexistence of several python versions of pygobject
Ease coexistence of several python versions of pygobject
Status: RESOLVED FIXED
Product: pygobject
Classification: Bindings
Component: general
Git master
Other All
: Normal normal
: ---
Assigned To: Nobody's working on this now (help wanted and appreciated)
Python bindings maintainers
Depends on:
Blocks:
 
 
Reported: 2014-01-06 17:22 UTC by Patrick Welche
Modified: 2014-01-24 00:18 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
add --without-common configure option (1.80 KB, patch)
2014-01-06 17:25 UTC, Patrick Welche
reviewed Details | Review

Description Patrick Welche 2014-01-06 17:22:16 UTC
Packaging systems like all files to belong to a single package. A problem arises when for example gedit insists on python 3, so wants a python 3 pygobject, whereas gnumeric insists on python 2, so wants a python 2 pygobject. The packaging system now runs into trouble because the files:

- include/pygobject-3.0/pygobject.h
- lib/pkgconfig/pygobject-3.0.pc

would appear in both the python 2 and python 3 versions of a pygobject package.

The patch about to be attached adds a --without-common configure flag to make the job of the packager easier: it will simply not install the above mentioned files.
You can then easily build and install a python 2 version pygobject, and a python 3 version pygobject without those 2 files conflicting, and make both packages depend on another pygobject-shared package which includes them.
Comment 1 Patrick Welche 2014-01-06 17:25:45 UTC
Created attachment 265460 [details] [review]
add --without-common configure option
Comment 2 Simon Feltman 2014-01-06 19:50:54 UTC
What about it being "dev" package (pygobject-dev)? pygobject doesn't actually rely on this to work AFAICT. But for keeping packaging compatibility the pygobject packages would still need it as a dependency I guess.
Comment 3 Patrick Welche 2014-01-06 22:27:44 UTC
I could call what I called "pygobject-shared" something else like "pygobject-dev", but I would still need to make "real" packages without those files, which as you say aren't needed for pygobject to work. So the new configure flag is still useful...
Comment 4 Simon Feltman 2014-01-06 22:48:19 UTC
(In reply to comment #3)
> So the new configure flag is still useful...

Absolutely, I'm just bikeshedding the nomenclature a bit to match what I've seen before (at least in debian). Is there any precedence in terms of configure flags for packages which also ship "dev" packages?
Comment 5 Simon Feltman 2014-01-06 23:55:06 UTC
Review of attachment 265460 [details] [review]:

--without-common or --without-dev works for me (--without-shared would be too confusing due to it overloading "shared library" ). However, the patch had a minor merge issue, are you using pygobject master?
Comment 6 Patrick Welche 2014-01-24 00:18:25 UTC
Thanks for the review.

Finally committed as
https://git.gnome.org/browse/pygobject/commit/?id=15fdd827ce4bff847fb35c817c6ea2d3650eec00

I went for --without-common considering what would happen if we added a manual page: it would have to be excluded, and wouldn't be a developer file.