Bug 866156 - Review Request: giada - audio looper for JACK
Review Request: giada - audio looper for JACK
Status: CLOSED CURRENTRELEASE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Nobody's working on this, feel free to take it
Fedora Extras Quality Assurance
:
Depends On: 866154
Blocks: FedoraAudio
  Show dependency treegraph
 
Reported: 2012-10-14 07:48 EDT by Brendan Jones
Modified: 2013-01-11 18:26 EST (History)
5 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-01-11 18:26:37 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
ismael: fedora‑review+
limburgher: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Brendan Jones 2012-10-14 07:48:29 EDT
Giada is a free, minimal, hardcore audio tool for djs and live performers.

SPEC: http://bsjones.fedorapeople.org/giada.spec
SRPM: http://bsjones.fedorapeople.org/giada-0.5.2-1.fc18.src.rpm

rpmlint ~/rpmbuild/SRPMS/giada-0.5.2-1.fc18.src.rpm ~/rpmbuild/RPMS/x86_64/giada-0.5.2-1.fc18.x86_64.rpm 
giada.x86_64: W: no-manual-page-for-binary giada
2 packages and 0 specfiles checked; 0 errors, 1 warnings.
Comment 1 Fabian Affolter 2012-10-21 11:22:55 EDT
Some quick comments:

- URL with macro is not copy-&-paste friendly for humans ;-)
- %description seams to be from another package
- Why not use 'make %{?_smp_mflags}' instead of only 'make' as stated in the guidelines.
Comment 2 Brendan Jones 2012-10-21 11:48:02 EDT
Thanks for the comments!

Addressed and updated:

SPEC: http://bsjones.fedorapeople.org/giada.spec
SRPM: http://bsjones.fedorapeople.org/giada-0.5.2-2.fc18.src.rpm
Comment 3 Ismael Olea 2012-11-25 15:21:04 EST
It doesn't build in Rawhide: 

checking RtAudio.h usability... no
checking RtAudio.h presence... no
checking for RtAudio.h... no
configure: error: library 'rtAudio' not found!


Did you tried to build it with mock?
Comment 4 Brendan Jones 2012-11-25 15:39:32 EST
Apologies, rtaudio is blocked in rawhide. I have a releng ticket for here:
https://fedorahosted.org/rel-eng/ticket/5395

See bug #866154
Comment 5 Ismael Olea 2012-11-25 16:22:40 EST
If I can rebuild rtaudio in my own mock please give me a link to a SRPM to test with it.

In anycase, you know, you should explicit the buildrequires at the spec.
Comment 6 Brendan Jones 2012-11-25 17:25:31 EST
(In reply to comment #5)
> If I can rebuild rtaudio in my own mock please give me a link to a SRPM to
> test with it.
> 
> In anycase, you know, you should explicit the buildrequires at the spec.

Of course - my mistake. Updated SPEC and SRPM below.


SPEC: http://bsjones.fedorapeople.org/reviews/giada.spec
SRPM: http://bsjones.fedorapeople.org/reviews/giada-0.5.2-3.fc18.src.rpm

rtaudio scratch build for rawhide: 

http://koji.fedoraproject.org/koji/taskinfo?taskID=4726275
http://kojipkgs.fedoraproject.org//work/tasks/6275/4726275/rtaudio-4.0.11-3.fc19.src.rpm

thanks
Comment 7 Ismael Olea 2012-11-25 18:05:38 EST
Some troubles:

Seems you forgot to add the buildrequires for libXpm-devel


Build doesn't complete, seems other requires are needed too:
/usr/bin/ld: cannot find -lXext
/usr/bin/ld: cannot find -ljack  
/usr/bin/ld: cannot find -lasound  

Please test with mock first to check all build dependencies are set. Probably you now you can do a full mock build adding the rtaudio packages manually.

Let me know here when you're ready.
Comment 8 Brendan Jones 2012-11-26 00:28:04 EST
I think you must not have the right SPEC. Package does build in mock

The link above has all of those dependendancies (note the reviews directory)
Comment 9 Ismael Olea 2012-11-26 05:08:31 EST
You are right, I've been using the r2 one.

Using r3 I got this:

      /usr/bin/ld: cannot find -lXext


after:

mock init -r fedora-rawhide-i386
mock --install -r fedora-rawhide-i386 rtaudio-devel-4.0.11-3.fc19.i686.rpm rtaudio-4.0.11-3.fc19.i686.rpm
mock --no-clean giada-0.5.2-3.fc18.src.rpm -r fedora-rawhide-i386


I can build it with:
mock --install -r fedora-rawhide-i386 libXext-devel
mock --no-clean giada-0.5.2-3.fc18.src.rpm -r fedora-rawhide-i386
Comment 10 Brendan Jones 2012-11-26 06:23:52 EST
Thats' strange because traditionally libXpm has pulled in libXext as a dependancy. See http://koji.fedoraproject.org/koji/rpminfo?rpmID=3227992

Updated here (and tested in mock!)

SPEC: http://bsjones.fedorapeople.org/reviews/giada.spec
SRPM: http://bsjones.fedorapeople.org/reviews/giada-0.5.2-4.fc18.src.rpm
Comment 11 Ismael Olea 2012-11-26 07:51:46 EST
(In reply to comment #10)
> Thats' strange because traditionally libXpm has pulled in libXext as a
> dependancy. See http://koji.fedoraproject.org/koji/rpminfo?rpmID=3227992

but not libXext-devel, as I can see

 
> Updated here (and tested in mock!)

works fine now.


Please notice there is probably a typo in description: «giada is an audio looper or ALSA/JACK using the FLTK toolit» should be «giada is an audio looper for ALSA/JACK using the FLTK toolit», I suppose.


I'm not into audio but the word «machine» in Summary is inexact, isn't it?


Next is my full review.
Comment 12 Ismael Olea 2012-11-26 07:52:56 EST
Package Review
==============

Key:
[x] = Pass
[!] = Fail
[-] = Not applicable
[?] = Not evaluated
[ ] = Manual review needed

===== MUST items =====

C/C++:
[x]: Header files in -devel subpackage, if present.
[x]: Package does not contain any libtool archives (.la)
[x]: Package does not contain kernel modules.
[?]: Package contains no static executables.
[x]: Rpath absent or only used for internal libs.

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
     Note: Using prebuilt packages
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
     Note: Using prebuilt rpms.
[x]: Package contains no bundled libraries.
[x]: Changelog in prescribed format.
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Sources contain only permissible code or content.
[x]: Each %files section contains %defattr if rpm < 4.4
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package contains desktop file if it is a GUI application.
[x]: Package installsf a %{name}.desktop using desktop-file-install if there is
     such a file.
[-]: Development files must be in a -devel package
[-]: Package requires other packages for directories it uses.
[x]: Package uses nothing in %doc for runtime.
[x]: Package is not known to require ExcludeArch.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package complies to the Packaging Guidelines
[x]: Spec file lacks Packager, Vendor, PreReq tags.
[x]: 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]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "Unknown or generated". 1 files have unknown license. Detailed output of
     licensecheck in /home/olea/giada-build-r4/review-giada/licensecheck.txt
[x]: Package consistently uses macro is (instead of hard-coded directory
     names).
[x]: Package is named using only allowed ASCII characters.
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
     Note: Package contains no Conflicts: tag(s)
[x]: Package do not use a name that already exist
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: Package installs properly.
     Note: Installation errors (see attachment)
[x]: Package is not relocatable.
[x]: Requires correct, justified where necessary.
[x]: CheckResultdir
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file is legible and written in American English.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[-]: Package contains systemd file(s) if in need.
[x]: File names are valid UTF-8.
[x]: Useful -debuginfo package or justification otherwise.
[-]: Large documentation must go in a -doc subpackage.
     Note: Documentation size is 61440 bytes in 4 files.
[x]: Packages must not store files under /srv, /opt or /usr/local

===== SHOULD items =====

Generic:
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[-]: 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]: Dist tag is present.
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Final provides and requires are sane (rpm -q --provides and rpm -q
     --requires).
[?]: Package functions as described.
 * Seems my pulseaudio system is not compatible with rtaudio

[!]: Latest version is packaged.
 * last upstream is 0.5.4

[x]: Package does not include license text files separate from upstream.
[!]: Patches link to upstream bugs/comments/lists or are otherwise justified.
 * you should contribute desktop file, and the patch if considered useful to upstream
 and provide the links to those
 See https://fedoraproject.org/wiki/Packaging:Guidelines#All_patches_should_have_an_upstream_bug_link_or_comment
 
[x]: The placement of pkgconfig(.pc) files are correct.
[!]: Scriptlets must be sane, if used.
 * as desktop file doesn't include a MimeType key it not needs the
 update-destkop-database calls
 See https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#desktop-database

[x]: SourceX tarball generation or download is documented.
[x]: SourceX / PatchY prefixed with %{name}.
[x]: SourceX is a working URL.
[-]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[-]: Package should compile and build into binary rpms on all supported
     architectures.
[-]: %check is present and all tests pass.
[-]: Packages should try to preserve timestamps of original installed files.

[x]: Spec use %global instead of %define.

===== EXTRA items =====

Generic:
[x]: Rpmlint is run on all installed packages.
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.


Rpmlint
-------
Checking: giada-debuginfo-0.5.2-4.fc19.i686.rpm
          giada-0.5.2-4.fc19.src.rpm
          giada-0.5.2-4.fc19.i686.rpm
giada.src: W: spelling-error %description -l en_US looper -> loopier, blooper, looser
giada.src: W: spelling-error %description -l en_US toolit -> toolkit, too lit, too-lit
giada.i686: W: spelling-error %description -l en_US looper -> loopier, blooper, looser
giada.i686: W: spelling-error %description -l en_US toolit -> toolkit, too lit, too-lit
giada.i686: W: no-manual-page-for-binary giada
3 packages and 0 specfiles checked; 0 errors, 5 warnings.




Requires
--------
giada-debuginfo-0.5.2-4.fc19.i686.rpm (rpmlib, GLIBC filtered):
    

giada-0.5.2-4.fc19.i686.rpm (rpmlib, GLIBC filtered):
    
    /bin/sh  
    libX11.so.6  
    libXext.so.6  
    libXft.so.2  
    libXpm.so.4  
    libasound.so.2  
    libc.so.6  
    libdl.so.2  
    libfltk.so.1.3  
    libgcc_s.so.1  
    libgcc_s.so.1(GCC_3.0)  
    libjack.so.0  
    libm.so.6  
    libpthread.so.0  
    libpulse-simple.so.0  
    librtaudio.so.4  
    libsndfile.so.1  
    libsndfile.so.1(libsndfile.so.1.0)  
    libstdc++.so.6  
    libstdc++.so.6(CXXABI_1.3)  
    rtld(GNU_HASH)  



Provides
--------
giada-debuginfo-0.5.2-4.fc19.i686.rpm:
    
    giada-debuginfo = 0.5.2-4.fc19
    giada-debuginfo(x86-32) = 0.5.2-4.fc19

giada-0.5.2-4.fc19.i686.rpm:
    
    giada = 0.5.2-4.fc19
    giada(x86-32) = 0.5.2-4.fc19



MD5-sum check
-------------
http://downloads.sourceforge.net/project/giada-looper/giada_0.5.2_src.tar.gz :
  CHECKSUM(SHA256) this package     : 413e7557cdbed087f5c7def9ce4d810fd6c49c0bbba0aae5c080d8e0a2018dc3
  CHECKSUM(SHA256) upstream package : 413e7557cdbed087f5c7def9ce4d810fd6c49c0bbba0aae5c080d8e0a2018dc3


Generated by fedora-review 0.3.1 (b71abc1) last change: 2012-10-16
Buildroot used: fedora-17-i386
Command line :/bin/fedora-review --rpm-spec --prebuilt --name giada
Comment 13 Ismael Olea 2012-11-26 07:56:25 EST
Summarizing:

[?]: Package functions as described.
 * Seems my pulseaudio system is not compatible with rtaudio

[!]: Latest version is packaged.
 * last upstream is 0.5.4


[!]: Patches link to upstream bugs/comments/lists or are otherwise justified.
 * you should contribute desktop file, and the patch if considered useful to upstream
 and provide the links to those
 See https://fedoraproject.org/wiki/Packaging:Guidelines#All_patches_should_have_an_upstream_bug_link_or_comment
 
[!]: Scriptlets must be sane, if used.
 * as desktop file doesn't include a MimeType key it not needs the
 update-destkop-database calls
 See https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#desktop-database
Comment 14 Ismael Olea 2012-11-26 08:10:25 EST
Other issues:

Maybe you'll want to accept this enhancement for the desktop file:

--- srpm-unpacked/giada.desktop	2012-11-26 12:36:35.515736117 +0100
+++ giada.desktop	2012-11-26 14:04:20.306506516 +0100
@@ -1,6 +1,8 @@
 [Desktop Entry]
 Name=Giada
-Comment=Realtime software looping sampler
+Name[es]=Giada
+GenericName=Drum machine and loop sequencer
+GenericName[es]=Caja de ritmos y sequenciador de loops
 Icon=giada
 Type=Application
 Exec=giada


After a fast watch at Giada website I think you could add more info into the descrption to be more descriptive, something like:

Features
Ultra-lightweight internal design
Multi-thread/multi-core support
32 bit floating point audio engine
Experimental VST support
Up to 32 audio channels controlled via computer keyboard
Different playback modes and combinations
Bpm and beat sync with sample-accurate loop engine
Live sampler from external inputs
Live quantizer
Action recorder
Patch-based systemBuilt-in wave editor
Support for all major uncompressed file formats

at your own consideration.
Comment 15 Brendan Jones 2012-12-09 12:33:04 EST
Thanks for the desktop patch, attributed and sent up stream here:

https://github.com/monocasual/giada/issues/5
Comment 16 Brendan Jones 2012-12-10 00:46:15 EST
Thanks for the review - issues should be addressed here.

rtaudio has also been unblocked in rawhide

SPEC: http://bsjones.fedorapeople.org/reviews/giada.spec
SRPM: http://bsjones.fedorapeople.org/reviews/giada-0.5.4-1.fc18.src.rpm
Comment 17 Ismael Olea 2012-12-10 05:30:26 EST
You forgot to upload the src.rpm :-)
Comment 19 Ismael Olea 2012-12-10 07:00:53 EST
I can't build it with mock as it downloads rtaudio-devel-4.0.7-2.fc15.i686 but installing rtaudio-devel-4.0.11-3 by hand builds as expected.

I checked the last version is at http://koji.fedoraproject.org/koji/packageinfo?packageID=7855 then I suppose repo is not yet updated.

so... package is APPROVED.
Comment 20 Brendan Jones 2012-12-10 08:27:50 EST
Thanks so much for the review!

Package Change Request
======================
Package Name: giada
Short Description: audio looping machine and sequencer
Owners: bsjones
Branches:f16 f17 f18
InitialCC:
Comment 21 Gwyn Ciesla 2012-12-10 08:39:04 EST
Misformatted request.
Comment 22 Brendan Jones 2012-12-10 08:45:15 EST
My apologies! Thanks

New Package SCM Request
=======================
Package Name: giada
Short Description: audio looping machine and sequencer
Owners: bsjones
Branches:f16 f17 f18
InitialCC:
Comment 23 Gwyn Ciesla 2012-12-10 08:49:41 EST
Git done (by process-git-requests).
Comment 24 Fedora Update System 2012-12-11 15:45:53 EST
giada-0.5.4-2.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/giada-0.5.4-2.fc18
Comment 25 Fedora Update System 2012-12-11 18:29:19 EST
giada-0.5.4-2.fc18 has been pushed to the Fedora 18 testing repository.
Comment 26 Fedora Update System 2013-01-11 18:26:39 EST
giada-0.5.4-2.fc18 has been pushed to the Fedora 18 stable repository.

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