As we discussed on IRC, the idea is to have xpra specific packages for x264, ffmpeg, libvpx, and libwebp that do not conflict with packages provided by 3rd party repos, such as rpmfusion.
Libraries get installed in /usr/lib64/xpra
.
Development files get installed in /usr/share/include/xpra
This allows xpra-x264
and x264
(rpmfusion) to coexist without conflict.
In the xpra spec, we must set PKG_CONFIG_PATH to include /usr/lib64/xpra/pkgconfig
and pass rpath to the linker.
# set pkg_config_path for xpra video libs PKG_CONFIG_PATH=$PKG_CONFIG_PATH:%{_libdir}/xpra/pkgconfig export PKG_CONFIG_PATH CFLAG=S-O2 LDFLAGS=-Wl,-rpath=%{_libdir}/xpra python setup.py build --with-opengl %{strict_build_args} %{sound_build_args} %{ffmpeg_build_args} %{vpx_build_args} %{x264_build_args} %{opencl_build_args} %{webp_build_args} %{server_build_args}
I have built these packages against EL5, EL6, Fedora 19, and Fedora 20. I tested xpra builds against these packages and tested on EL5, EL6 and Fedora 20.
I have attached the following specs: x264-xpra, ffmpeg-xpra, libvpx-xpra, libwebp-xpra, and xpra.
The xpra spec is included to provide context on my build procedure. The changes to the SPEC are being discussed in #606.
These spec files should replace those in trunk/rpmbuild/{ffmpeg, x264, libvpx, libwebp}
For F19 and F20 we should probably depend on upstreams version of libvpx and libwebp (as these are likely to be fairly new). For el5 and el6 we should depend on our own.
Sorry about the delay. Looks good.
I've replaced all the lib* spec files with the updated ones in r6911, also bumped ffmpeg to version 2.2.4
and x264 to 20140719
.
(maybe we can find a way to trim down ffmpeg further? no need for postproc, swresample or avfilter..)
I'm holding off on the xpra.spec changes for now as I need to test the build thoroughly first.
More!
The good bits:
--enable-pic
for webp in r7055, as configure was moaning
libx264.a
so we can still build static modules in r7056
The not so good bits:
python-lz4-0.7.0
(it's a complete no-go on centos5 because of python24, but let's not worry about that). The version of python-nose
available in the repos is too old to build (version check in setup.py IIRC). Looks like we need to also package python-nose
... sigh. Here is a specfile from Fedora which may be useful: python26-nose.spec. pyther: Can you help?
CFLAG=S-O2 LDFLAGS=-Wl,-rpath=...
;)
We'll follow up on the xpra spec file in #606. Bar the python-nose
, I think we can close this ticket?
Any idea why the ffmpeg debuginfo
packages end up really small? (2 to 6KB - see beta area for examples)
After successfully build testing everything, in r7192 I've added specfiles for:
PyOpenGL
3.1.0 and PyOpenGL-accelerate
3.1.0 - both build fine on centos6+ but we only support opengl on centos 6.4 and 6.5 because those are the only versions that have pygtkglext
... complete no-go on centos5 because of python24 (would be good to add a version check to prevent building a completely broken rpm... not sure how to do that), why not for centos7 though??. Fedora still ships a beta version of 3.1, and without the accelerate module, so I'm making builds for those too.
pycrypto
2.6.1 since centos6 is stuck on an insecure version, and it wasn't available for centos5 or centos7 at all... It still moans during the self tests about gmp
being too old: You should rebuild using libgmp >= 5 to avoid timing attack vulnerability but we're not going to deal with that (let's hope rhel / centos do..). It is now a hard dependency of the xpra specfile (since rpm does not do "recommends" like debs do).
Wasted too much time on the nose vs sphinx vs lz4 madness, ended up disabling the tests to get going again on centos: r7200.
Any idea why the ffmpeg
debuginfo
packages end up really small? (2 to 6KB - see beta area for examples)
No immediate ideas. I built the latest ffmpeg-x264 using the spec in trunk and I got a debug package that was about 24KB and contains about 6 files.
I didn't see any debug packages for el6, but the el7 xpra-x264 debug packages were empty.
Can I close this or is there something we can do about the empty debug packages?
See also #635
netifaces
got changed to python-netifaces
in r7389, see Packaging mistake for Fedora
Not heard too many complaints.. closing.
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/613