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.
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.
(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.
(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?
(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.
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).
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.
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.
(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
(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).
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
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.
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?
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.
Fixed in rawhide.