| Summary: | Review request: xmms2-freeworld - Plugins for XMMS2 that cannot be included in Fedora | ||
|---|---|---|---|
| Product: | Package Reviews | Reporter: | Orcan Ogetbil <oget.fedora> |
| Component: | Review Request | Assignee: | Nicolas Chauvet <kwizart> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | dominik, fedora, kwizart, rpmfusion-package-review, tcallawa |
| Priority: | P5 | ||
| Version: | Current | ||
| Hardware: | All | ||
| OS: | GNU/Linux | ||
| namespace: | |||
| Bug Depends on: | |||
| Bug Blocks: | 4 | ||
| Attachments: | Patch to fix compilation with current libavcodec | ||
|
Description
Orcan Ogetbil
2008-12-05 22:27:16 CET
Update: Fedora package "xmms2" passed the review. SPEC: http://6mata.com:8014/review/xmms2-freeworld.spec SRPM: http://6mata.com:8014/review/xmms2-freeworld-0.5-2.fc10.src.rpm The "xmms2-freeworld" package is updated in parallel with the changes asked by the Fedora review for the "xmms2" package. compilation failed with the new ffmpeg in rpmfusion rawhide for F-11: ----------------------- /usr/lib/ccache/gcc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -fPIC -DPIC -D_REENTRANT -D_REENTRANT -Idefault/src/include -I../src/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I. -Idefault -I.. ../src/plugins/daap/daap_mdns_avahi.c -c -o default/src/plugins/daap/daap_mdns_avahi.os [134/328] * cc : src/plugins/avcodec/avcodec.c -> _build_/default/src/plugins/avcodec/avcodec.os ../src/plugins/avcodec/avcodec.c: In function 'xmms_avcodec_init': ../src/plugins/avcodec/avcodec.c:174: error: 'AVCodecContext' has no member named 'bits_per_sample' ../src/plugins/avcodec/avcodec.c: In function 'xmms_avcodec_read': ../src/plugins/avcodec/avcodec.c:251: warning: implicit declaration of function 'avcodec_decode_audio' /usr/lib/ccache/gcc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -fPIC -DPIC -Idefault/src/include -I../src/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/ffmpeg -I. -Idefault -I.. ../src/plugins/avcodec/avcodec.c -c -o default/src/plugins/avcodec/avcodec.os ERROR: == Runner == task failed! (return code 129 and task id 167) ERROR: == Task == -- task details begin -- action: cc idx: 167 source: [</builddir/build/BUILD/xmms2-0.5DrLecter/src/plugins/avcodec/avcodec.c>] target: [<b:/builddir/build/BUILD/xmms2-0.5DrLecter/src/plugins/avcodec/avcodec.os>] -- task details end -- [135/328] * cc : src/plugins/cdda/cdda.c -> _build_/default/src/plugins/cdda/cdda.os /usr/lib/ccache/gcc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -fPIC -DPIC -Idefault/src/include -I../src/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I. -Idefault -I.. ../src/plugins/cdda/cdda.c -c -o default/src/plugins/cdda/cdda.os Compilation failed (error raised in module Build) ------------------ You should wait for the libraw1394-devel and others pkg-config requirement pulled from ffmpeg-devel. * Is it possible/relevant to have a xmms2-freeworld meta-package or should we handle that with group using comps ? * Maybe someone can think about the mac module (will be nonfree, if allowed to get redistributed). * There is usually no need to rebuild all the modules. That doesn't matter for now, but it would be easier in case of a nosrc.rpm for the mac nonfree plugin (again, if anyone cares). You can at least start to lower the module/dependencies requested to only BuildRequires the common ones along with the freeworld ones. Package built fine on rpmbuild F-9 x86_64. Doing runtime testing now... (In reply to comment #2) [...] > You should wait for the libraw1394-devel and others pkg-config requirement > pulled from ffmpeg-devel. Why do you say ffmpeg-devel needs to Require: libraw1394-devel? (In reply to comment #3) > (In reply to comment #2) > [...] > > You should wait for the libraw1394-devel and others pkg-config requirement > > pulled from ffmpeg-devel. > > Why do you say ffmpeg-devel needs to Require: libraw1394-devel? I told you that since you have Requires.private libraw1394 in libavcodec.pc, the libraw1394.pc needs to be pulled. If not, the pkg-config libavcodec detection will fail. At this time, they are not added automatically by rpm. (In reply to comment #4) > (In reply to comment #3) > > (In reply to comment #2) > > [...] > > > You should wait for the libraw1394-devel and others pkg-config requirement > > > pulled from ffmpeg-devel. > > > > Why do you say ffmpeg-devel needs to Require: libraw1394-devel? > I told you that since you have Requires.private libraw1394 in libavcodec.pc, > the libraw1394.pc needs to be pulled. If not, the pkg-config libavcodec > detection will fail. At this time, they are not added automatically by rpm. > Actually, the problem was in FFmpeg's .pc files. This is fixed in ffmpeg-0.4.9-0.54.20081202. The compilation problem is fixed with the attached patch. Created attachment 54 [details]
Patch to fix compilation with current libavcodec
Update: SPEC: http://6mata.com:8014/review/xmms2-freeworld.spec SRPM: http://6mata.com:8014/review/xmms2-freeworld-0.5-3.fc10.src.rpm Changelog 0.5-3: - Add meta package - Include more upstream patches for avcodec plugin compilation and fixes - Drop BR's and patches that are irrelevant for compiling freeworld plugins I had to include 6 more upstream patches in order to apply the latest one that fixes avcodec plugin compilation issues with the latest ffmpeg. Actually I included all the avcodec patches since the release of the 0.5 version now. Should I combine all these avcodec patches into one big patch or is this ok? (In reply to comment #7) > Should I combine all these avcodec patches into one big patch or is this ok? I'd say: whatever is more convenient for you. When using rpmbuild on develoment system,: ---------------------- /usr/lib/ruby/site_ruby/1.8/xmmsclient.rb /usr/lib/ruby/site_ruby/1.8/xmmsclient/async.rb /usr/lib/ruby/site_ruby/1.8/xmmsclient/sync.rb /usr/lib64/ruby/site_ruby/1.8/x86_64-linux/xmmsclient_ecore.so /usr/lib64/ruby/site_ruby/1.8/x86_64-linux/xmmsclient_ext.so /usr/lib64/ruby/site_ruby/1.8/x86_64-linux/xmmsclient_glib.so /usr/lib64/xmms2/libxmms_mac.so ---------------------- We often get packages that was meant to be disabled.Maybe it would be better to disable them on the %configure line (same as for the xmms2 package). Once that said, that's just something we might keep in mind when dealing with such modular package. (note that the mac module seems to build). Still testing mock built on F-9 x86_64 and F-10 x86... Update: SPEC: http://6mata.com:8014/review/xmms2-freeworld.spec SRPM: http://6mata.com:8014/review/xmms2-freeworld-0.5-4.fc10.src.rpm %changelog 0.5-4 - Disable building of everything possible that do not go to the freeworld plugins - Add bits for mac plugin, but keep it disabled until mac becomes free You also have to comment out this line:
Requires: xmms2-mac = %{version}-%{release}
Oh, and I'm not sure we need the mac plugin at all: ffmpeg already has a decoder for Monkey's Audio, which is not based on the official non-Free mac, but on libdemac which is rewritten from scratch. On the other hand, that decoder only supports the current format and not the versions from old versions of Monkey's Audio. Good catch. Thanks. SPEC: http://6mata.com:8014/review/xmms2-freeworld.spec SRPM: http://6mata.com:8014/review/xmms2-freeworld-0.5-5.fc10.src.rpm I am aware of what you said. It is the only decoder that supports old APE files. But I am not sure either. Let's hear what the reviewer will say. Well, It seems that the related mac package is nonfree. so It won't be enabled in the freeworld version I guess. Package built with mock on F-10 x86 and F-9 x86_64. Tested at runtime on both arches, everything is fine. ---------------------------------- This package (xmms2-freeworld) is APPROVED ---------------------------------- Package CVS request ====================== Package Name: xmms2-freeworld Short Description: Plugins for XMMS2 that cannot be included in Fedora Owners: oget Branches: F-9 F-10 InitialCC: ---------------------- License tag: free (In reply to comment #16) > Package CVS request done Package built fine for F-9 and F-10. But it failed for devel. The configure script does not detect libavcodec. I guess it is about the pkgconfig issue Nicolas mentioned. Is there a way to workaround it? Package has been in the repo for a while. Closing the bug. |