Bug 509633

Summary: Python extension folder is platform specific
Product: [Fedora] Fedora Reporter: Mads Kiilerich <mads>
Component: nautilus-pythonAssignee: Patrick Dignan <dignan.patrick>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 15CC: dignan.patrick, leamas.alec, mads, trond.danielsen
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-08-07 20:24:13 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Mads Kiilerich 2009-07-04 10:00:29 UTC
Description of problem:

On x86_64 the python extension directory is below lib64, in /usr/lib64/nautilus/extensions-2.0/python. A package will thus have to be platform specific because of the file location even if it only contains pure noarch python.

It would be nice if the extensions also could be placed in a platform-independent location.


Version-Release number of selected component (if applicable):

nautilus-python-0.5.1-4.fc11.x86_64

Comment 1 Mads Kiilerich 2009-07-07 11:38:15 UTC
I have submitted a tortoisehg package for review (bz 509936). This issue influences how it is packaged, and some reviewers might object to that.

Guidance and review from nautilus-python packagers would be appreciated ;-)

Comment 2 Mads Kiilerich 2010-01-13 23:01:49 UTC
Tortoisehg is now in F11 and F12, as platform-specific packages even though it is pure python.

Comment 3 Toshio Ernie Kuratomi 2010-01-27 20:18:10 UTC
Nautilus-python is currently orphaned.

Comment 4 Fedora Update System 2010-01-29 02:38:01 UTC
nautilus-python-0.5.1-6.fc12 has been submitted as an update for Fedora 12.
http://admin.fedoraproject.org/updates/nautilus-python-0.5.1-6.fc12

Comment 5 Mads Kiilerich 2010-01-29 11:02:29 UTC
Patrick, you are the new maintainer for nautilus-python? Thank you!
(I guess these old issues should be assigned to you?)

Can you say a bit about _how_ the issue has been solved? How is backward compatibility achieved, and what changes are required for packages building on top of nautilus-python, such as tortoisehg-nautilus?

Comment 6 Patrick Dignan 2010-01-29 14:20:03 UTC
Yes, I am, and yes they should.

I had thought that when compiled to .py{c,o}, the modules created platform dependent code, but since this isn't the case I'll look into moving the place for extensions to /usr/share, though I'll have to talk with upstream because people will be looking in /usr/lib* for the plugins since that's what the Nautilus documentation specifies.

Comment 7 Mads Kiilerich 2010-01-29 14:33:56 UTC
(In reply to comment #6)
> I had thought that when compiled to .py{c,o}, the modules created platform
> dependent code, but since this isn't the case I'll look into moving the place
> for extensions to /usr/share, though I'll have to talk with upstream because
> people will be looking in /usr/lib* for the plugins since that's what the
> Nautilus documentation specifies.    

So nautilus-python-0.5.1-6.fc12 solves other problems, but not this issue?

I don't have a running 64 bit system, but it seems like ordinary noarch python packages such as yum installs to /usr/lib/python2.6/site-packages/ while 64-bit packages install to /usr/lib64/python2.6/site-packages/ (?), so I guess 64-bit PYTHONPATH lists both? I would expect python-nautilus to do something similar and search in both a "noarch" and an arch-specific location. That would also make backward compatibility simpler.

Comment 8 Patrick Dignan 2010-01-29 15:41:53 UTC
I'm going to try to add support for /usr/lib as well as /usr/lib64.  I will try to persuade upstream to switch to /usr/share because I think that's a more appropriate directory for these arch-independent files (according to FHS).

Comment 9 Mads Kiilerich 2010-01-29 16:40:35 UTC
(In reply to comment #8)
> I'm going to try to add support for /usr/lib as well as /usr/lib64. 

Fine, but ...

> I will try
> to persuade upstream to switch to /usr/share because I think that's a more
> appropriate directory for these arch-independent files (according to FHS).    

... not so fine. 

Python modules - and thus extensions _can_ be arch-specific, so there is a need for both a noarch and an arch-specific directory. (For 32-bit x86 they happen to be the same.) 

>>> import pycurl
>>> print pycurl.__file__
/usr/lib/python2.6/site-packages/pycurl.so

A noarch location in /usr/share would be fine with me, but making it the only one would be bad. (Though arch-specific modules would be able to work around it by creating a python loader for the binary module.)


Thanks for attacking this problem!

Comment 10 Patrick Dignan 2010-01-29 18:24:42 UTC
I forgot about the C extensions.  I'll just let it look in /usr/lib and /usr/lib64 since upstream doesn't want to switch to /usr/share anyways.

Comment 11 Fedora Update System 2010-02-01 01:11:42 UTC
nautilus-python-0.5.1-6.fc12 has been pushed to the Fedora 12 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update nautilus-python'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F12/FEDORA-2010-1266

Comment 12 Mads Kiilerich 2010-07-25 12:42:23 UTC
Has this been released, or is it still on qa?

I notice that the "Fixed error with location of libpython" fix isn't in the changelog for F-13/devel. Is it included there?

How do the change look like? I don't see it anywhere? I would expect that the 64 bit version for example owned both 
/usr/lib64/nautilus/extensions-2.0/python/ and
/usr/lib/nautilus/extensions-2.0/python/ ?

Comment 13 Patrick Dignan 2010-07-25 17:53:31 UTC
I pushed 0.5.2-1 which got accepted before this (faster karma, I guess).  It includes the fix.  One of the karma specifically says tortoisehg works now :)  Do you have reason to believe otherwise?

Comment 14 Mads Kiilerich 2010-07-25 19:00:02 UTC
Ok, so a bodhi bug left it open ...

Yes, the tortoisehg extension works. That is because I install the noarch packages in the arch-specific folder. That is the only reason the whole package isn't noarch.

I can see from the nautilus-python spec file that it doesn't own any noarch extension directory, so I wonder how and where it has been fixed and where a noarch package could put the .py files?

Comment 15 Bug Zapper 2010-11-04 10:52:13 UTC
This message is a reminder that Fedora 12 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 12.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '12'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 12's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 12 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 16 Mads Kiilerich 2011-08-11 19:50:05 UTC
*** Bug 725299 has been marked as a duplicate of this bug. ***

Comment 17 Mads Kiilerich 2011-08-16 23:06:37 UTC
This is fixed by nautilus-python 1.0 which uses /usr/share/nautilus-python/extensions/ .

Patch can be found on Bug 708891 .

Comment 18 Fedora End Of Life 2012-08-07 20:24:15 UTC
This message is a notice that Fedora 15 is now at end of life. Fedora
has stopped maintaining and issuing updates for Fedora 15. It is
Fedora's policy to close all bug reports from releases that are no
longer maintained. At this time, all open bugs with a Fedora 'version'
of '15' have been closed as WONTFIX.

(Please note: Our normal process is to give advanced warning of this
occurring, but we forgot to do that. A thousand apologies.)

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, feel free to reopen
this bug and simply change the 'version' to a later Fedora version.

Bug Reporter: Thank you for reporting this issue and we are sorry that
we were unable to fix it before Fedora 15 reached end of life. If you
would still like to see this bug fixed and are able to reproduce it
against a later version of Fedora, you are encouraged to click on
"Clone This Bug" (top right of this page) and open it against that
version of Fedora.

Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.

The process we are following is described here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 19 Mads Kiilerich 2012-08-08 11:13:53 UTC
It works on f17 where it uses /usr/share/nautilus-python/extensions/