2026-04-09 Update Still Depends on DAHDI

FYI - after updating to this verison and running an autoremove, the following packages were removed from my server:

root@node454130:~# apt autoremove --purge
The following packages will be REMOVED:
  dahdi-dkms* dahdi-source* dkms* linux-headers-amd64* sudo*

p.s. - why did sudo get removed?

However, it looks like the DAHDI dependency has not been fully removed, as the following packages still remain:

root@node454130:~# asl-show-version | grep dahdi
  dahdi                           1:3.1.0-2
  dahdi-linux                     1:3.4.0-11.asl.deb12
root@node454130:~# aptitude why dahdi-linux
i   asl3                  Depends asl3-asterisk                                        
i A asl3-asterisk         Depends asl3-asterisk-modules (= 2:22.8.2+asl3-3.8.3-1.deb12)
i A asl3-asterisk-modules Depends libopenr2-3 (>= 1.3.2)                               
i A libopenr2-3           Depends dahdi                                                
i A dahdi                 Depends dahdi-linux

So there are two different aspects to DAHDI. One is the chan_dahdi.so module in Asterisk and the other is the various dahdi*.ko kernel modules. At the moment, ASL3 is still building Asterisk with the chan_dahdi.so channel driver. This was done as a compromise for the possible corner case where someone still has a PCI phone board for autopatch or something. However app_rpt.so no longer uses the DAHDI kernel mechanisms anymore, which is what it did all the way from the beginning until app_rpt.so v3.8. The current compromise is we're still building chan_dahdi in case it's needed (that'll be phased out at some point), but for now it's there and someone can compile the kernel modules manually if they need it via the dahdi-source package.

Currently, the ASL3 build of Asterisk is following the Debian "build all the modules" philosophy but we may move away from that at some point in the future. Originally, we thought we'd be syncing our package structure with Debian Salsa frequently. However that has not turned out to be the case.

Understood - so the above is intended/expected. Thanks for the explanation!