Bug 48

Summary: Review Request: freej - a vision mixer for video DJs on Linux
Product: Package Reviews Reporter: Yaakov Nemoy <loupgaroublond>
Component: Review RequestAssignee: RPM Fusion Package Review <rpmfusion-package-review>
Status: RESOLVED WONTFIX    
Severity: normal CC: hobbes1069, kwizart, oget.fedora
Priority: P5    
Version: Current   
Hardware: All   
OS: GNU/Linux   
URL: http://freej.dyne.org
namespace:

Description Yaakov Nemoy 2008-09-23 00:54:36 CEST
SRPM: http://ynemoy.fedorapeople.org/repo.nonfree/freej-0.10-8.20080726.fc9.src.rpm
SPEC: http://ynemoy.fedorapeople.org/repo.nonfree/freej.spec

FreeJ is a digital instrument for video livesets, featuring realtime
rendering of multilayered video and chained effect filtering directly
on the screen. It plays with video4linux devices, DIVX/AVI files, and
PNG images, letting you dynamically apply on each layer a chain of
effect plugins.

NOTE: This package is hard-coded to require an MMX capable processor.

RPMLINT:
freej.i386: I: checking
freej.i386: E: wrong-script-interpreter /usr/share/freej/pan_joy.js "/usr/local/bin/freej"
freej.i386: E: non-executable-script /usr/share/freej/pan_joy.js 0644
freej.i386: E: wrong-script-interpreter /usr/share/freej/pan.js "/usr/local/bin/freej"
freej.i386: E: non-executable-script /usr/share/freej/pan.js 0644
freej.i386: W: executable-stack /usr/bin/freej
freej.src: I: checking
freej.src:97: W: macro-in-%changelog __make
freej-debuginfo.i386: I: checking
freej-devel.i386: I: checking
freej.spec:97: W: macro-in-%changelog __make
4 packages and 1 specfiles checked; 4 errors, 3 warnings.

FreeJ has a built in javascript interpreter.  rpmlint is not intelligent enough to realize this.  The rest is a silly warning.

This package depends on libffmpeg which is not available in Fedora.

Note: First time submitter.
Comment 1 Kevin Kofler 2008-09-23 02:25:02 CEST
Note that despite the "nonfree" in the URL, this should go to RPM Fusion's free section. It's not non-Free, just patent-encumbered.
Comment 2 Yaakov Nemoy 2008-09-23 02:31:59 CEST
the nonfree in the URL is to discriminate packages that can go in fedora and packages that can't.
Comment 3 Kevin Kofler 2008-09-23 02:36:31 CEST
> FreeJ has a built in javascript interpreter.  rpmlint is not intelligent
> enough to realize this.

No, it's trying to tell you that the #! line is wrong. It should say /usr/bin/freej, not /usr/local/bin/freej, or you should remove the #! line entirely, which will also get you rid of the "non-executable script" warning. The #! line is only used when you execute the script directly on the command line, it makes no sense to have a #! line in a script which doesn't have the +x flag set, nor does it make sense to have one pointing to a nonexistent path. If it makes no sense to run the script from the command line, just remove the #! line, if it _does_ make sense to do that, fix the #! line and set the +x flag.

> The rest is a silly warning.

No, none of the messages are "silly warnings". I already explained how to fix the .js-related ones above. For the others:

> freej.i386: W: executable-stack /usr/bin/freej

This means that the executable will cause problems with SELinux and is also a security problem. It is probably due to assembly source files (.s or .S files) without a GNU-stack note. See:
http://cvs.fedoraproject.org/viewvc/rpms/qimageblitz/devel/qimageblitz-0.0.4-noexecstack.patch?revision=1.1&view=markup
for how to fix such assembly files.

It may also be due to abuse of nested functions in C code, but that's less likely.

> freej.spec:97: W: macro-in-%changelog __make

You must escape any percent signs in the changelog, e.g. use %%__make instead of just %_make. Otherwise, the macro will be expanded into the changelog, which is almost certainly not what you want.

Please fix the issues reported by rpmlint, they're all valid issues and the package should not be approved without those issues fixed.
Comment 4 Orcan Ogetbil 2008-12-28 09:03:55 CET
Ping? Any updates?
Comment 5 Yaakov Nemoy 2009-04-07 02:41:51 CEST
Got an update. The freej guys redid their entire autotools setup. They are also gearing up for a new release, so this is based on a git checkout for the time being.

SRPM: http://ynemoy.fedorapeople.org/review/freej-0.10-12.20090406git.6ab131da4f54.fc10.src.rpm
SPEC: http://ynemoy.fedorapeople.org/review/freej.spec
Comment 6 Orcan Ogetbil 2009-04-09 05:51:11 CEST
This package definitely needs some work. Here are some blockers:

* Please remove the precompiled binary(ies) in %prep, e.g. 
    xcode/English.lproj/MainMenu.nib/designable.nib

* These files have "usr/lib/" and/or "usr/local/" hardcoded. Please fix these via sed or patch:
    src/context.cpp
    src/plugger.cpp
    xcode/config.h

* Package does not build against gcc4.4:
   DEBUG:  g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src/include -I../lib -I../lib/ccvt -I../lib/shout -I../lib/lo -I../lib/sdl_image -I../lib/sdl_gfx -I../lib/sdl_ttf -I../lib/flash -I../lib/goom -I../lib/cwiid -I/usr/include/slang -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/freetype2 -I/usr/include/unicap -I/usr/include/ffmpeg -I/usr/include/ffmpeg/libavcodec -I/usr/include/ffmpeg/libavformat -I/usr/include/ffmpeg/libswscale -I../lib/javascript -I../lib/javascript/obj -freg-struct-return -DPREFIX=\"/usr\" -DDATADIR=\"/usr/share\" -pipe -D_REENTRANT -freg-struct-return -fPIC -O2 -mfpmath=sse -mtune=nocona -O2 -MT frei0r.lo -MD -MP -MF .deps/frei0r.Tpo -c frei0r.cpp  -fPIC -DPIC -o .libs/frei0r.o                                                              
   DEBUG: frei0r.cpp: In member function 'int Freior::open(char*)':                                                                                            
   DEBUG: frei0r.cpp:102: error: 'snprintf' was not declared in this scope                                                                                     
   DEBUG: frei0r.cpp: In member function 'void Freior::print_info()':                                                                                          
   DEBUG: frei0r.cpp:122: error: 'snprintf' was not declared in this scope

Please patch this up and try to build your packages in mock/rawhide beforehand to see if they compile.

* rpmlint says:
   freej.src: W: mixed-use-of-spaces-and-tabs (spaces: line 22, tab: line 5)
which can be fixed easily

* You need to remove .la files from the final binary RPM.

* These need not be specified explicitly:
   Requires:       SDL SDL_ttf freetype slang
   Requires:       fftw jack-audio-connection-kit
   Requires:       unicap
these dependencies will be added automatically by rpmbuild.

* There are many libraries in the lib/ directory which are already present in Fedora. You need to patch freej to use system libraries instead of those in the lib/ directory. Even those that are not in Fedora should be packaged separately and be submitted to Fedora.
Comment 7 Orcan Ogetbil 2009-04-09 05:57:44 CEST
* Additionally, these files
   /usr/lib64/libfreej.so.0
   /usr/lib64/libfreej.so.0.0.0
belong to the main package, not to the devel subpackage.
Comment 8 Nicolas Chauvet 2009-04-14 11:50:34 CEST
freir0-plugins is now available in fedora.

According to our packaging standard, there is a need to search for 64bit dso in /usr/lib64. But the freir0 api doesn't obbey to this rule.
This probably need to be tweaked in the related application... 
(I can have a look if needed).

http://koji.fedoraproject.org/koji/taskinfo?taskID=1296849
Comment 9 Orcan Ogetbil 2009-11-29 23:25:26 CET
Ping? What is the current situation on this package?
Comment 10 Richard 2011-09-29 19:38:03 CEST
I'm thinking this review request can be closed. What's the correct resolution? WONTFIX?

Richard
Comment 11 Richard 2011-09-29 20:31:43 CEST
There's been no activity on this review request for >1 year. Please reopen if you are still interested in pursuing it.

Remember to re-add the review tracker bug (#2) if you decide to reopen it.