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 657054 - Conflict files between pygobject3 and pygobject2.28
Conflict files between pygobject3 and pygobject2.28
Status: RESOLVED FIXED
Product: pygobject
Classification: Bindings
Component: general
2.90.x
Other Linux
: Normal normal
: ---
Assigned To: Nobody's working on this now (help wanted and appreciated)
Python bindings maintainers
Depends on:
Blocks:
 
 
Reported: 2011-08-22 04:16 UTC by Funda Wang
Modified: 2011-09-12 13:49 UTC
See Also:
GNOME target: 3.2
GNOME version: ---


Attachments
Remove distutils based build system. (34.41 KB, patch)
2011-08-23 07:40 UTC, Dieter Verfaillie
accepted-commit_now Details | Review
Fix documentation installation directory (1.10 KB, patch)
2011-08-23 08:50 UTC, Dieter Verfaillie
committed Details | Review
Disable documentation for now since they are completely wrong for GI. (2.09 KB, patch)
2011-08-24 08:02 UTC, Dieter Verfaillie
committed Details | Review
Remove distutils based build system. (34.45 KB, patch)
2011-09-07 17:50 UTC, Dieter Verfaillie
committed Details | Review
Disable introspection support by default (938 bytes, patch)
2011-09-07 18:16 UTC, Dieter Verfaillie
committed Details | Review

Description Funda Wang 2011-08-22 04:16:20 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.
Comment 1 Dominique Leuenberger 2011-08-22 12:39:35 UTC
Same probelm is seen currently on openSUSE Factory
Comment 2 Dominique Leuenberger 2011-08-22 12:52:14 UTC
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
Comment 3 Dieter Verfaillie 2011-08-22 13:09:20 UTC
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.
Comment 4 johnp 2011-08-22 20:11:58 UTC
For now those files can be safely deleted when packaging pygobject3.  We should move to getting rid of those asap.
Comment 5 johnp 2011-08-22 20:12:51 UTC
Also the docs are out of date and will conflict.
Comment 6 Dieter Verfaillie 2011-08-23 07:40:35 UTC
Created attachment 194443 [details] [review]
Remove distutils based build system.
Comment 7 Dieter Verfaillie 2011-08-23 08:50:25 UTC
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.
Comment 8 johnp 2011-08-23 18:33:17 UTC
I think we should disable docs for now since they are completely wrong for GI.
Comment 9 Dieter Verfaillie 2011-08-24 08:02:11 UTC
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...
Comment 10 André Klapper 2011-09-02 13:55:15 UTC
J5: Can the patch get a review so we get this in before 3.2?
Comment 11 Ionut Biru 2011-09-02 16:39:13 UTC
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.
Comment 12 Colin Walters 2011-09-02 17:03:10 UTC
Marking as 3.2 blocker.
Comment 13 Dieter Verfaillie 2011-09-05 09:44:11 UTC
(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.
Comment 14 Ionut Biru 2011-09-05 09:48:52 UTC
(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.
Comment 15 Tomeu Vizoso 2011-09-05 09:51:17 UTC
(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.
Comment 16 Dieter Verfaillie 2011-09-07 17:50:12 UTC
Created attachment 195919 [details] [review]
Remove distutils based build system.

Rebased against master...
Comment 17 Dieter Verfaillie 2011-09-07 18:16:06 UTC
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.
Comment 18 Tomeu Vizoso 2011-09-08 06:07:07 UTC
Thanks a lot, Dieter!
Comment 19 Dieter Verfaillie 2011-09-08 16:53:10 UTC
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!
Comment 20 Ionut Biru 2011-09-09 08:52:40 UTC
works fine out of the box.
Comment 21 Dieter Verfaillie 2011-09-12 13:49:05 UTC
(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.