Bug 865699

Summary: Review Request: ladish - LADI Audio session handler
Product: [Fedora] Fedora Reporter: Brendan Jones <brendan.jones.it>
Component: Package ReviewAssignee: Eduardo Echeverria <echevemaster>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: echevemaster, i, mail, nedko, notting, package-review, roeplay
Target Milestone: ---Flags: echevemaster: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: ladish-2-1.3.gitfcb16ae.fc20 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-10-24 00:55:15 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 865691    
Bug Blocks: 805236    

Description Brendan Jones 2012-10-12 07:49:15 UTC
Session management system for JACK applications on GNU/Linux. Its aim
is to have many different audio programs running at once, to save their
setup, close them down and then easily reload the setup at some other
time. ladish doesn't deal with any kind of audio or MIDI data itself;
it just runs programs, deals with saving/loading (arbitrary) data and
connects JACK ports together.
Ladish has a GUI frontend called gladish, based on lpatchage (LADI Patchage)
and the ladish_control command line app for headless operation.

SRPM: http://bsjones.fedoraproject.org/ladish-2-0.2.git2c3c3f0.fc18.src.rpm
SPEC: http://bsjones.fedoraproject.org/ladish.spec


ladish.src: W: spelling-error %description -l en_US frontend -> fronted, front end, front-end
ladish.src: W: spelling-error %description -l en_US lpatchage -> catchall
ladish.src: W: invalid-url Source0: ladish-2-git2c3c3f0.tar.bz2
gladish.x86_64: W: spelling-error Summary(en_US) ladish -> laddish, radish, latish
gladish.x86_64: W: spelling-error %description -l en_US Laditools -> Toadstools
gladish.x86_64: W: spelling-error %description -l en_US laditray -> traditional
gladish.x86_64: W: no-documentation
gladish.x86_64: W: no-manual-page-for-binary gladish
ladish.x86_64: W: spelling-error %description -l en_US frontend -> fronted, front end, front-end
ladish.x86_64: W: spelling-error %description -l en_US lpatchage -> catchall
ladish.x86_64: W: no-soname /usr/lib64/libalsapid.so
ladish.x86_64: W: no-manual-page-for-binary ladishd
ladish.x86_64: W: no-manual-page-for-binary jmcore
ladish.x86_64: W: no-manual-page-for-binary ladiconfd
ladish.x86_64: W: no-manual-page-for-binary ladish_control
4 packages and 0 specfiles checked; 0 errors, 15 warnings.

Comment 1 Eduardo Echeverria 2012-10-28 07:09:01 UTC
Hi, again Brendan

SRPM and SPEC are innaccesible (error 404) , however I've found these in bsjones.fedorapeople.org, please fix the links

There is some issues here
no-soname /usr/lib64/libalsapid.so
https://fedoraproject.org/wiki/Common_Rpmlint_issues#no-soname

Since it is located in a standard lib location such as /usr/lib or /usr/lib64 then it probably is a blocker review, Please contact with upstream for resolve this and give a correct soname to library

Don't use the scriptlet "update-desktop-database -q" since there is no mimetype included in the package 

A question, this program can be build correctly with the waf version of Fedora, and not with bundled waf? If the answer is positive, Please build with the waf version of Fedora

Regards

Comment 2 Brendan Jones 2012-10-28 19:54:07 UTC
Thanks for the comments!

This will not build with Fedora's waf so using the bundled one.

Have addressed your other issues.

SRPM: http://bsjones.fedoraproject.org/ladish-2-0.3.git2c3c3f0.fc18.src.rpm
SPEC: http://bsjones.fedoraproject.org/ladish.spec

Comment 3 Eduardo Echeverria 2012-10-28 20:12:31 UTC
Brendan, the links are innaccesible (Error 404: Not found)

Comment 5 Eduardo Echeverria 2012-11-04 08:12:02 UTC
Sorry for delay Brendan,
Although move the library outside the LDPATH is correct, is no correct link this in the LDPATH, Why?

If you run
objdump -p libalsapid.so | grep SONAME
there no out

Although not detected by rpmlint remains a blocker review, Please contact with upstream for resolve this and give a correct soname to library or patching to search outside of the LDPATH.

Other comments:
Please use desktop-file-install for install gladish.desktop

Regards

Comment 6 Brendan Jones 2012-11-04 08:56:36 UTC
I disagree - this is a private library and should not be in LDPATH. I can notify upstream, to move the location of the library.

I will update the SPEC to use desktop-file-install soon.

Comment 7 Brendan Jones 2012-11-04 08:59:40 UTC
See http://fedoraproject.org/wiki/Common_Rpmlint_issues#invalid-soname
(3rd and 4th point) 

I will filter the lib from the Provides also.

Comment 8 Eduardo Echeverria 2012-11-04 18:57:25 UTC
Hi Brendan  

I know that the library is private, but if are in LDPATH , practically, it is not...

Filtering has limitations:
http://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering#Usage

that says:

"Architecture specific packages with no binaries in $PATH (e.g. /bin, /usr/bin, /sbin, /sbin) or libexecdir and no system libs in libdir. This includes all of the subpackages generated from the spec file. "

So that leaves us with the 3rd point

Comment 9 Eduardo Echeverria 2012-11-18 07:13:13 UTC
Hi Brendan, Any news from upstream on this issue?

Comment 10 Andrew Ter-Grigoryan 2013-02-20 05:55:44 UTC
Until ladish is added to the repo, laditools lacks its regular functionality, am I correct? (In Fedora 18, I've installed LADITools and it is only partially functional).

Comment 11 Eduardo Echeverria 2013-02-20 06:11:21 UTC
You are correct Andrew, however, Ladish needs to be patched to be included in Fedora. I'm waiting for this to be solved in order to do a formal review of this package. 

Btw, Brendan any news on this matter from upstream?

Comment 12 Nedko Arnaudov 2013-02-20 10:25:59 UTC
libalsapid is not a regular library. It is not explicitly linked (as in ld) to any executable (public library) nor it is private library (plugin). It is LD_PRELOAD-ed. If it has SONAME, will it properly hook libasound on Fedora?

Comment 13 Eduardo Echeverria 2013-02-21 09:36:43 UTC
(In reply to comment #12)
> libalsapid is not a regular library. It is not explicitly linked (as in ld)
> to any executable (public library) nor it is private library (plugin). It is
> LD_PRELOAD-ed. If it has SONAME, will it properly hook libasound on Fedora?

Hi nedko, I'll try to explain me, the library is stored in LDPATH, here the library should have SONAME, ok we agree, the lib is not public but should be located outside LDPATH.

Debian's Packagers [1] took the same path as Brendan, moved the lib to %{_libdir}/%{name} and symlink into the %{_libdir}, but I'm not sure that's the best solution according to our guidelines.

However if someone is sure this does not conflict with our guidelines, I invite you to look at this package and approve it
    
[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=641452

Kind Regards

Comment 14 Sam Tuke 2013-05-18 14:21:39 UTC
Hi, any progress here? I'd really like to see this package in the repos.

Comment 15 Brendan Jones 2013-05-18 21:09:34 UTC
Eduardo, can we move forward on this? As long as its not looked at by ldconfig we are seriouly OK here. We are not breaching any guidelines.

Comment 16 Eduardo Echeverria 2013-05-18 21:49:39 UTC
Ok @Brendan, no one has stopped taking seriously this package. please update the package and I'll do the review

Comment 18 Christopher Meng 2013-09-05 13:50:16 UTC
Do you have time now?

Comment 19 Brendan Jones 2013-10-08 07:54:52 UTC
OK, I have just submitted another review request which supports ladish (bug 1016444), so I'd appreciate an update on any progress here. Thanks

Comment 20 Eduardo Echeverria 2013-10-08 18:47:39 UTC
Please take care of the latest issues, and the package will be approved,

One question, there are reason for ladish-2-libalsapid.patch not be applied?

Package Review
==============

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


Issues:
=======
- Package installs a %{name}.desktop using desktop-file-install or desktop-
  file-validate if there is such a file.


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

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Package does not contain any libtool archives (.la)
[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]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "GPL", "GPL (v2 or later)", "Unknown or generated". 11 files have unknown
     license. Detailed output of licensecheck in
     /home/makerpm/final_ladish/865699-ladish/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[!]: Package must own all directories that it creates.
     Note: Directories without known owners: /usr/share/dbus-1,
     /usr/share/dbus-1/services
Please add dbus as requires.
rpm -qf /usr/share/dbus-1                       
dbus-1.6.12-1.fc19.x86_64

[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
use waf bundle for build, use system-wide waf  doesn't have succeed for any compilation
other fedora packages have the same problem
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: The spec file handles locales properly.
[x]: Package consistently uses macros (instead of hard-coded directory names).
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[!]: Requires correct, justified where necessary.
Missing dbus package
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: gtk-update-icon-cache is invoked in %postun and %posttrans if package
     contains icons.
     Note: icons in gladish
[x]: Useful -debuginfo package or justification otherwise.
[x]: Package is not known to require an ExcludeArch tag.
[-]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 10240 bytes in 4 files.
[x]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[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]: Package requires other packages for directories it uses.
[x]: Package does not own files or directories owned by other packages.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[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 does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package do not use a name that already exist
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local

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

Generic:
[-]: 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]: Final provides and requires are sane (see attachments).
[?]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[-]: Patches link to upstream bugs/comments/lists or are otherwise justified.
[x]: Scriptlets must be sane, if used.
[x]: SourceX tarball generation or download is documented.
     Note: Package contains tarball without URL, check comments
[-]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[-]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed files.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[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)
[x]: Dist tag is present (not strictly required in GL).
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Fully versioned dependency in subpackages if applicable.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

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

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: ladish-2-1.1.gitfcb16ae.fc20.x86_64.rpm
          gladish-2-1.1.gitfcb16ae.fc20.x86_64.rpm
          ladish-2-1.1.gitfcb16ae.fc20.src.rpm
ladish.x86_64: W: spelling-error %description -l en_US frontend -> fronted, front end, front-end
ladish.x86_64: W: spelling-error %description -l en_US lpatchage -> catchall
ladish.x86_64: W: no-manual-page-for-binary ladishd
ladish.x86_64: W: no-manual-page-for-binary jmcore
ladish.x86_64: W: no-manual-page-for-binary ladiconfd
ladish.x86_64: W: no-manual-page-for-binary ladish_control
gladish.x86_64: W: spelling-error Summary(en_US) ladish -> laddish, radish, latish
gladish.x86_64: W: spelling-error %description -l en_US Laditools -> Toadstools
gladish.x86_64: W: spelling-error %description -l en_US laditray -> traditional
gladish.x86_64: W: no-documentation
gladish.x86_64: W: no-manual-page-for-binary gladish
ladish.src: W: spelling-error %description -l en_US frontend -> fronted, front end, front-end
ladish.src: W: spelling-error %description -l en_US lpatchage -> catchall
ladish.src: W: patch-not-applied Patch1: ladish-2-libalsapid.patch
ladish.src: W: invalid-url Source0: ladish-2-gitfcb16ae.tar.bz2
3 packages and 0 specfiles checked; 0 errors, 15 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint gladish ladish
gladish.x86_64: W: spelling-error Summary(en_US) ladish -> laddish, radish, latish
gladish.x86_64: W: spelling-error %description -l en_US Laditools -> Toadstools
gladish.x86_64: W: spelling-error %description -l en_US laditray -> traditional
gladish.x86_64: W: no-documentation
gladish.x86_64: W: no-manual-page-for-binary gladish
ladish.x86_64: W: spelling-error %description -l en_US frontend -> fronted, front end, front-end
ladish.x86_64: W: spelling-error %description -l en_US lpatchage -> catchall
ladish.x86_64: W: no-manual-page-for-binary ladishd
ladish.x86_64: W: no-manual-page-for-binary jmcore
ladish.x86_64: W: no-manual-page-for-binary ladiconfd
ladish.x86_64: W: no-manual-page-for-binary ladish_control
2 packages and 0 specfiles checked; 0 errors, 11 warnings.
# echo 'rpmlint-done:'



Requires
--------
gladish (rpmlib, GLIBC filtered):
    /bin/sh
    ladish(x86-64)
    libart_lgpl_2.so.2()(64bit)
    libatk-1.0.so.0()(64bit)
    libatkmm-1.6.so.1()(64bit)
    libc.so.6()(64bit)
    libcairo.so.2()(64bit)
    libcairomm-1.0.so.1()(64bit)
    libdbus-1.so.3()(64bit)
    libdbus-glib-1.so.2()(64bit)
    libfontconfig.so.1()(64bit)
    libfreetype.so.6()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libgdk-x11-2.0.so.0()(64bit)
    libgdk_pixbuf-2.0.so.0()(64bit)
    libgdkmm-2.4.so.1()(64bit)
    libgio-2.0.so.0()(64bit)
    libgiomm-2.4.so.1()(64bit)
    libglib-2.0.so.0()(64bit)
    libglibmm-2.4.so.1()(64bit)
    libgnomecanvas-2.so.0()(64bit)
    libgnomecanvasmm-2.6.so.1()(64bit)
    libgobject-2.0.so.0()(64bit)
    libgtk-x11-2.0.so.0()(64bit)
    libgtkmm-2.4.so.1()(64bit)
    libm.so.6()(64bit)
    libpango-1.0.so.0()(64bit)
    libpangocairo-1.0.so.0()(64bit)
    libpangoft2-1.0.so.0()(64bit)
    libpangomm-1.4.so.1()(64bit)
    libpthread.so.0()(64bit)
    libsigc-2.0.so.0()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    rtld(GNU_HASH)

ladish (rpmlib, GLIBC filtered):
    /usr/bin/env
    laditools
    libc.so.6()(64bit)
    libdbus-1.so.3()(64bit)
    libdl.so.2()(64bit)
    libexpat.so.1()(64bit)
    libjack.so.0()(64bit)
    libutil.so.1()(64bit)
    libuuid.so.1()(64bit)
    libuuid.so.1(UUID_1.0)(64bit)
    pygtk2
    rtld(GNU_HASH)



Provides
--------
gladish:
    gladish
    gladish(x86-64)

ladish:
    ladish
    ladish(x86-64)



Generated by fedora-review 0.5.0 (920221d) last change: 2013-08-30
Command line :/usr/bin/fedora-review -b 865699 -m fedora-rawhide-x86_64
Buildroot used: fedora-rawhide-x86_64
Active plugins: Generic, Shell-api, C/C++
Disabled plugins: Java, Python, SugarActivity, Perl, R, PHP, Ruby
Disabled flags: EPEL5, EXARCH, DISTTAG

Comment 21 Brendan Jones 2013-10-09 20:49:06 UTC
Thanks Eduardo:

* Tue Oct 08 2013 Brendan Jones <brendan.jones.it> 2-1.2.gitfcb16ae
- Hardcode libalsapid.so location
- add BR dbus
- validate desktop file

I've hardcoded the library path and tested that it works as expected. 

SRPM: http://bsjones.fedorapeople.org/reviews/ladish-2-1.2.gitfcb16ae.fc20.src.rpm
SPECS: http://bsjones.fedorapeople.org/reviews/ladish.spec

Comment 22 Eduardo Echeverria 2013-10-10 03:35:53 UTC
should filter provides of libalsapid, but i assume that you can do that before build, so...

----------------

PACKAGE APPROVED

----------------

Comment 23 Brendan Jones 2013-10-10 04:11:51 UTC
Ah yes - of course. Thanks so much for the review.

New Package SCM Request
=======================
Package Name: ladish
Short Description: a JACK audio session handler
Owners: bsjones
Branches: f18 f19 f20
InitialCC:

Comment 24 Sam Tuke 2013-10-10 11:16:49 UTC
Woot!

Comment 25 Gwyn Ciesla 2013-10-10 12:03:13 UTC
Git done (by process-git-requests).

Comment 26 Fedora Update System 2013-10-10 13:53:54 UTC
ladish-2-1.3.gitfcb16ae.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/ladish-2-1.3.gitfcb16ae.fc19

Comment 27 Fedora Update System 2013-10-10 13:54:06 UTC
ladish-2-1.3.gitfcb16ae.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/ladish-2-1.3.gitfcb16ae.fc18

Comment 28 Fedora Update System 2013-10-10 13:54:16 UTC
ladish-2-1.3.gitfcb16ae.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/ladish-2-1.3.gitfcb16ae.fc20

Comment 29 Fedora Update System 2013-10-11 02:27:33 UTC
ladish-2-1.3.gitfcb16ae.fc18 has been pushed to the Fedora 18 testing repository.

Comment 30 Fedora Update System 2013-10-24 00:55:15 UTC
ladish-2-1.3.gitfcb16ae.fc19 has been pushed to the Fedora 19 stable repository.

Comment 31 Fedora Update System 2013-10-24 00:55:35 UTC
ladish-2-1.3.gitfcb16ae.fc18 has been pushed to the Fedora 18 stable repository.

Comment 32 Fedora Update System 2013-11-10 07:43:15 UTC
ladish-2-1.3.gitfcb16ae.fc20 has been pushed to the Fedora 20 stable repository.