Bug 781823 - Review Request: easyplay - An easy to use categories- and playlists-based music player
Summary: Review Request: easyplay - An easy to use categories- and playlists-based mus...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Mario Blättermann
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-01-15 13:21 UTC by hannes
Modified: 2012-10-15 19:06 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-10-15 19:06:17 UTC
Type: ---
mario.blaettermann: fedora-review?


Attachments (Terms of Use)

Description hannes 2012-01-15 13:21:58 UTC
Spec URL: http://hannes.fedorapeople.org/easyplay.spec
SRPM URL: http://hannes.fedorapeople.org/easyplay-1.0.8-1.fc16.src.rpm
Description: 
EP is ideal for small- to medium-sized music collections 
(hundreds to thousands of tracks). EP remembers the 
current category, every category's current playlist,
and every playlist's current track. This makes it easy
to listen to one playlist, then switch to another
and then go back to the original playlist and continue.

Just a small python package which should be fairly easy to review.

Comment 1 Mario Blättermann 2012-07-08 17:17:46 UTC
Koji scratch build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=4225726

Fails for F17. From build.log:

>/var/tmp/rpm-tmp.Xcqo0W: line 54: desktop-file-install: command not found

Please add desktop-file-install to BuildRequires and remove it from Requires. I cannot imagine that easyplay needs it at runtime.

Comment 2 Mario Blättermann 2012-07-08 17:22:46 UTC
(In reply to comment #1)
> Please add desktop-file-install to BuildRequires

I meant desktop-file-utils, of course.

Comment 3 hannes 2012-07-22 15:59:17 UTC
Ok, fixed this and also updated to latest upstream version... Got a bit lost in real life things.
Spec URL: http://hannes.fedorapeople.org/easyplay.spec
SRPM URL: http://hannes.fedorapeople.org/easyplay-1.1.0-1.fc17.src.rpm

Comment 4 hannes 2012-07-22 16:07:21 UTC
Obviously didn't get the latest upstream tar-ball:
Spec URL: http://hannes.fedorapeople.org/easyplay.spec
SRPM URL: http://hannes.fedorapeople.org/easyplay-1.1.1-1.fc17.src.rpm

Comment 5 Mario Blättermann 2012-07-22 16:32:07 UTC
Scratch build was succesful:
http://koji.fedoraproject.org/koji/taskinfo?taskID=4321253

One more issue: Your package is pure Python, that's why it has to be

BuildArch: noarch

Comment 7 Mario Blättermann 2012-07-23 19:19:35 UTC
New scratch build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=4324212



More issues:

Drop python3-libs from Requires. It is needed by python3. The same for python3 and phonon, which are needed by python3-PyQt4 anyway.

URL: must contain the whole URL, including the http:// prefix.

According to README, the license has to be GPLv3+. 

Because nothing is to build, you might drop python-devel from BR. The package installs only files directly and doesn't use setup.py, which would need the Makefile from python3-devel.

Remove the %defattr line from %files, unless you want to provide your package for EPEL <6.

%attr(755,root,root) %{_bindir}/%{name}
The %attr prefix is probably unneeded, because you've installed it with "install -m 755 -d %{buildroot}/%{_bindir}".



Some things got from rpmlint:

easyplay.src: W: no-%build-section
The spec file does not contain a %build section.  Even if some packages don't
directly need it, section markers may be overridden in rpm's configuration to
provide additional "under the hood" functionality, such as injection of
automatic -debuginfo subpackages.  Add the section, even if empty.


easyplay.noarch: E: non-executable-script /usr/lib/python3.2/site-packages/easyplay/MainWindow.py 0644L /usr/bin/env
This text file contains a shebang or is located in a path dedicated for
executables, but lacks the executable bits and cannot thus be executed.  If
the file is meant to be an executable script, add the executable bits,
otherwise remove the shebang or move the file elsewhere.

I've got the same error message for all the files in /usr/lib/python3.2/site-packages/easyplay/. Don't know what this actually means, but I assume there are special guidelines therefore. Perhaps it is sufficient to install all the files with an executable bit...? But obviously other packages don't set this bit for the files therein.


easyplay.src: E: specfile-error sh: line 0: fg: no job control
This error occurred when rpmlint used rpm to query the specfile.  The error is
output by rpm and the message should contain more information.

Don't know what the problem is. I cannot see any peculiarities in the shell script...

Comment 8 Mario Blättermann 2012-08-30 20:06:56 UTC
Ping...?

Comment 9 hannes 2012-08-31 06:17:33 UTC
Sorry, I was/am pretty busy with real life stuff, will look into those issues as soon as possible.

Comment 10 hannes 2012-08-31 08:47:43 UTC
Ok, fixed most issues, although I didn't remove the explicit requirements, since to me it makes sense to make it more transparent. Also the deps requirements might change and then I would get bitten by not fulfilling the deps.
I will check all the other issues and try to find a solution, especially about the wrong permissions although I don't think the need a execution bit.

Scratch-Build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=4440881

Spec URL: http://hannes.fedorapeople.org/easyplay.spec
SRPM URL: http://hannes.fedorapeople.org/easyplay-1.1.1-3.fc17.src.rpm

Comment 11 Mario Blättermann 2012-09-01 20:46:47 UTC
All Python scripts in %{python_sitelib} don't need neither a shebang nor to be executable. You will have to patch them and inform upstream people about this problem.

There remains the following issue:

easyplay.src: E: specfile-error sh: line 0: fg: no job control
This error occurred when rpmlint used rpm to query the specfile.  The error is
output by rpm and the message should contain more information.

#!/bin/sh
python3 /usr/lib/python2.7/site-packages/easyplay/easyplay

Is it really intended that Python v3 has to run a script which resides in the Python2 module folder? The python3-libs package creates a folder /usr/lib/python3.2/site-packages/ or /usr/lib64/python3.2/site-packages/...


...

Stop - just found the possible solution. You have used the macro %{python_sitelib}, but for Pathon3 packages it has to be %{python3_sitelib}. This could cause the issue with running a script in the "old" Python2 folder with Python3. Just test it again.

Maybe you can omit the runtime script in /usr/bin. I propose to patch a shebang (#!/usr/bin/env python3) into %{python3_sitelib}/easyplay/easyplay and link it to /usr/bin. This could avoid even more trouble.

Comment 12 Mario Blättermann 2012-09-17 20:18:58 UTC
Any news...?

Comment 13 Mario Blättermann 2012-10-15 18:31:14 UTC
Just a reminder, sent out once a month ... as usual ;)

Comment 14 hannes 2012-10-15 19:06:17 UTC
Yeah, sorry. This was just one of the last items on my agenda.
I think it doesn't make any sense to keep on trying. I don't have a lot of interest in this program anyway.
Sorry for probably wasting your time.

-Johannes


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