GNOME Bugzilla – Bug 721646
Ease coexistence of several python versions of pygobject
Last modified: 2014-01-24 00:18:25 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.
Created attachment 265460 [details] [review] add --without-common configure option
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.
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...
(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?
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?
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.