[asterisk-dev] CentOS packaging

Sean Darcy seandarcy2 at gmail.com
Thu Feb 27 11:28:41 CST 2014

On 02/26/2014 02:02 AM, Tzafrir Cohen wrote:
> On Tue, Feb 25, 2014 at 05:04:26PM -0500, Sean Darcy wrote:
>> On 02/25/2014 02:03 PM, Ben Langfeld wrote:
>>> After a conversation with Rusty last week, I've become aware that for a
>>> simple installation of asterisk (11) from the CentOS repositories at
>>> http://packages.asterisk.org/centos/, the 'current' repo at
>>> http://packages.digium.com/centos is required to satisfy the dependency
>>> of the 'asterisk' package on 'asterisk-dahdi'.
>>> I understand that there are licensing reasons for this package to not be
>>> available from the community repo, and I'm not going to get into the
>>> complexity of that, but this situation is rather odd. It's required to
>>> add a total of three repos, from two different domains, just to do 'yum
>>> install asterisk' and get something from this decade. This seems
>>> excessively complex, and likely unnecessary.
>>> Is there anything that can be done to simplify this? Is the dependency
>>> on asterisk-dahdi really necessary? Is there a reason not to publish the
>>> contents of the 'current' repo to all of the 'asterisk-MAJOR' repos, to
>>> reduce the required repo-count to 1?
>>> Cheers,
>>> Ben Langfeld
>> Does there need to be a dependency on asterisk-dahdi? Asterisk works
>> just fine without dahdi. Can it be an "add-on" if dahdi is wanted?
>> Is it required to specify dahdi at compilation to use the dahdi
>> package later?
> dpkg has not only Depends but also Recommends (packages that SHOULD BE
> installed for the package to work properly, but can not a strict
> dependency) and Suggests (nice-to-have provisions).
> We currently have asterisk-dahdi as a Suggests.
>> If asterisk is built with dahdi, does it need the dahdi package? All
>> of the dahdi package? or just the tools? Perhaps asterisk-dahdi
>> could just be the tools (which would meet the Fedora criterion,
>> right?), and the kernel modules an "add-on" package.
> Asterisk uses libtonezone from dahdi-tools (right? Just chan_dahdi?).
> Asterisk-dahdi are all the modules that will not work without DAHDI
> support: chan_dahdi, app_meetme, res_timing_dahdi, codec_dahdi, and a
> few other minor modules.
> The kernel modules are from a different package that is independent of
> Asterisk. It is also a package that will not get into Fedora any time
> soon. It has two licensing issues:
> 1. binary-only objects optionally used to build some of the modules.
> 2. firmware files.
> (2) can be fixed in retrospect at distribution time. But (1) has to be
> tended to at build time. The Debian packages thus fail to include (1)[1]
> and sort-of-work-around (2) with a package in non-free[2].
> [1] http://patch-tracker.debian.org/patch/series/view/dahdi-linux/1:
> [2] Debian's firmware policy is stricter than Fedora's, and some of the
> firmwares will be legal for Fedora. The ones not currently not even
> included in the Debian package will not.

Thanks for the description. I understand better now.

If I understand correctly, to build asterisk with chan_dahdi selected in 
menuseelect, libtonezone from dahdi-tools is required. Once built, dahdi 
and it's various modules will only work if those modules, the firmware 
and the kernel modules are present. If they are not present, dahdi will 
just fail to load, the rest of asterisk will work just fine. Correct?

If so, why can't Fedora (and Debian) have an asterisk package with 
chan_dahdi selected, requiring libtonezone.so, which doesn't cause any 
issues with the packaging criteria. This way, all users can run yum 
install asterisk from the fedora repo. If they need dahdi, they will 
need to specify another repo which would have a dahdi package with the 
modules and firmware.


More information about the asterisk-dev mailing list