Bug 670306

Summary: Exaile's spec file contains unneeded Requires and wrong lib files path
Product: [Fedora] Fedora Reporter: Matteo Castellini <self>
Component: exaileAssignee: Deji Akingunola <dakingun>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: rawhideCC: a.badger, dakingun, reacocard
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: exaile-0.3.2.1-1.fc14 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-09-13 01:05:32 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
Patch for the spec file none

Description Matteo Castellini 2011-01-17 20:33:39 UTC
Created attachment 473929 [details]
Patch for the spec file

Exaile's spec files contains unneeded BuildRequires (python-devel, pygobject2-devel, pkg-config, intltool and perl(XML::Parser)) and Requires (python-sqlite2, python-sexy, gamin-python) that are neither needed nor listed inside the DEPS file provided by upstream.

Moreover, it installs Exaile's own libraries inside /usr/lib/pythonx.y/site-packages, while they should be placed inside /usr/lib.

I attach a patch for the spec file that fixes these quirks.

Comment 1 Deji Akingunola 2011-01-20 14:15:51 UTC
I'm not accepting the patch, because you're wrong about placing files under /usr/lib. Those files are not 'libraries', but python plugins. I will look into the buildrequires and require issue as soon as I can.

Comment 2 Matteo Castellini 2011-01-20 17:08:46 UTC
(In reply to comment #1)
> I'm not accepting the patch, because you're wrong about placing files under
> /usr/lib. Those files are not 'libraries', but python plugins. I will look into
> the buildrequires and require issue as soon as I can.

Maybe I haven't been able to explain myself correctly, so I try to clarify my point: Exaile's plugins are correctly placed under %{_datadir}/exaile/, what's IMHO not correct is that Exaile's own private packages are placed under %{python_sitelib}/exaile/ while I suggest they should be placed under %{_libdir}/exaile/.

I'm pointing out this due to the fact that, while asking some questions about a bug in upstream, it was told me that Exaile's own private packages shouldn't be placed under %{python_sitelib}/exaile/ because Exaile's API is not meant to be exposed.

Comment 3 Deji Akingunola 2011-01-20 17:17:57 UTC
(In reply to comment #2)

> 
> I'm pointing out this due to the fact that, while asking some questions about a
> bug in upstream, it was told me that Exaile's own private packages shouldn't be
> placed under %{python_sitelib}/exaile/ because Exaile's API is not meant to be
> exposed.

Any pointer (link) to this assertion?

Comment 4 Matteo Castellini 2011-01-20 19:39:26 UTC
(In reply to comment #3)
> (In reply to comment #2)
> > I'm pointing out this due to the fact that, while asking some questions about a
> > bug in upstream, it was told me that Exaile's own private packages shouldn't be
> > placed under %{python_sitelib}/exaile/ because Exaile's API is not meant to be
> > exposed.
> 
> Any pointer (link) to this assertion?

Apart from the fact that Exaile's Makefile uses by default /lib as $LIBINSTALLDIR and not /lib/pythonx.y/site-packages I've currently no other pointer.

The developer that I've talked to in IRC (#exaile on Freenode) strongly encourages putting Exaile's own private packages under /usr/lib; anyway, if you need further assertions he said that he'll be more than willing to insert them wherever necessary.

Comment 5 Fedora Update System 2011-03-04 15:41:56 UTC
Package exaile-0.3.2.1-1.fc14:
* should fix your issue,
* was pushed to the Fedora 14 updates-testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing exaile-0.3.2.1-1.fc14'
as soon as you are able to, then reboot.
Please go to the following url:
https://admin.fedoraproject.org/updates/exaile-0.3.2.1-1.fc14
then log in and leave karma (feedback).

Comment 6 Matteo Castellini 2011-03-04 17:05:14 UTC
I'm sorry but IMHO the last build (exaile-0.3.2.1-1.fc14) addresses the problems reported in this bugreport just partially, there's IMHO still an unneeded BuildRequires (pygobject2-devel) and three unneeded Requires (python-sqlite2, python-sexy, gamin-python).

Moreover the whole Exaile's API exposition matter is still untreated.

Comment 7 Aren Olson 2011-03-04 17:42:01 UTC
Hi, I'm one of Exaile's developers. Could you please explain your reason for relocating Exaile's files?  Exaile is not a library and not intended to be exposed through site-packages at this time, as evidenced by the Makefile defaults.

Comment 8 Deji Akingunola 2011-03-04 18:08:31 UTC
(In reply to comment #7)
> Hi, I'm one of Exaile's developers. Could you please explain your reason for
> relocating Exaile's files?  Exaile is not a library and not intended to be
> exposed through site-packages at this time, as evidenced by the Makefile
> defaults.

See the Fedora's packaging guildeline for packages shipping python modules for reasons why the packaging was done this way; 
https://fedoraproject.org/wiki/Packaging:Python

Comment 9 Matteo Castellini 2011-03-04 19:41:25 UTC
(In reply to comment #8)
> See the Fedora's packaging guildeline for packages shipping python modules for
> reasons why the packaging was done this way; 
> https://fedoraproject.org/wiki/Packaging:Python

I had a chat on #fedora-python on this subject and it was told to me that
Exaile's own private modules should be placed under {%_datadir}/exaile, this is
due to the fact that it's a pure-python private module and the package is built
for only one interpreter (for reference
https://fedoraproject.org/wiki/Packaging:Python#Bytecompiling_with_the_correct_python_version).

Comment 10 Fedora Update System 2011-03-05 02:47:15 UTC
exaile-0.3.2.1-1.fc14 has been pushed to the Fedora 14 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 exaile'.  You can provide feedback for this update here: https://admin.fedoraproject.org/updates/exaile-0.3.2.1-1.fc14

Comment 11 Fedora Update System 2011-03-28 19:31:54 UTC
exaile-0.3.2.1-1.fc14 has been pushed to the Fedora 14 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 12 Matteo Castellini 2011-03-28 20:13:58 UTC
I am sorry to bother again but AFAICT the problems I reported (both while opening this bugreport and in comment #6) are still not completely addressed. Could you please reopen this bugreport and/or fix them?

Comment 13 Toshio Ernie Kuratomi 2011-03-28 22:09:17 UTC
Yeah, the python guidelines are largely about public python modules.  they hint at, but largely ignore private modules.  It's fine to have the private modules live outside of site-packages (for instance, yum and rpmlint are correctly storing the modules that aren't meant to be used by other apps in %{_datadir}).  The section of the python guidelines that Matteo is pointing out is one area where the Guidelines hint about that.

Comment 14 Deji Akingunola 2011-09-13 01:05:32 UTC
Fixed in rawhide.