Bug 806446

Summary: Re-Review Request: musique (replacing minitunes) - A music player designed by and for people that love music
Product: [Fedora] Fedora Reporter: Germán Racca <gracca>
Component: Package ReviewAssignee: Gregor Tätzner <gregor>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: gregor, misc, notting, package-review
Target Milestone: ---Flags: gregor: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: musique-1.1-7.fc17 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-04-26 15:42:15 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
lib bundling patch
none
screenshot main
none
musique v1.1 in spanish none

Description Germán Racca 2012-03-23 18:56:04 UTC
Spec: http://skytux.fedorapeople.org/packages/musique.spec
SRPM: http://skytux.fedorapeople.org/packages/musique-1.1-4.fc16.src.rpm

Description:
Musique unclutters your music listening experience with a clean and innovative
interface. Musique automatically fixes misspellings in titles and artist names,
freeing you from the hassle of manually tagging your files.

Features:

* Look them in the face. Browse your collection by artists pictures and album
  covers.
* Lyrics. Musique will find and show the song lyrics in the Info View, hiding
  everything but what's related to the currently playing track.
* Browse folders and files. Browse your music the way you organized it.
* Playlists made simple. Musique has just a single playlist. It's always there
  on the right.

NOTE: This is a re-review request for a package rename in which Minitunes will be called Musique.

Koji builds from scratch:

f-17: http://koji.fedoraproject.org/koji/taskinfo?taskID=3926402
rawhide: http://koji.fedoraproject.org/koji/taskinfo?taskID=3926430

Comment 1 Michael S. 2012-03-23 21:42:44 UTC
Hi,

a few comments :
- you should add a note for the patch ( ie, say if it come from upstream or not, 
https://fedoraproject.org/wiki/Packaging:Guidelines#All_patches_should_have_an_upstream_bug_link_or_comment

- Provides:       minutunes%{?_isa} = %{version}-%{release}

I am not sure about adding the {?_isa} part, as the whole idea of adding the provides is to help someone typing "yum install minitunes". I think that's rather unconventional, and maybe not useful.

- there is a typo, this is minitunes, not minutunes ( in the provides lines )

- BuildRequires:  qt-devel taglib-devel phonon-devel gcc-c++
it is IMHO better to have 1 line for each buildRequires, since this produce better diff, and so allow to review patches more easily.

Comment 2 Germán Racca 2012-04-04 12:26:00 UTC
(In reply to comment #1)
> Hi,

Hi Michael, sorry for the delay in the answer.

> a few comments :
> - you should add a note for the patch ( ie, say if it come from upstream or
> not, 
> https://fedoraproject.org/wiki/Packaging:Guidelines#All_patches_should_have_an_upstream_bug_link_or_comment

Although it was Spot who made that change to the spec file, I added a comment for the patch.

> - Provides:       minutunes%{?_isa} = %{version}-%{release}
> 
> I am not sure about adding the {?_isa} part, as the whole idea of adding the
> provides is to help someone typing "yum install minitunes". I think that's
> rather unconventional, and maybe not useful.

The ISA part is specified here:

https://fedoraproject.org/wiki/Packaging:Guidelines#Renaming.2FReplacing_Existing_Packages

and if you are not sure about that, then I prefer to leave it unchanged.
 
> - there is a typo, this is minitunes, not minutunes ( in the provides lines )

Fixed.

> - BuildRequires:  qt-devel taglib-devel phonon-devel gcc-c++
> it is IMHO better to have 1 line for each buildRequires, since this produce
> better diff, and so allow to review patches more easily.

Fixed.

New files here:

Spec: http://skytux.fedorapeople.org/packages/musique.spec

SRPM: http://skytux.fedorapeople.org/packages/musique-1.1-5.fc16.src.rpm

Thanks for the comments,
Germán.

Comment 3 Gregor Tätzner 2012-04-09 21:09:48 UTC
I'm going to take this review

first look:

- remove gcc-c++ build req
it's not necessary

- add icon scriptlets
http://fedoraproject.org/wiki/Packaging/ScriptletSnippets#Icon_Cache

- install or validate the desktop file

- did you actually test the translation? In the past we had some problems with software from this upstream. If you want to see how it's done right have a look at minitube (from rpmfusion)

- remove INSTALL file from doc - users just install the package :)

- and have a look at the remove-qtsingleapp patch in minitube. musique is bundling the same lib too and this is not allowed.

Comment 4 Germán Racca 2012-04-19 14:04:00 UTC
(In reply to comment #3)
> I'm going to take this review
> 
> first look:
> 
> - remove gcc-c++ build req
> it's not necessary
> 
> - add icon scriptlets
> http://fedoraproject.org/wiki/Packaging/ScriptletSnippets#Icon_Cache
> 
> - install or validate the desktop file
> 
> - did you actually test the translation? In the past we had some problems with
> software from this upstream. If you want to see how it's done right have a look
> at minitube (from rpmfusion)

No, is this necessary?

> 
> - remove INSTALL file from doc - users just install the package :)
> 
> - and have a look at the remove-qtsingleapp patch in minitube. musique is
> bundling the same lib too and this is not allowed.

If you mean the license, it was clarified in the review of minitunes[1], otherwise I don't understand what is the point on using that patch.

[1]https://bugzilla.redhat.com/show_bug.cgi?id=615554#c5

Comment 5 Gregor Tätzner 2012-04-19 17:43:58 UTC
Created attachment 578723 [details]
lib bundling patch

Comment 6 Gregor Tätzner 2012-04-19 17:44:30 UTC
(In reply to comment #4)
> (In reply to comment #3)
> > I'm going to take this review
> > 
> > first look:
> > 
> > - remove gcc-c++ build req
> > it's not necessary
> > 
> > - add icon scriptlets
> > http://fedoraproject.org/wiki/Packaging/ScriptletSnippets#Icon_Cache
> > 
> > - install or validate the desktop file
> > 
> > - did you actually test the translation? In the past we had some problems with
> > software from this upstream. If you want to see how it's done right have a look
> > at minitube (from rpmfusion)
> 
> No, is this necessary?

Yes, I would call it a showstopper bug if the translation simply doesn't work. 

> 
> > 
> > - remove INSTALL file from doc - users just install the package :)
> > 
> > - and have a look at the remove-qtsingleapp patch in minitube. musique is
> > bundling the same lib too and this is not allowed.
> 
> If you mean the license, it was clarified in the review of minitunes[1],
> otherwise I don't understand what is the point on using that patch.
> 
> [1]https://bugzilla.redhat.com/show_bug.cgi?id=615554#c5

No, musique is bundling the qt library qtsingleapplication 
(src/qtsingleapplication). This is not allowed*. Instead musique must use the 
fedora package 'qtsingleapplication'. Now it is your job to take the patch 
from minitube and adapt it to musique, it's pretty easy, though :-).

*http://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries

Comment 7 Germán Racca 2012-04-19 17:57:18 UTC
(In reply to comment #6)
> (In reply to comment #4)
> > (In reply to comment #3)
> > > I'm going to take this review
> > > 
> > > first look:
> > > 
> > > - remove gcc-c++ build req
> > > it's not necessary
> > > 
> > > - add icon scriptlets
> > > http://fedoraproject.org/wiki/Packaging/ScriptletSnippets#Icon_Cache
> > > 
> > > - install or validate the desktop file
> > > 
> > > - did you actually test the translation? In the past we had some problems with
> > > software from this upstream. If you want to see how it's done right have a look
> > > at minitube (from rpmfusion)
> > 
> > No, is this necessary?
> 
> Yes, I would call it a showstopper bug if the translation simply doesn't work. 
> 
> > 
> > > 
> > > - remove INSTALL file from doc - users just install the package :)
> > > 
> > > - and have a look at the remove-qtsingleapp patch in minitube. musique is
> > > bundling the same lib too and this is not allowed.
> > 
> > If you mean the license, it was clarified in the review of minitunes[1],
> > otherwise I don't understand what is the point on using that patch.
> > 
> > [1]https://bugzilla.redhat.com/show_bug.cgi?id=615554#c5
> 
> No, musique is bundling the qt library qtsingleapplication 
> (src/qtsingleapplication). This is not allowed*. Instead musique must use the 
> fedora package 'qtsingleapplication'. Now it is your job to take the patch 
> from minitube and adapt it to musique, it's pretty easy, though :-).
> 
> *http://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries

OK, I think I understood, but please give me some time because I'm full of work. Also I forgot to mention before, but I appreciate that you have taken this review :)

Comment 8 Germán Racca 2012-04-23 18:53:29 UTC
Hi Gregor,

Here follow the changes I made to the package:

- Dropped gcc-c++ from BR
- Removed bundled qtsingleapplication
- Added patch to use system qtsingleapplication
- Added qtsingleapplication-devel as BR
- Added desktop-file-utils as BR
- Removed wrong category form desktop file
- Dropped minitunes-1.0-gcc47.patch
- Added icon scriptlets
- Dropped INSTALL from %%doc
- Added patch to fix include in 2 cpp files

I also had to create a very simple patch because of the includes, you can take a look at it, because it couldn't compile after removing the bundled library.

The only thing I didn't do was checking the translations, but I'm creating a VM right now to do that. What I'm supposed to do? Do I have to change the language of the whole Fedora and restart Gnome every time, and see if Musique is in that language? Because I still don't understand what is wrong with those locale files.

Spec: http://skytux.fedorapeople.org/packages/musique.spec
SRPM: http://skytux.fedorapeople.org/packages/musique-1.1-6.fc16.src.rpm

Rawhide --> http://koji.fedoraproject.org/koji/taskinfo?taskID=4015894
F - 17  --> http://koji.fedoraproject.org/koji/taskinfo?taskID=4015941
F - 16  --> http://koji.fedoraproject.org/koji/taskinfo?taskID=4015982

All the best,
Germán.

Comment 9 Gregor Tätzner 2012-04-24 20:19:06 UTC
Hello Germán,
Nice job, your patches are great. The other stuff looks dandy, too.


(In reply to comment #8)
> The only thing I didn't do was checking the translations, but I'm creating a VM
> right now to do that. What I'm supposed to do? Do I have to change the language
> of the whole Fedora and restart Gnome every time, and see if Musique is in that
> language?

No just set/change the $LANG environment variable (i.e. LANG=tr_TR.UTF-8 musique). There is still an issue. For me
german (or other non english) localization does not work. Also the app name is not displayed, see screenshot. Can you confirm that?

Comment 10 Gregor Tätzner 2012-04-24 20:20:28 UTC
Created attachment 579987 [details]
screenshot main

Comment 11 Germán Racca 2012-04-25 18:43:11 UTC
Hi Gregor:

I'm happy you liked my humble work :)

I can confirm what you show in the screenshot (undefined name and version) and also that localization (except english) doesn't work. So how to proceed? Contact upstream about the name and version that doesn't appear? And what about localization? I don't understand anything about that! Help :)

Comment 12 Gregor Tätzner 2012-04-25 20:23:11 UTC
Hey dude,

I think I've got it :)

Remove CXXFLAGS="%{optflags}" in the make line. Don't ask me why but apparently this build flags are harming musique.

Please give me feedback so I can do a formal review soon.

Cheers,
Greg

Comment 13 Germán Racca 2012-04-25 21:22:29 UTC
Created attachment 580289 [details]
musique v1.1 in spanish

Comment 14 Germán Racca 2012-04-25 21:26:19 UTC
(In reply to comment #12)
> Hey dude,
> 
> I think I've got it :)
> 
> Remove CXXFLAGS="%{optflags}" in the make line. Don't ask me why but apparently
> this build flags are harming musique.
> 
> Please give me feedback so I can do a formal review soon.
> 
> Cheers,
> Greg

Gregor: you are the man :)

I removed CXXFLAGS from make line and now everything works fine. Please see attachment in comment 13 as an example, I tested all languages in the package!

Spec: http://skytux.fedorapeople.org/packages/musique.spec
SRPM: http://skytux.fedorapeople.org/packages/musique-1.1-7.fc16.src.rpm

Rawhide --> http://koji.fedoraproject.org/koji/taskinfo?taskID=4023181
F - 17  --> http://koji.fedoraproject.org/koji/taskinfo?taskID=4023193
F - 16  --> http://koji.fedoraproject.org/koji/taskinfo?taskID=4023196

Thanks,
Germán.

Comment 15 Gregor Tätzner 2012-04-26 08:35:52 UTC
Package Review
==============

Key:
- = N/A
x = Pass
! = Fail
? = Not evaluated



==== C/C++ ====
[x]: MUST Package does not contain any libtool archives (.la)
[x]: MUST Package does not contain kernel modules.
[x]: MUST Package contains no static executables.
[x]: MUST Rpath absent or only used for internal libs.
[x]: MUST Package is not relocatable.


==== Generic ====
[x]: MUST Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: MUST Package successfully compiles and builds into binary rpms on at
     least one supported primary architecture.
[x]: MUST %build honors applicable compiler flags or justifies otherwise.
[x]: MUST All build dependencies are listed in BuildRequires, except for any
     that are listed in the exceptions section of Packaging Guidelines.
[x]: MUST Buildroot is not present
     Note: Unless packager wants to package for EPEL5 this is fine
[x]: MUST Package contains no bundled libraries.
[x]: MUST Changelog in prescribed format.
[x]: MUST Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
     Note: Clean would be needed if support for EPEL is required
[x]: MUST Sources contain only permissible code or content.
[x]: MUST Each %files section contains %defattr if rpm < 4.4
     Note: Note: defattr macros not found. They would be needed for EPEL5
[x]: MUST Macros in Summary, %description expandable at SRPM build time.
[x]: MUST Package requires other packages for directories it uses.
[x]: MUST Package uses nothing in %doc for runtime.
[x]: MUST Package is not known to require ExcludeArch.
[x]: MUST Permissions on files are set properly.
[x]: MUST Package does not contain duplicates in %files.
[x]: MUST Spec file lacks Packager, Vendor, PreReq tags.
[x]: MUST Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
     Note: rm -rf would be needed if support for EPEL5 is required
[x]: MUST Large documentation files are in a -doc subpackage, if required.
[x]: MUST If (and only if) the source package includes the text of the
     license(s) in its own file, then that file, containing the text of the
     license(s) for the package is included in %doc.
[x]: MUST License field in the package spec file matches the actual license.
[x]: MUST Package consistently uses macros (instead of hard-coded directory
     names).
[x]: MUST Package is named according to the Package Naming Guidelines.
[x]: MUST Package does not generate any conflict.
[x]: MUST Package obeys FHS, except libexecdir and /usr/target.
[x]: MUST Package must own all directories that it creates.
[x]: MUST Package does not own files or directories owned by other packages.
[x]: MUST Package installs properly.
[x]: MUST Requires correct, justified where necessary.
[x]: MUST Rpmlint output is silent.
[x]: MUST Sources used to build the package match the upstream source, as
     provided in the spec URL.
/home/greg/projects/Review/806446/musique.tar.gz :
  MD5SUM this package     : cca6cdfb5099ccc82b943b034fa2e5ae
  MD5SUM upstream package : cca6cdfb5099ccc82b943b034fa2e5ae

[x]: MUST Spec file is legible and written in American English.
[x]: MUST Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[-]: MUST Package contains a SysV-style init script if in need of one.
[x]: MUST File names are valid UTF-8.
[x]: MUST Useful -debuginfo package or justification otherwise.
[x]: SHOULD Reviewer should test that the package builds in mock.
[-]: SHOULD If the source package does not include license text(s) as a
     separate file from upstream, the packager SHOULD query upstream to
     include it.
[x]: SHOULD Dist tag is present.
[x]: SHOULD No file requires outside of /etc, /bin, /sbin, /usr/bin,
     /usr/sbin.
[x]: SHOULD Final provides and requires are sane (rpm -q --provides and rpm -q
     --requires).
[x]: SHOULD Package functions as described.
[x]: SHOULD Latest version is packaged.
[x]: SHOULD Package does not include license text files separate from
     upstream.
[x]: SHOULD Patches link to upstream bugs/comments/lists or are otherwise
     justified.
[x]: SHOULD Scriptlets must be sane, if used.
[x]: SHOULD SourceX / PatchY prefixed with %{name}.
[x]: SHOULD SourceX is a working URL.
[x]: SHOULD Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: SHOULD Package should compile and build into binary rpms on all supported
     architectures.
[-]: SHOULD %check is present and all tests pass.
[-]: SHOULD Packages should try to preserve timestamps of original installed
     files.
[x]: SHOULD Spec use %global instead of %define.


Generated by fedora-review 0.2.0git
External plugins:

APPROVED, Bien hecho! :)

Comment 16 Germán Racca 2012-04-26 12:46:06 UTC
> APPROVED, Bien hecho! :)

Thanks very much for the review Gregor, your Spanish is perfect :)

Gracias!

Comment 17 Germán Racca 2012-04-26 12:53:10 UTC
New Package SCM Request
=======================
Package Name: musique
Short Description: A music player designed by and for people that love music
Owners: skytux
Branches: f16 f17
InitialCC:

Comment 18 Gwyn Ciesla 2012-04-26 13:21:29 UTC
Git done (by process-git-requests).

Comment 19 Fedora Update System 2012-04-26 15:26:40 UTC
musique-1.1-7.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/musique-1.1-7.fc17

Comment 20 Fedora Update System 2012-04-26 15:28:50 UTC
musique-1.1-7.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/musique-1.1-7.fc16

Comment 21 Fedora Update System 2012-05-04 20:26:16 UTC
musique-1.1-7.fc16 has been pushed to the Fedora 16 stable repository.

Comment 22 Fedora Update System 2012-05-04 22:56:46 UTC
musique-1.1-7.fc17 has been pushed to the Fedora 17 stable repository.