GNOME Bugzilla – Bug 657054
Conflict files between pygobject3 and pygobject2.28
Last modified: 2011-09-12 13:49:05 UTC
Following changes mentioned in bug#642048, I've tried building pygobject 2.90.2 and 2.28.6. Even after disabling introspection support in pygobject 2.28.6, there are still conflicting files between them: $ diff -u pygobject2.lst pygobject3.lst |grep ' /usr/lib' /usr/lib/python2.7/site-packages/gtk-2.0 /usr/lib/python2.7/site-packages/gtk-2.0/dsextras.py /usr/lib/python2.7/site-packages/gtk-2.0/dsextras.pyc /usr/lib/python2.7/site-packages/gtk-2.0/dsextras.pyo That means dsextras.py co-exist in pygobject 2.28 and pygobject 3. And there is no easy way of get rid of any of it without manually deleting.
Same probelm is seen currently on openSUSE Factory
I see actually some more files conflicting (gtk-doc related): file /usr/share/gtk-doc/html/pygobject/class-glibmaincontext.html from install of python-gobject2-devel-2.28.6-4.1.x86_64 conflicts with file from package python-gobject-devel-2.90.2-1.x86_64 file /usr/share/gtk-doc/html/pygobject/class-glibmainloop.html from install of python-gobject2-devel-2.28.6-4.1.x86_64 conflicts with file from package python-gobject-devel-2.90.2-1.x86_64 file /usr/share/gtk-doc/html/pygobject/class-gobject.html from install of python-gobject2-devel-2.28.6-4.1.x86_64 conflicts with file from package python-gobject-devel-2.90.2-1.x86_64 file /usr/share/gtk-doc/html/pygobject/class-gobjectgboxed.html from install of python-gobject2-devel-2.28.6-4.1.x86_64 conflicts with file from package python-gobject-devel-2.90.2-1.x86_64 file /usr/share/gtk-doc/html/pygobject/class-gobjectginterface.html from install of python-gobject2-devel-2.28.6-4.1.x86_64 conflicts with file from package python-gobject-devel-2.90.2-1.x86_64 file /usr/share/gtk-doc/html/pygobject/class-gobjectgpointer.html from install of python-gobject2-devel-2.28.6-4.1.x86_64 conflicts with file from package python-gobject-devel-2.90.2-1.x86_64 file /usr/share/gtk-doc/html/pygobject/glib-constants.html from install of python-gobject2-devel-2.28.6-4.1.x86_64 conflicts with file from package python-gobject-devel-2.90.2-1.x86_64 file /usr/share/gtk-doc/html/pygobject/glib-functions.html from install of python-gobject2-devel-2.28.6-4.1.x86_64 conflicts with file from package python-gobject-devel-2.90.2-1.x86_64 file /usr/share/gtk-doc/html/pygobject/gobject-constants.html from install of python-gobject2-devel-2.28.6-4.1.x86_64 conflicts with file from package python-gobject-devel-2.90.2-1.x86_64 file /usr/share/gtk-doc/html/pygobject/gobject-functions.html from install of python-gobject2-devel-2.28.6-4.1.x86_64 conflicts with file from package python-gobject-devel-2.90.2-1.x86_64 file /usr/share/gtk-doc/html/pygobject/index.html from install of python-gobject2-devel-2.28.6-4.1.x86_64 conflicts with file from package python-gobject-devel-2.90.2-1.x86_64 file /usr/share/gtk-doc/html/pygobject/index.sgml from install of python-gobject2-devel-2.28.6-4.1.x86_64 conflicts with file from package python-gobject-devel-2.90.2-1.x86_64 file /usr/share/gtk-doc/html/pygobject/pygobject.devhelp from install of python-gobject2-devel-2.28.6-4.1.x86_64 conflicts with file from package python-gobject-devel-2.90.2-1.x86_64
If the windows porting work I've been doing get's accepted (see http://mail.gnome.org/archives/python-hackers-list/2011-August/msg00004.html) then both dsextras.py and setup.py can be removed.
For now those files can be safely deleted when packaging pygobject3. We should move to getting rid of those asap.
Also the docs are out of date and will conflict.
Created attachment 194443 [details] [review] Remove distutils based build system.
Created attachment 194449 [details] [review] Fix documentation installation directory (In reply to comment #5) > Also the docs are out of date Sorry, nothing I can do about that any time soon... > and will conflict. ... but this is easily fixed with this patch.
I think we should disable docs for now since they are completely wrong for GI.
Created attachment 194559 [details] [review] Disable documentation for now since they are completely wrong for GI. I'd still commit attachment #194449 [details] (Fix documentation installation directory) though, so whoever works on this in the future doesn't reintroduce conflicting files...
J5: Can the patch get a review so we get this in before 3.2?
all file conflicts between pygobject 2.28.6 and pygobject 3.0 built with python2 support. some files conflicts if built with python3 http://paste.xinu.at/Ntx/ I understand that documentation and gtk-2.0 can be removed easily but what about gi bindings? I love to see this being fixed upstream rather than cherry picking at packaging.
Marking as 3.2 blocker.
(In reply to comment #11) > all file conflicts between pygobject 2.28.6 and pygobject 3.0 built with > python2 support. some files conflicts if built with python3 > > http://paste.xinu.at/Ntx/ Out of curiosity, why does that file list conflicting files in /usr/lib/python2.7/site-packages/gi? - PyGObject 3 is parallel installable with 2.28, but only if gi support is disabled in 2.28, and - PyGObject 3 now uses that location but 2.28 should have been installed into /usr/lib/python2.7/site-packages/gtk-2.0/gi/ in the first place... hence no conflicts. No? The rest should be solved with the attached patches.
(In reply to comment #13) > (In reply to comment #11) > > all file conflicts between pygobject 2.28.6 and pygobject 3.0 built with > > python2 support. some files conflicts if built with python3 > > > > http://paste.xinu.at/Ntx/ > > Out of curiosity, why does that file list conflicting files in > /usr/lib/python2.7/site-packages/gi? > - PyGObject 3 is parallel installable with 2.28, but only if > gi support is disabled in 2.28, and because nobody told me that I should disable g-i support. Maybe it should be disabled by default in 2.28? > - PyGObject 3 now uses that location but 2.28 should have been > installed into /usr/lib/python2.7/site-packages/gtk-2.0/gi/ > in the first place... > hence no conflicts. No? > it doesn't do that for 2.28 > The rest should be solved with the attached patches.
(In reply to comment #14) > (In reply to comment #13) > > (In reply to comment #11) > > > all file conflicts between pygobject 2.28.6 and pygobject 3.0 built with > > > python2 support. some files conflicts if built with python3 > > > > > > http://paste.xinu.at/Ntx/ > > > > Out of curiosity, why does that file list conflicting files in > > /usr/lib/python2.7/site-packages/gi? > > - PyGObject 3 is parallel installable with 2.28, but only if > > gi support is disabled in 2.28, and > > because nobody told me that I should disable g-i support. Maybe it should be > disabled by default in 2.28? Sounds like a good idea to me.
Created attachment 195919 [details] [review] Remove distutils based build system. Rebased against master...
Created attachment 195920 [details] [review] Disable introspection support by default (In reply to comment #15) > (In reply to comment #14) > > because nobody told me that I should disable g-i support. Maybe it should be > > disabled by default in 2.28? > > Sounds like a good idea to me. Patch intended for the pygobject-2-28 branch only.
Thanks a lot, Dieter!
Funda Wang, Dominique Leuenberger and Ionut Biru: could you give the tip revisions of the master and pygobject-2-28 branches a test to see if these patches have resolved all cases on your systems? Thanks!
works fine out of the box.
(In reply to comment #20) > works fine out of the box. Thanks for testing! Funda Wang, Dominique Leuenberger: if anything comes up during your tests, feel free to reopen this report.