Bug 1004231
Summary: | Review Request: lv2-sorcer - a wave-table synthesizer plugin | ||||||
---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Brendan Jones <brendan.jones.it> | ||||
Component: | Package Review | Assignee: | Nils Philippsen <nphilipp> | ||||
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
Severity: | unspecified | Docs Contact: | |||||
Priority: | unspecified | ||||||
Version: | rawhide | CC: | notting, nphilipp, package-review | ||||
Target Milestone: | --- | Flags: | nphilipp:
fedora-review+
gwync: fedora-cvs+ |
||||
Target Release: | --- | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Whiteboard: | |||||||
Fixed In Version: | lv2-sorcer-1.1-1.1.20131104git18e6891.fc20 | Doc Type: | Bug Fix | ||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2013-11-10 07:52:40 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: | |||||||
Bug Blocks: | 805236 | ||||||
Attachments: |
|
Description
Brendan Jones
2013-09-04 09:04:08 UTC
New upstream source, fix URL's and package release to standard. SPEC: http://bsjones.fedorapeople.org/reviews/lv2-sorcer.spec SRPM: http://bsjones.fedorapeople.org/reviews/lv2-sorcer-0.0.1-0.1.20130815git62d9577.fc19.src.rpm Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [@] = Needs to be looked at ===== MUST items ===== C/C++: [x]: Package does not contain kernel modules. [x]: Package contains no static executables. [-]: Development (unversioned) .so files in -devel subpackage, if present. [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. [!]: 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. BUT: [@] The README mentions that the license is GPLv3, the source code files state "or any later version". Please check that with upstream. [@] The source code files don't contain "Copyright <year> ...", just mention the author. Upstream should probably fix this as well. [!]: Package must own all directories that it creates. Note: Directories without known owners: /usr/lib64/lv2 -- other packages simply depend on the "lv2" package. [!]: %build honors applicable compiler flags or justifies otherwise. --> correct in most places, but I found this in the build log: [3/3] cxxshlib: build/canvas.cxx.0.o build/sorcer_gui.cxx.0.o -> build/libsorcer_gui.so 17:22:32 runner ['/usr/lib64/ccache/g++', 'canvas.cxx.0.o', 'sorcer_gui.cxx.0.o', '-o', '/builddir/build/BUILD/lv2-sorcer-0.0.1/gui/build/libsorcer_gui.so', '-Wl,-Bstatic', '-Wl,-Bdynamic', '-lgtkmm-2.4', '-latkmm-1.6', '-lgtk-x11-2.0', '-lgdkmm-2.4', '-lgiomm-2.4', '-lpangomm-1.4', '-lglibmm-2.4', '-lcairomm-1.0', '-lsigc-2.0', '-lgdk-x11-2.0', '-lpangocairo-1.0', '-latk-1.0', '-lcairo', '-lgdk_pixbuf-2.0', '-lgio-2.0', '-lpangoft2-1.0', '-lpango-1.0', '-lgobject-2.0', '-lglib-2.0', '-lfontconfig', '-lfreetype', '-Wl,-z,nodelete', '-shared', '-pthread'] Waf: Leaving directory `/builddir/build/BUILD/lv2-sorcer-0.0.1/gui/build' 'build' finished successfully (2.591s) [x]: Package contains no bundled libraries without FPC exception. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [-]: Package contains desktop file if it is a GUI application. [-]: Development files must be in a -devel package [x]: Package uses nothing in %doc for runtime. [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. [x]: Spec file is legible and written in American English. [-]: Package contains systemd file(s) if in need. [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 1 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). --> maybe use "wave table", "synthesizer", "dub step", "bass lines" --> incoherent-version-in-changelog can be ignored (no need for dist tag in changelog entry version-release) [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 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 does not use a name that already exists. [x]: Package is not relocatable. [-]: 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: [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [-]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [@]: Final provides and requires are sane (see attachments). --> maybe use this to filter out lv2 shared objects: %global __provides_exclude_from ^%{_libdir}/lv2/.*$ [ ]: Package functions as described. [ ]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [x]: SourceX tarball generation or download is documented. [-]: 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]: 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. [-]: 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). [-]: 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: lv2-sorcer-0.0.1-0.1.20130815git62d9577.fc21.x86_64.rpm lv2-sorcer-0.0.1-0.1.20130815git62d9577.fc21.src.rpm lv2-sorcer.x86_64: W: spelling-error %description -l en_US wavetable -> wave table, wave-table, vegetable lv2-sorcer.x86_64: W: spelling-error %description -l en_US synth -> synthesis lv2-sorcer.x86_64: W: spelling-error %description -l en_US dubstep -> dub step, dub-step, Dumpster lv2-sorcer.x86_64: W: spelling-error %description -l en_US basslines -> baselines, bass lines, bass-lines lv2-sorcer.x86_64: W: incoherent-version-in-changelog 0.0.1-0.1.git62d9577 ['0.0.1-0.1.20130815git62d9577.fc21', '0.0.1-0.1.20130815git62d9577'] lv2-sorcer.src: W: spelling-error %description -l en_US wavetable -> wave table, wave-table, vegetable lv2-sorcer.src: W: spelling-error %description -l en_US synth -> synthesis lv2-sorcer.src: W: spelling-error %description -l en_US dubstep -> dub step, dub-step, Dumpster lv2-sorcer.src: W: spelling-error %description -l en_US basslines -> baselines, bass lines, bass-lines lv2-sorcer.src: W: invalid-url Source2: lv2-sorcer-presets-0.0.1-20130719git4cc9bc4d2b6ea334338341433799ad23495b4f8b.tar.gz lv2-sorcer.src: W: invalid-url Source0: lv2-sorcer-0.0.1-20130815git62d95778a0ed6e91f0ab804b16af1072de19e8ec.tar.gz 2 packages and 0 specfiles checked; 0 errors, 11 warnings. Rpmlint (installed packages) ---------------------------- # rpmlint lv2-sorcer lv2-sorcer.x86_64: W: spelling-error %description -l en_US wavetable -> wave table, wave-table, vegetable lv2-sorcer.x86_64: W: spelling-error %description -l en_US synth -> synthesis lv2-sorcer.x86_64: W: spelling-error %description -l en_US dubstep -> dub step, dub-step, Dumpster lv2-sorcer.x86_64: W: spelling-error %description -l en_US basslines -> baselines, bass lines, bass-lines lv2-sorcer.x86_64: W: incoherent-version-in-changelog 0.0.1-0.1.git62d9577 ['0.0.1-0.1.20130815git62d9577.fc21', '0.0.1-0.1.20130815git62d9577'] 1 packages and 0 specfiles checked; 0 errors, 5 warnings. # echo 'rpmlint-done:' Requires -------- lv2-sorcer (rpmlib, GLIBC filtered): 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) 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) 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) Provides -------- lv2-sorcer: libsorcer_gui.so()(64bit) lv2-sorcer lv2-sorcer(x86-64) Unversioned so-files -------------------- lv2-sorcer: /usr/lib64/lv2/sorcer.lv2/libsorcer_gui.so lv2-sorcer: /usr/lib64/lv2/sorcer.lv2/sorcer.so Generated by fedora-review 0.5.0 (920221d) last change: 2013-08-30 Command line :/usr/bin/fedora-review -b 1004231 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 Thanks Nils I have removed the presets in response to another review, and replaced with a link in the description. Open license ticket here. https://github.com/harryhaaren/openAV-Sorcer/issues/5 Assuming the license in the SPEC is correct, here's an update with the concerns above addressed. SPEC: http://bsjones.fedorapeople.org/reviews/lv2-sorcer.spec SRPM: http://bsjones.fedorapeople.org/reviews/lv2-sorcer-0.0.1-0.2.20131013git4e35643.fc20.src.rpm One thing I didn't notice in my initial review is that the package name lv2-sorcer differs from the tarball name openAV-sorcer which would be more in line with the naming guidelines, cf.: http://fedoraproject.org/wiki/Packaging:NamingGuidelines#General_Naming Here's the diff to my initial review: ... [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. [@]: License field in the package spec file seems to match the actual license, but frankly how it's documented is a mess: spec file: GPLv3+ (LICENSE text: GPLv2) README: "This is released under GPLv3.", but then "you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version." faust/main.dsp: GPLv3+ faust/main.cpp: LGPLv2+ gui/avtk: GPLv2+ --> at least the README file shouldn't contradict itself and the license file should be updated to GPLv3 IMO. ... [x]: Package must own all directories that it creates. --> Package requires lv2 now. [x]: %build honors applicable compiler flags or justifies otherwise. ... [!]: Package doesn't successfully compile and build into binary rpms on at least one supported primary architecture. --> I'll attach the build.log, it seems as if some build requirements are missing (headers, pkgconfig files not found) ... [@]: Final provides and requires are sane (see attachments). ... --> Why did you comment out the %global __provides_exclude_from line? ... Created attachment 817036 [details]
0.0.1-0.2 build.log
With regards to the name, there's an unofficial standard for lv2 plugins. They all are prefixed with lv2 . The install directory is sorcer.lv2, so I think lv2-sorcer is more appropriate ( openAv is just a software entity created by upstream) . I have added the missing build requires and uncommented the filters. Thanks SPEC: http://bsjones.fedorapeople.org/reviews/lv2-sorcer.spec SRPM: http://bsjones.fedorapeople.org/reviews/lv2-sorcer-0.0.1-0.3.20131013git4e35643.fc20.src.rpm Regarding the name, I concur having a common namespace for lv2 packages is a good idea. Would you please bring this up with the Packaging Committee to make this an official standard? -- https://fedoraproject.org/wiki/Packaging_Committee -- thanks. Diff to comment #4: ... [!]: License confusion in the README aside, the package should really package the correct version of the GPL (i.e. v3, not v2). ... [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. ... [x]: Final provides and requires are sane. ... --> Providing you include the correctly versioned license text, this package is APPROVED. Appreciate the review! Thanks New Package SCM Request ======================= Package Name: lv2-sorcer Short Description: A wave-table LV2 synth plugin Owners: bsjones Branches: f18 f19 f20 InitialCC: PS. I will correct the license file and raise the lv2- prefix on the packaging list. Git done (by process-git-requests). lv2-sorcer-0.0.1-1.0.20131104git18e6891.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/lv2-sorcer-0.0.1-1.0.20131104git18e6891.fc20 Package lv2-sorcer-1.1-1.1.20131104git18e6891.fc20: * should fix your issue, * was pushed to the Fedora 20 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing lv2-sorcer-1.1-1.1.20131104git18e6891.fc20' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2013-20703/lv2-sorcer-1.1-1.1.20131104git18e6891.fc20 then log in and leave karma (feedback). lv2-sorcer-1.1-1.1.20131104git18e6891.fc20 has been pushed to the Fedora 20 stable repository. If problems still persist, please make note of it in this bug report. |