[Freeswitch-dev] Video build deps for CentOS 6

Michael Jerris mike at jerris.com
Thu Jun 25 23:22:19 MSD 2015


I have no issues rebuilding some packages for never version in our repos... The big issues are, we will not put binaries of any of the mp3 or h264 code in our repos, and we are not going to include documentation pointing to non-reputable 3rd party repos.  I'm open to pointing to rpmforge if we can put together some documentation that won't result in complete nightmares from version conflicts from all the different repos, but I'm not sure this is possible, can we craft a meta package that helps nail down the specific versions to use, or to somehow blacklist all but a small list of packages from rpmforge?  In regards to VLC, to be honest, I'd skip it completely, it adds little value and doesn't work great.  The one you want to get working is libav or ffmpeg built against x264.  The trick is you'll need to audit the versions of all these things you are talking about updating and figuring out if the upgrades are even actually necessary  Please note that libav will need to be rebuilt for sure so its built against our version of libvpx, and if not already done, some other libs will need to be rebuilt against libpng 1.6 or greater.  Those 2 libraries for sure need to be updated to our versions.  Additionally some of the libs in our tree may exist in other distros, but ours are actually different api/abi but have the same name, and the ones in the distros are broken.  For example libilbc.  I have not yet audited to see if ours has enough backwards api that it could be updated in distro repos to replace their broken one.  Most of the version limits that are in place are those versions based on thats what we have in debian jessie that is tested and confirmed working.  Its likely you can use older versions, but functionality will need to be tested to confirm on a library by library basis.

Hi,

----- Il 25-giu-15, alle 19:45, Michael Jerris mike at jerris.com <http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev> ha scritto:

> for things like nasm, is that newer version out there for example in epel? that
> would be the best case.

Sure, the work I've done is already based on epel, so what is in epel is not built again.

I've rebuilt some epel packages only when a newer version is needed.

> Backup would be to take a source pacakge from something
> newer and just rebuild in a way that doesn't require any modifications,
> fallback we can put the src out on our download servers and create a job for
> it. As for x264, we will not be putting that in our repo, you'll have to find
> some way to get that into some official repo that we can reference, maybe see
> if you can get it into epel? The best case would be to get as much as possible
> directly into epel so it leaves us having to manage as little as possible.

The main "source" of deps (and troubles) is vlc 2.2, which needs a lot of stuff.

I've taken some packages from rpmfusion and rebuilt them, updating when needed.

So while epel is needed for deps, rpmfusion is not because all needed rpmfusion
packages have been rebuilt by me using same sources/specs (if not updated)

I don't know if epel will ever accept all packages, because some are also updates
to base system, like opencv which is present on CentOS base but too old and
ImageMagick, to name few.

So the picture is: if you want to have video under CentOS 6 without hosting
something (mainly vlc stuff and it's deps), you're out of luck since FS
requirements are on very recent packages.

Just a quick list of stuff needed:

base CentOS updates not present anywhere:
ImageMagick (updated), nasm(updated), libvncserver(updated), opencv(updated)

** from rpmfusion:
a52dec, faad2, gpac, lame, vlc(updated), libmad, mpg123(updated), x264(updated for vlc 2.2),
xvidcore

** from epel (rebuilt because different version)
libmpv2(updated), libshout(updated)

** from Freeswitch SD:
g722_1, broadvoice, libav, libcodec2, libsilk, libvpx, libyuv(updated), opus,
soundtouch, openh264, flite, ilbc (epel has a newer one, pay attention!)

This is the list (should be almost complete, I'm not in the office right now)
of what I've rebuit to have video running.

Is possible to reduce by 6 packages if rpmfusion is added with repo. Dunno if is wanted or not.

I think that epel will never accept updates to packages that are already into base distro.

And don't know about vlc and its deps... if rpmfusion exists maybe is because patents
does not allow it into epel?

What do you think?

Matteo

> On Jun 25, 2015, at 1:45 PM, Michael Jerris <mike at jerris.com> wrote:
> 
> for things like nasm, is that newer version out there for example in epel?  that would be the best case.  Backup would be to take a source pacakge from something newer and just rebuild in a way that doesn't require any modifications, fallback we can put the src out on our download servers and create a job for it.  As for x264, we will not be putting that in our repo, you'll have to find some way to get that into some official repo that we can reference, maybe see if you can get it into epel?  The best case would be to get as much as possible directly into epel so it leaves us having to manage as little as possible.
> 
> On Thursday, June 25, 2015, Matteo <mbrancaleoni at voismart.it <mailto:mbrancaleoni at voismart.it>> wrote:
> I know how specs works, I'm maintaining a private repo like epel with tens of packages since years, using the same tools used by fedora ( koji, mock, mash).
> 
> My intent is not to create a custom build of freeswitch, but a repo like epel or rpmfusion with only the needed build deps.
> 
> What is not clear to me is the flow to add a new dep.
> 
> Let's say I need to add a bunch of new libs, like gpac, nasm, x264, to name a few.
> 
> Which is the correct approach to fit into Fs build structure?
> 
> Mat
> 
> Inviato da iPhone
> 
> > Il giorno 25/giu/2015, alle ore 18:08, Ken Rice ha scritto:
> > 
> > You know in the spec files you can if things for specific versions... You'll
> > just have to figure out the correct Ifs for Cent7 vs Cent6 vs say Suse
> > 
> > 
> >> On 6/25/15, 11:03 AM, "Matteo" wrote:
> >> 
> >> Ok,
> >> 
> >> since some packages are only centos 6 specific updates, how do you plan to
> >> handle them?
> >> 
> >> For example, nasm is a required update to CentOS 6 in order to build other
> >> stuff,
> >> but is not needed for debian or CentOS 7
> >> 
> >> Right now in the repo I don't see anything distro-specific .
> >> 
> >> 
> >> Regards,
> >> Matteo
> >> 
> >> _________________________________________________________________________
> >> Professional FreeSWITCH Consulting Services:
> >> consulting at freeswitch.org <javascript:_e(%7B%7D,'cvml','consulting at freeswitch.org');>
> >> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/>
> >> 
> >> Official FreeSWITCH Sites
> >> http://www.freeswitch.org <http://www.freeswitch.org/>
> >> http://wiki.freeswitch.org <http://wiki.freeswitch.org/>
> >> http://www.cluecon.com <http://www.cluecon.com/>
> >> 
> >> FreeSWITCH-dev mailing list
> >> FreeSWITCH-dev at lists.freeswitch.org <javascript:_e(%7B%7D,'cvml','FreeSWITCH-dev at lists.freeswitch.org');>
> >> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev <http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev>
> >> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev <http://lists.freeswitch.org/mailman/options/freeswitch-dev>
> >> http://www.freeswitch.org <http://www.freeswitch.org/>
> > 
> > -- 
> > Ken
> > http://www.FreeSWITCH.org <http://www.freeswitch.org/>
> > http://www.ClueCon.com <http://www.cluecon.com/>
> > http://www.OSTAG.org <http://www.ostag.org/>
> > irc.freenode.net <http://irc.freenode.net/> #freeswitch
> > Twitter: @FreeSWITCH
> > 
> > 
> > 
> > 
> > _________________________________________________________________________
> > Professional FreeSWITCH Consulting Services:
> > consulting at freeswitch.org <javascript:_e(%7B%7D,'cvml','consulting at freeswitch.org');>
> > http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/>
> > 
> > Official FreeSWITCH Sites
> > http://www.freeswitch.org <http://www.freeswitch.org/>
> > http://wiki.freeswitch.org <http://wiki.freeswitch.org/>
> > http://www.cluecon.com <http://www.cluecon.com/>
> > 
> > FreeSWITCH-dev mailing list
> > FreeSWITCH-dev at lists.freeswitch.org <javascript:_e(%7B%7D,'cvml','FreeSWITCH-dev at lists.freeswitch.org');>
> > http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev <http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev>
> > UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev <http://lists.freeswitch.org/mailman/options/freeswitch-dev>
> > http://www.freeswitch.org <http://www.freeswitch.org/>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20150625/d3e4ab3f/attachment-0001.html 


Join us at ClueCon 2014 Aug 4-7, 2014
More information about the FreeSWITCH-dev mailing list