Bug 904658
Summary: | Review Request: radium-compressor: an audio compressor for JACK | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Brendan Jones <brendan.jones.it> |
Component: | Package Review | Assignee: | Mamoru TASAKA <mtasaka> |
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | rawhide | CC: | k.s.matheussen, notting, package-review |
Target Milestone: | --- | Flags: | mtasaka:
fedora-review+
gwync: fedora-cvs+ |
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2013-02-17 18:09:14 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 |
Description
Brendan Jones
2013-01-26 21:41:48 UTC
For 0.5.1-1 * License - Some files are under GPLv3+, and some of them are actually used to build the binary: ----------------------------------------------------- audio/faudiostream/architecture/faust/audio/alsa-dsp.h audio/faudiostream/architecture/faust/audio/coreaudio-dsp.h audio/faudiostream/architecture/faust/audio/netjack-dsp.h audio/faudiostream/architecture/faust/audio/portaudio-dsp.h audio/faudiostream/architecture/faust/gui/console.h audio/faudiostream/architecture/faust/gui/faustqt.h audio/faudiostream/architecture/faust/gui/meta.h faudiostream/architecture/faust/audio/alsa-dsp.h faudiostream/architecture/faust/audio/coreaudio-dsp.h faudiostream/architecture/faust/audio/netjack-dsp.h faudiostream/architecture/faust/audio/portaudio-dsp.h faudiostream/architecture/faust/gui/console.h faudiostream/architecture/faust/gui/faustqt.h faudiostream/architecture/faust/gui/meta.h ----------------------------------------------------- So the license tag should be "GPLv3+" (just GPLv3+ is okay). * Compiler flags - Fedora specific compilation flags are not used correctly. build.log says: ----------------------------------------------------- 33 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.ESDXyl 34 + umask 022 35 + cd /builddir/build/BUILD 36 + cd radium_compressor-0.5.1 37 + make 'OPTS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables' -j5 38 cd Qt && ./create_source_from_ui.sh `../find_moc_and_uic_paths.sh uic` `../find_moc_and_uic_paths.sh moc` compressor_widget 39 g++ -DDEBUG -O3 -Wall -msse -mfpmath=sse -DUSE_QT_REQTYPE -DUSE_QT4 -g -I. -ffast-math -IQt Qt/Qt_SliderPainter.cpp `pkg-config --cflags Qt3Support` -c 40 g++ -DDEBUG -O3 -Wall -msse -mfpmath=sse -DUSE_QT_REQTYPE -DUSE_QT4 -g -I. -ffast-math -IQt main.cpp Qt_SliderPainter.o -Iaudio/faudiostream/architecture/ `pkg-config --libs --cflags Qt3Support` -ljack -o radium_compressor 41 + exit 0 ----------------------------------------------------- Also, "-O3" is used, this should be changed to -O2. And, is it safe for this package to use "-ffast-math"? -ffast-math does some "optimization" which breaks IEEE rules for example, which may result in confusing behavior. * rpmlint issue - incorrect-fsf-address (not a blocker) - Some source files contain incorrest FSF address, which causes rpmlint complaint on debuginfo rpm. Not a blocker, however it is recommend to tell upstream - spurious-executable-perm - rpmlint complains about some header files in debuginfo rpm for having non-proper permission. You can suppress this rpmlint complaint by changing the permission of header files to 0644 at %prep. * Desktop file https://fedoraproject.org/wiki/Packaging:Guidelines?rd=Packaging/Guidelines#Desktop_files - It seems that "radium_compressor" is a GUI program, so installing proper desktop file is required (unless there is some reason, e.g. this program usually needs proper argument, for example) As far as I can read from http://gcc.gnu.org/onlinedocs/gcc-4.7.0/gcc/Optimize-Options.html, -ffast-math should be safe, and benchmarking showed that -ffast-math makes the program run 13% faster. (I'm the upstream author) Oh, I also see that -O3 makes the program run twice as fast as -O2 (at least on my computer): make benchmark && ./benchmark. It's -fpredictive-commoning and -ftree-vectorize that makes the difference. "-O2 -fpredictive-commoning -ftree-vectorize" runs at the same speed as "-O3". (In reply to comment #3) > Oh, I also see that -O3 makes the program run twice as fast as -O2 (at least > on my computer): make benchmark && ./benchmark. It's -fpredictive-commoning > and -ftree-vectorize that makes the difference. "-O2 -fpredictive-commoning > -ftree-vectorize" runs at the same speed as "-O3". Well, -O2 vs -O3 is rather Fedora packaging (policy) issue. I can accept "-O2 -fpredictive-commoning -ftree-vectorize" instead. (In reply to comment #3) > Oh, I also see that -O3 makes the program run twice as fast as -O2 (at least > on my computer): make benchmark && ./benchmark. It's -fpredictive-commoning > and -ftree-vectorize that makes the difference. "-O2 -fpredictive-commoning > -ftree-vectorize" runs at the same speed as "-O3". Oh, https://fedoraproject.org/wiki/Packaging:Guidelines?rd=Packaging/Guidelines#Compiler_flags says "Overriding these flags for performance optimizations (for instance, -O3 instead of -O2) is generally discouraged. If you can present benchmarks that show a significant speedup for this particular code, this could be revisited on a case-by-case basis. " So as you kindly presented benckmarks, I can accept -O3 and -ffast-math. Still other Fedora specific compilation flags (such as -Wp,-D_FORTIFY_SOURCE=2 and so on) must be honored. Thanks guys for the throguh investigation of the compiler flags. Really appreciated. Kjetil: there are some incorrect FSF addresses in your source headers (correct is 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA). You can update this at your disgression License has been ajusted and file permissions addressed. I have added the desktop file and will liase with upstream regarding a suitable icon. SPEC: http://bsjones.fedorapeople.org/reviews/radium-compressor.spec SRPM: http://bsjones.fedorapeople.org/reviews/radium-compressor-0.5.1-2.fc18.src.rpm Some notes: * Optimization level - For changing optimization level, please add some comments on your spec file about the discussion on this review request (especially the comments / explanation from Kjetil) for justification. ! Honoring Fedora specific compilation flags - Well, it seems somewhat strange that you have to use sed for Makefile and also change "OPTS" variables to honor Fedora specific compilation flags, however not a blocker. ------------------------------------------------------------- This package (radium-compressor) is APPROVED by mtasaka ------------------------------------------------------------- (In reply to comment #7) > Some notes: > > * Optimization level > - For changing optimization level, please add some comments on > your spec file about the discussion on this review request > (especially the comments / explanation from Kjetil) > for justification. Good call - will do. > > ! Honoring Fedora specific compilation flags > - Well, it seems somewhat strange that you have to use sed for Makefile > and also change "OPTS" variables to honor Fedora specific compilation > flags, however not a blocker. > I think this is a feature in the build script. I'll send a patch upstream. Thanks for the review! New Package SCM Request ======================= Package Name: radium-compressor Short Description: An audio compressor for JACK Owners: bsjones Branches: f17 f18 Git done (by process-git-requests). radium-compressor-0.5.1-3.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/radium-compressor-0.5.1-3.fc17 radium-compressor-0.5.1-3.fc18 has been submitted as an update for Fedora 18. https://admin.fedoraproject.org/updates/radium-compressor-0.5.1-3.fc18 radium-compressor-0.5.1-3.fc17 has been pushed to the Fedora 17 testing repository. radium-compressor-0.5.1-4.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/radium-compressor-0.5.1-4.fc17 radium-compressor-0.5.1-4.fc18 has been submitted as an update for Fedora 18. https://admin.fedoraproject.org/updates/radium-compressor-0.5.1-4.fc18 Closing. radium-compressor-0.5.1-4.fc17 has been pushed to the Fedora 17 stable repository. If problems still persist, please make note of it in this bug report. radium-compressor-0.5.1-4.fc18 has been pushed to the Fedora 18 stable repository. If problems still persist, please make note of it in this bug report. |