Bug 670306 - Exaile's spec file contains unneeded Requires and wrong lib files path
Summary: Exaile's spec file contains unneeded Requires and wrong lib files path
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: exaile
Version: rawhide
Hardware: Unspecified
OS: Unspecified
low
medium
Target Milestone: ---
Assignee: Deji Akingunola
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-01-17 20:33 UTC by Matteo Castellini
Modified: 2011-09-13 01:05 UTC (History)
3 users (show)

Fixed In Version: exaile-0.3.2.1-1.fc14
Clone Of:
Environment:
Last Closed: 2011-09-13 01:05:32 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
Patch for the spec file (1.46 KB, patch)
2011-01-17 20:33 UTC, Matteo Castellini
no flags Details | Diff

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.


Note You need to log in before you can comment on or make changes to this bug.