# TODO:
-# - asterisk uid/gid
# - cgi-bin package - separate, because of suid-root
-# - separate plugins into packages
-# - use shared versions of lpc10, gsm,...
+# - use shared versions of LIBILBC:=ilbc/libilbc.a (ilbc not enabled currently)
# - CFLAGS passing
# - fix bluetooth patch
-# - package commandline tools (aelparse etc.)
-# - system mxml
# - ~/.asterisk_history gets encoded with \xxx on exit, each time yet again
-# - openh323 is missing regardless of BR, see http://pld.pastebin.com/f7f84c312
-# - libpath:
-# /usr/bin/ld: skipping incompatible /usr/lib/libpthread.so when searching for -lpthread
-# /usr/bin/ld: skipping incompatible /usr/lib/libpthread.a when searching for -lpthread
-# /usr/bin/ld: skipping incompatible /usr/lib/libc.so when searching for -lc
-# /usr/bin/ld: skipping incompatible /usr/lib/libc.a when searching for -lc
+# - make package for moh sound files
+# - likely odbc and imap broken:
+# *** WARNING: identical binaries are copied, not linked:
+# /usr/lib64/asterisk/modules/app_directory_odbc.so
+# and /usr/lib64/asterisk/modules/app_directory_imap.so
+# *** WARNING: identical binaries are copied, not linked:
+# /usr/lib64/asterisk/modules/app_directory_plain.so
+# and /usr/lib64/asterisk/modules/app_directory_imap.so
+# - ncurses dep gone for good (replaced by libedit)?
+# - missing/failed features:
+# $ grep =0 build_tools/menuselect-deps
+# NBS=0 AST_EXT_LIB_SETUP([NBS], [Network Broadcast Sound], [nbs])
+# SS7=0 AST_EXT_LIB_SETUP([SS7], [ISDN SS7], [ss7])
+# VPBAPI=0 AST_EXT_LIB_SETUP([VPB], [Voicetronix API], [vpb])
+# - %attr(755,root,root) %{_libdir}/asterisk/modules/chan_usbradio.so
#
# Conditional build:
%bcond_with rxfax # without rx (also tx:-D) fax
%bcond_with zhone_hack # huge hack workarounding broken zhone channel banks which start randomly
# issuing pulse-dialled calls to weird numbers
%bcond_with bristuff # BRIstuff (Junghanns.NET BRI adapters) support
-%bcond_with verbose # verbose build
+%bcond_without apidocs # disable apidocs building
+%bcond_without verbose # verbose build
%define spandsp_version 0.0.2pre26
-%define rel 0.6
+%define rel 0.44
Summary: Asterisk PBX
Summary(pl.UTF-8): Centralka (PBX) Asterisk
Name: asterisk
# Source0-md5: d6bc1448b8fa274a2acaef1b15f4d485
Source1: %{name}.init
Source2: %{name}.sysconfig
-Source3: http://downloads.digium.com/pub/telephony/sounds/releases/%{name}-core-sounds-en-gsm-1.4.13.tar.gz
-# Source3-md5: 65add705003e9aebdb4cd03bd1a26f97
-Source4: http://downloads.digium.com/pub/telephony/
-# Source4-md5: e523fc2b4ac524f45da7815e97780540
Source5: %{name}.logrotate
Source10: http://soft-switch.org/downloads/spandsp/spandsp-%{spandsp_version}/asterisk-1.2.x/app_txfax.c
# Source10-md5: 8c8fcb263b76897022b4c28052a7b439
Source11: http://soft-switch.org/downloads/spandsp/spandsp-%{spandsp_version}/asterisk-1.2.x/app_rxfax.c
# Source11-md5: ab6983b51c412883545b36993d704999
+Patch0: mxml-system.patch
+Patch1: lua51-path.patch
Patch2: %{name}-no_k6_on_sparc.patch
Patch3: %{name}-lib.patch
Patch4: %{name}-ppc.patch
Patch5: external-libedit.patch
Patch6: pkg-config-gmime.patch
Patch7: FHS-paths.patch
+Patch8: libedit-history.patch
+Patch9: pld-banner.patch
# http://soft-switch.org/downloads/spandsp/spandsp-%{spandsp_version}/asterisk-1.2.x/apps_Makefile.patch
Patch10: %{name}-txfax-Makefile.patch
-Patch12: %{name}-chan_bluetooth.patch
-Patch13: %{name}-zhone.patch
+Patch11: %{name}-chan_bluetooth.patch
+Patch12: %{name}-zhone.patch
# http://svn.debian.org/wsvn/pkg-voip/asterisk/trunk/debian/patches/bristuff
-Patch14: %{name}-bristuff.patch
-Patch15: %{name}-bristuff-build.patch
-Patch16: %{name}-bristuff-libpri.patch
+Patch13: %{name}-bristuff.patch
+Patch14: %{name}-bristuff-build.patch
+Patch15: %{name}-bristuff-libpri.patch
+Patch16: lpc10-system.patch
+Patch17: gsm-libpoison.patch
URL: http://www.asterisk.org/
-BuildRequires: OSPToolkit
+BuildRequires: OSPToolkit-devel
BuildRequires: SDL_image-devel
BuildRequires: alsa-lib-devel
BuildRequires: autoconf
BuildRequires: jack-audio-connection-kit-devel
BuildRequires: libcap-devel
BuildRequires: libedit-devel
+BuildRequires: libgsm-devel
BuildRequires: libogg-devel
+BuildRequires: libresample-devel
BuildRequires: libvorbis-devel
+BuildRequires: lpc10-devel
+BuildRequires: lua51-devel
BuildRequires: mISDNuser-devel
+BuildRequires: mxml-devel
BuildRequires: mysql-devel
BuildRequires: ncurses-devel
BuildRequires: net-snmp-devel
BuildRequires: newt-devel
BuildRequires: openais-devel
-BuildRequires: openh323-devel
+BuildRequires: openh323-devel >= 1.19.0
BuildRequires: openldap-devel
BuildRequires: openssl-devel >= 0.9.7d
BuildRequires: pam-devel
BuildRequires: radiusclient-ng-devel
BuildRequires: rpmbuild(macros) >= 1.268
BuildRequires: sed >= 4.0
-BuildRequires: spandsp-devel
-%{?with_rxfax:BuildRequires: spandsp-devel >= %{spandsp_version}}
+BuildRequires: spandsp-devel >= 0.0.5
BuildRequires: speex-devel
BuildRequires: sqlite-devel
BuildRequires: sqlite3-devel
%endif
Requires(post,preun): /sbin/chkconfig
%if %{with fc}
-BuildRequires: libresample-devel
BuildRequires: libss7-devel >= 1.0.1
BuildRequires: libtool-ltdl-devel
BuildRequires: libusb-devel
BuildRequires: lm_sensors-devel
-BuildRequires: lua-devel
-BuildRequires: mISDN-devel
%endif
Requires: rc-scripts
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description apidocs
API documentation for Asterisk.
-%package examples
-Summary: Example files for the Asterisk PBX
-Summary(pl.UTF-8): Pliki przykładowe dla centralki Asterisk
-Group: Applications/System
-Requires: %{name} = %{version}-%{release}
-
-%description examples
-Example files for the Asterisk PBX.
-
-%description examples -l pl.UTF-8
-Pliki przykładowe dla centralki Asterisk.
-
%package ais
Summary: Modules for Asterisk that use OpenAIS
Group: Applications/Networking
%description alsa
Modules for Asterisk that use Alsa sound drivers.
+%package astman
+Summary: Astman is a text mode Manager for Asterisk
+Group: Applications/Networking
+
+%description astman
+Astman is a text mode Manager for Asterisk.
+
+Astman connects to Asterisk by TCP, so you can run Astman on a
+completely different computer than your Asterisk computer.
+
%package curl
Summary: Modules for Asterisk that use cURL
Group: Applications/Networking
Application for the Asterisk PBX that uses Festival to convert text to
speech.
+%package gsm
+Summary: Support GSM audio encoding/decoding
+Group: Applications/Networking
+Requires: %{name} = %{version}-%{release}
+
+%description gsm
+Support GSM audio encoding/decoding.
+
+%package h323
+Summary: H.323 protocol support for Asterisk
+Group: Applications/Networking
+Requires: %{name} = %{version}-%{release}
+
+%description h323
+This channel driver (chan_h323) provides support for the H.323
+protocol for Asterisk. This is an implementation originally
+contributed by NuFone and nowdays maintained and distributed by
+Digium, Inc. Hence, it is considered the official H.323 chanel driver.
+
+%package http
+Summary: HTTP Server Support
+Group: Applications/Networking
+Requires: %{name} = %{version}-%{release}
+
+%description http
+HTTP Server Support.
+
%package ices
Summary: Stream audio from Asterisk to an IceCast server
Group: Applications/Networking
%description ldap-fds
LDAP resources for Asterisk and the Fedora Directory Server.
+%package lpc10
+Summary: LPC-10 2400 bps Voice Codec support
+Group: Applications/Networking
+Requires: %{name} = %{version}-%{release}
+
+%description lpc10
+LPC-10 2400 bps Voice Codec support
+
%package misdn
Summary: mISDN channel for Asterisk
Group: Applications/Networking
%description odbc
Applications for Asterisk that use ODBC (except voicemail)
+%package osp
+Summary: Modules for Asterisk that use Open Settlement Protocol (OSP) Applications
+Group: Applications/Networking
+Requires: %{name} = %{version}-%{release}
+
+%description osp
+Open Settlement Protocol (OSP) Applications.
+
%package oss
Summary: Modules for Asterisk that use OSS sound drivers
Group: Applications/Networking
%description radius
Applications for Asterisk that use RADIUS.
+%package resample
+Summary: resample codec
+Group: Applications/Networking
+Requires: %{name} = %{version}-%{release}
+
+%description resample
+resample codec.
+
%package skinny
Summary: Modules for Asterisk that support the SCCP/Skinny protocol
Group: Applications/Networking
Summary: Module that enables SNMP monitoring of Asterisk
Group: Applications/Networking
Requires: %{name} = %{version}-%{release}
+Requires: mibs-dirs
%description snmp
Module that enables SNMP monitoring of Asterisk.
+%package speex
+Summary: Speex codec support
+Group: Applications/Networking
+Requires: %{name} = %{version}-%{release}
+
+%description speex
+Speex codec support.
+
%package sqlite
Summary: Sqlite modules for Asterisk
Group: Applications/Networking
Voicemail implementation for Asterisk that stores voicemail on the
local filesystem.
+%package vorbis
+Summary: Ogg Vorbis format support
+Group: Applications/Networking
+Requires: %{name} = %{version}-%{release}
+
+%description vorbis
+Ogg Vorbis format support.
+
%prep
%setup -q
+%patch0 -p1
+%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p0
%patch6 -p0
%patch7 -p0
-
+%patch8 -p1
+%patch9 -p1
%if %{with zhone}
sed -i -e 's|.*#define.*ZHONE_HACK.*|#define ZHONE_HACK 1|g' channels/chan_zap.c
%endif
-
%if %{with rxfax}
cd apps
%patch10 -p0
cp %{SOURCE10} .
cp %{SOURCE11} .
%endif
-
-%{?with_bluetooth:%patch12 -p1}
-%{?with_zhonehack:%patch13 -p1}
-
+%{?with_bluetooth:%patch11 -p1}
+%{?with_zhonehack:%patch12 -p1}
%if %{with bristuff}
+%patch13 -p1
%patch14 -p1
%patch15 -p1
-%patch16 -p1
%endif
+%patch16 -p1
+%patch17 -p1
# Fixup makefile so sound archives aren't downloaded/installed
%{__sed} -i -e 's/^all:.*$/all:/' sounds/Makefile
%{__sed} -i -e 's/^install:.*$/install:/' sounds/Makefile
-# avoid using it
-rm -rf imap
+# avoid using these
+rm -rf imap menuselect/mxml main/editline codecs/gsm codecs/lpc10
%build
rm -f pbx/.depend
%{__autoconf}
export ASTCFLAGS="%{rpmcflags}"
-export CPPFLAGS="%{rpmcppflags} -I/usr/include/openh323"
+export ASTLDFLAGS="%{rpmldflags}"
export WGET="/bin/true"
# be sure to invoke ./configure with our flags
-cd menuselect/mxml
-%configure2_13
-cd ../../
-
cd menuselect
-%{__aclocal}
+%{__aclocal} -I ../autoconf
%{__autoheader}
%{__autoconf}
-%configure
+# we need just plain cli for building
+%configure \
+ --without-newt \
+ --without-gtk2 \
+ --without-curses \
+ --without-ncurses
cd ..
-cd main/editline
-%configure2_13
-cd ../..
-
%configure \
%{?with_bristuff:--with-gsmat=%{_prefix}} \
--with-imap=system \
--with-gsm=/usr \
+ --with-lpc10=/usr \
--with-libedit=yes
# safe checks
cp -f .cleancount .lastclean
+# included conditionally, so make sure its there first
+%{__make} -C channels/h323 Makefile.ast \
+ %{?with_verbose:NOISY_BUILD=yes} \
+
%{__make} DEBUG= \
OPTIMIZE= \
ASTVARRUNDIR=%{_localstatedir}/run/asterisk \
touch apps/app_voicemail.o apps/app_directory.o
touch apps/app_voicemail.so apps/app_directory.so
-# it requires doxygen - I don't know if we should do this...
-# - ???
+%if %{with apidocs}
%{__make} progdocs \
DEBUG= \
OPTIMIZE= \
ASTVARLIBDIR=%{_datadir}/asterisk \
ASTDBDIR=%{_localstatedir}/spool/asterisk \
%{?with_verbose:NOISY_BUILD=yes} \
+%endif
%{__make} \
DEBUG= \
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{/var/{log/asterisk/cdr-csv,spool/asterisk/monitor},/etc/{rc.d/init.d,sysconfig,logrotate.d}}
-install %{SOURCE3} sounds
-install %{SOURCE4} sounds
-install %{SOURCE5} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
-
-%{__make} -j1 install \
- DESTDIR=$RPM_BUILD_ROOT
-%{__make} -j1 samples \
- DESTDIR=$RPM_BUILD_ROOT
-
-install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
-install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
-
-# unpackaged at this point
-#rm $RPM_BUILD_ROOT/var/lib/asterisk/moh/.asterisk-moh-opsound-wav
-#rm $RPM_BUILD_ROOT/var/lib/asterisk/moh/CHANGES-asterisk-moh-opsound-wav
-#rm $RPM_BUILD_ROOT/var/lib/asterisk/moh/CREDITS-asterisk-moh-opsound-wav
-#rm $RPM_BUILD_ROOT/var/lib/asterisk/moh/LICENSE-asterisk-moh-opsound-wav
-#rm $RPM_BUILD_ROOT/var/lib/asterisk/sounds/.asterisk-core-sounds-en-gsm-1.4.16
-#rm $RPM_BUILD_ROOT/var/lib/asterisk/sounds/en/CHANGES-asterisk-core-en-1.4.16
-#rm $RPM_BUILD_ROOT/var/lib/asterisk/sounds/en/core-sounds-en.txt
-#rm $RPM_BUILD_ROOT/var/lib/asterisk/sounds/en/CREDITS-asterisk-core-en-1.4.16
-#rm $RPM_BUILD_ROOT/var/lib/asterisk/sounds/en/LICENSE-asterisk-core-en-1.4.16
+export ASTCFLAGS="%{rpmcflags}"
+
+%{__make} install \
+ DEBUG= \
+ OPTIMIZE= \
+ DESTDIR=$RPM_BUILD_ROOT \
+ ASTVARRUNDIR=%{_localstatedir}/run/asterisk \
+ ASTDATADIR=%{_datadir}/asterisk \
+ ASTVARLIBDIR=%{_datadir}/asterisk \
+ ASTDBDIR=%{_localstatedir}/spool/asterisk
+
+%{__make} samples \
+ DEBUG= \
+ OPTIMIZE= \
+ DESTDIR=$RPM_BUILD_ROOT \
+ ASTVARRUNDIR=%{_localstatedir}/run/asterisk \
+ ASTDATADIR=%{_datadir}/asterisk \
+ ASTVARLIBDIR=%{_datadir}/asterisk \
+ ASTDBDIR=%{_localstatedir}/spool/asterisk
+
+rm $RPM_BUILD_ROOT%{_libdir}/asterisk/modules/app_directory.so
+rm $RPM_BUILD_ROOT%{_libdir}/asterisk/modules/app_voicemail.so
+install -D -p apps/app_directory_imap.so $RPM_BUILD_ROOT%{_libdir}/asterisk/modules
+install -D -p apps/app_voicemail_imap.so $RPM_BUILD_ROOT%{_libdir}/asterisk/modules
+install -D -p apps/app_directory_odbc.so $RPM_BUILD_ROOT%{_libdir}/asterisk/modules
+install -D -p apps/app_voicemail_odbc.so $RPM_BUILD_ROOT%{_libdir}/asterisk/modules
+install -D -p apps/app_directory_plain.so $RPM_BUILD_ROOT%{_libdir}/asterisk/modules
+install -D -p apps/app_voicemail_plain.so $RPM_BUILD_ROOT%{_libdir}/asterisk/modules
+
+install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
+cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
+cp -a %{SOURCE5} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
+install -D -p doc/asterisk-mib.txt $RPM_BUILD_ROOT%{_datadir}/mibs/ASTERISK-MIB.txt
+install -D -p doc/digium-mib.txt $RPM_BUILD_ROOT%{_datadir}/mibs/DIGIUM-MIB.txt
+
+# create some directories that need to be packaged
+install -d $RPM_BUILD_ROOT%{_datadir}/asterisk/moh
+install -d $RPM_BUILD_ROOT%{_datadir}/asterisk/sounds
+ln -s %{_localstatedir}/lib/asterisk/licenses $RPM_BUILD_ROOT%{_datadir}/asterisk/licenses
+
+install -d $RPM_BUILD_ROOT%{_localstatedir}/lib/asterisk/licenses
+install -d $RPM_BUILD_ROOT%{_localstatedir}/log/asterisk/cdr-custom
+install -d $RPM_BUILD_ROOT%{_localstatedir}/spool/asterisk/festival
+install -d $RPM_BUILD_ROOT%{_localstatedir}/spool/asterisk/monitor
+install -d $RPM_BUILD_ROOT%{_localstatedir}/spool/asterisk/outgoing
+install -d $RPM_BUILD_ROOT%{_localstatedir}/spool/asterisk/uploads
+
+# We're not going to package any of the sample AGI scripts
+rm -f $RPM_BUILD_ROOT%{_datadir}/asterisk/agi-bin/*
+
+# Don't package the sample voicemail user
+rm -rf $RPM_BUILD_ROOT%{_localstatedir}/spool/asterisk/voicemail/default
+
+# Don't package example phone provision configs
+rm -rf $RPM_BUILD_ROOT%{_datadir}/asterisk/phoneprov/*
+
+# these are compiled with -O0 and thus include unfortified code.
+rm -rf $RPM_BUILD_ROOT%{_sbindir}/hashtest
+rm -rf $RPM_BUILD_ROOT%{_sbindir}/hashtest2
+
+# we're not using safe_asterisk
+rm -f $RPM_BUILD_ROOT%{_sbindir}/safe_asterisk
+rm -f $RPM_BUILD_ROOT%{_mandir}/man8/safe_asterisk.8*
+
+rm -rf $RPM_BUILD_ROOT%{_datadir}/asterisk/firmware/iax/*
+
+%if %{with apidocs}
+find doc/api/html -name '*.map' -size 0 -delete
+%endif
%clean
rm -rf $RPM_BUILD_ROOT
%postun
if [ "$1" = 0 ]; then
- %groupremove asterisk
%userremove asterisk
+ %groupremove asterisk
fi
%pre dahdi
/sbin/chkconfig --del asterisk
fi
+%triggerpostun -- %{name} < 1.6.1.12-0.1
+# chown to asterisk previously root owned files
+# loose one (not one that cames from rpm), as we're not trying to split the
+# hair with file permission bits.
+chown -R asterisk:asterisk /var/spool/asterisk
+chown -R asterisk:asterisk /var/lib/asterisk
+
%files
%defattr(644,root,root,755)
%doc README* *.txt ChangeLog BUGS CREDITS configs
%doc doc/{asterisk.sgml,PEERING} doc/{backtrace,callfiles,externalivr,macroexclusive,manager_1_1,modules,queue}.txt
%doc doc/{rtp-packetization,siptls,smdi,sms,speechrec,ss7,video}.txt
-%attr(755,root,root) %{_sbindir}/*
+
+%attr(755,root,root) %{_sbindir}/aelparse
+%attr(755,root,root) %{_sbindir}/astcanary
+%attr(755,root,root) %{_sbindir}/asterisk
+%attr(755,root,root) %{_sbindir}/astgenkey
+%attr(755,root,root) %{_sbindir}/autosupport
+%attr(755,root,root) %{_sbindir}/conf2ael
+%attr(755,root,root) %{_sbindir}/muted
+%attr(755,root,root) %{_sbindir}/rasterisk
+%attr(755,root,root) %{_sbindir}/refcounter
+%attr(755,root,root) %{_sbindir}/smsq
+%attr(755,root,root) %{_sbindir}/stereorize
+%attr(755,root,root) %{_sbindir}/streamplayer
+%{_mandir}/man8/asterisk.8*
+%{_mandir}/man8/astgenkey.8*
+%{_mandir}/man8/autosupport.8*
+
%attr(754,root,root) /etc/rc.d/init.d/%{name}
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
%attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/extensions.conf
%attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/features.conf
%attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/followme.conf
-%attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/h323.conf
-%attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/http.conf
%attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/iax.conf
%attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/iaxprov.conf
%attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/indications.conf
%attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/modules.conf
%attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/musiconhold.conf
%attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/muted.conf
-%attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/osp.conf
%attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/phone.conf
%attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/phoneprov.conf
%attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/queuerules.conf
%attr(755,root,root) %{_libdir}/asterisk/modules/app_milliwatt.so
%attr(755,root,root) %{_libdir}/asterisk/modules/app_mixmonitor.so
%attr(755,root,root) %{_libdir}/asterisk/modules/app_morsecode.so
+%attr(755,root,root) %{_libdir}/asterisk/modules/app_mp3.so
%attr(755,root,root) %{_libdir}/asterisk/modules/app_nbscat.so
%attr(755,root,root) %{_libdir}/asterisk/modules/app_parkandannounce.so
%attr(755,root,root) %{_libdir}/asterisk/modules/app_playback.so
%attr(755,root,root) %{_libdir}/asterisk/modules/codec_a_mu.so
%attr(755,root,root) %{_libdir}/asterisk/modules/codec_g722.so
%attr(755,root,root) %{_libdir}/asterisk/modules/codec_g726.so
-%attr(755,root,root) %{_libdir}/asterisk/modules/codec_gsm.so
-%attr(755,root,root) %{_libdir}/asterisk/modules/codec_lpc10.so
-#%attr(755,root,root) %{_libdir}/asterisk/modules/codec_resample.so
-%attr(755,root,root) %{_libdir}/asterisk/modules/codec_speex.so
%attr(755,root,root) %{_libdir}/asterisk/modules/codec_ulaw.so
%attr(755,root,root) %{_libdir}/asterisk/modules/format_g723.so
%attr(755,root,root) %{_libdir}/asterisk/modules/format_g726.so
%attr(755,root,root) %{_libdir}/asterisk/modules/format_g729.so
-%attr(755,root,root) %{_libdir}/asterisk/modules/format_gsm.so
%attr(755,root,root) %{_libdir}/asterisk/modules/format_h263.so
%attr(755,root,root) %{_libdir}/asterisk/modules/format_h264.so
+%attr(755,root,root) %{_libdir}/asterisk/modules/format_ilbc.so
%attr(755,root,root) %{_libdir}/asterisk/modules/format_jpeg.so
-%attr(755,root,root) %{_libdir}/asterisk/modules/format_ogg_vorbis.so
%attr(755,root,root) %{_libdir}/asterisk/modules/format_pcm.so
-%attr(755,root,root) %{_libdir}/asterisk/modules/format_sln.so
%attr(755,root,root) %{_libdir}/asterisk/modules/format_sln16.so
+%attr(755,root,root) %{_libdir}/asterisk/modules/format_sln.so
%attr(755,root,root) %{_libdir}/asterisk/modules/format_vox.so
-%attr(755,root,root) %{_libdir}/asterisk/modules/format_wav_gsm.so
%attr(755,root,root) %{_libdir}/asterisk/modules/format_wav.so
%attr(755,root,root) %{_libdir}/asterisk/modules/func_audiohookinherit.so
%attr(755,root,root) %{_libdir}/asterisk/modules/func_base64.so
%attr(755,root,root) %{_libdir}/asterisk/modules/func_realtime.so
%attr(755,root,root) %{_libdir}/asterisk/modules/func_sha1.so
%attr(755,root,root) %{_libdir}/asterisk/modules/func_shell.so
-%attr(755,root,root) %{_libdir}/asterisk/modules/func_speex.so
%attr(755,root,root) %{_libdir}/asterisk/modules/func_strings.so
%attr(755,root,root) %{_libdir}/asterisk/modules/func_sysinfo.so
%attr(755,root,root) %{_libdir}/asterisk/modules/func_timeout.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_convert.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_crypto.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_indications.so
-%attr(755,root,root) %{_libdir}/asterisk/modules/res_http_post.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_limit.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_monitor.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_musiconhold.so
#%attr(755,root,root) %{_libdir}/asterisk/modules/test_dlinklists.so
#%attr(755,root,root) %{_libdir}/asterisk/modules/test_heap.so
-%dir /var/lib/asterisk
-%dir /var/lib/asterisk/agi-bin
-%dir /var/lib/asterisk/images
-%dir /var/lib/asterisk/keys
-
-#%dir /var/lib/asterisk/moh
-#/var/lib/asterisk/moh/*.wav
-#%dir /var/lib/asterisk/sounds
-#%dir /var/lib/asterisk/sounds/en
-#%dir /var/lib/asterisk/sounds/en/digits
-#%dir /var/lib/asterisk/sounds/en/dictate
-#%dir /var/lib/asterisk/sounds/en/followme
-#%dir /var/lib/asterisk/sounds/en/letters
-#%dir /var/lib/asterisk/sounds/en/phonetic
-#%dir /var/lib/asterisk/sounds/en/silence
-/var/lib/asterisk/images/*.jpg
-/var/lib/asterisk/keys/*.pub
-/var/lib/asterisk/phoneprov
-#/var/lib/asterisk/sounds/en/*.gsm
-#/var/lib/asterisk/sounds/en/digits/*.gsm
-#/var/lib/asterisk/sounds/en/dictate/*.gsm
-#/var/lib/asterisk/sounds/en/followme/*.gsm
-#/var/lib/asterisk/sounds/en/letters/*.gsm
-#/var/lib/asterisk/sounds/en/phonetic/*.gsm
-#/var/lib/asterisk/sounds/en/silence/*.gsm
-/var/lib/asterisk/static-http
-%dir /var/spool/asterisk
-%dir /var/spool/asterisk/monitor
-%dir /var/spool/asterisk/voicemail
-%dir /var/spool/asterisk/voicemail/default
-#%dir /var/spool/asterisk/voicemail/default/1234
-#%dir /var/spool/asterisk/voicemail/default/1234/en
-%dir /var/log/asterisk
-%dir /var/log/asterisk/cdr-csv
-%{_mandir}/man8/asterisk.8*
-%{_mandir}/man8/astgenkey.8*
-%{_mandir}/man8/autosupport.8*
-%{_mandir}/man8/safe_asterisk.8*
-%dir /var/lib/asterisk/firmware
-%dir /var/lib/asterisk/firmware/iax
-#/var/lib/asterisk/firmware/iax/iaxy.bin
+%dir %{_datadir}/asterisk
+%dir %{_datadir}/asterisk/agi-bin
+%dir %{_datadir}/asterisk/firmware
+%dir %{_datadir}/asterisk/firmware/iax
+%dir %{_datadir}/asterisk/images
+%dir %{_datadir}/asterisk/moh
+%dir %{_datadir}/asterisk/sounds
+%dir %attr(750,root,asterisk) %{_datadir}/asterisk/keys
+# no need to protect publicly downloaded and packaged .pub
+%{_datadir}/asterisk/keys/*.pub
+%{_datadir}/asterisk/images/*.jpg
+%{_datadir}/asterisk/phoneprov
+%{_datadir}/asterisk/licenses
+
+%attr(770,root,asterisk) %dir %{_localstatedir}/lib/asterisk
+%dir %attr(750,root,asterisk) %{_localstatedir}/lib/asterisk/licenses
+
+%attr(770,root,asterisk) %dir %{_localstatedir}/log/asterisk
+%attr(770,root,asterisk) %dir %{_localstatedir}/log/asterisk/cdr-csv
+%attr(770,root,asterisk) %dir %{_localstatedir}/log/asterisk/cdr-custom
+
+%attr(770,root,asterisk) %dir %{_localstatedir}/spool/asterisk
+%attr(770,root,asterisk) %dir %{_localstatedir}/spool/asterisk/monitor
+%attr(770,root,asterisk) %dir %{_localstatedir}/spool/asterisk/outgoing
+%attr(770,root,asterisk) %dir %{_localstatedir}/spool/asterisk/tmp
+%attr(770,root,asterisk) %dir %{_localstatedir}/spool/asterisk/uploads
+%attr(770,root,asterisk) %dir %{_localstatedir}/spool/asterisk/voicemail
+
+%attr(775,root,asterisk) %dir %{_localstatedir}/run/asterisk
%files devel
%defattr(644,root,root,755)
%{_includedir}/asterisk/*.h
%{_includedir}/asterisk.h
-%files examples
-%defattr(644,root,root,755)
-%attr(755,root,root) /var/lib/asterisk/agi-bin/agi-test.agi
-%attr(755,root,root) /var/lib/asterisk/agi-bin/eagi-sphinx-test
-%attr(755,root,root) /var/lib/asterisk/agi-bin/eagi-test
-%attr(755,root,root) /var/lib/asterisk/agi-bin/jukebox.agi
-#/var/spool/asterisk/voicemail/default/1234/en/busy.gsm
-#/var/spool/asterisk/voicemail/default/1234/en/unavail.gsm
-
+%if %{with apidocs}
%files apidocs
%defattr(644,root,root,755)
-#%doc doc/api/html/*
+%doc doc/api/html/*
+%endif
%files ais
%defattr(644,root,root,755)
%attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/alsa.conf
%attr(755,root,root) %{_libdir}/asterisk/modules/chan_alsa.so
+%files astman
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_sbindir}/astman
+
%files curl
%defattr(644,root,root,755)
%doc contrib/scripts/dbsep.cgi
%files festival
%defattr(644,root,root,755)
%attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/festival.conf
-#%attr(770,root,asterisk) %dir %{_localstatedir}/spool/asterisk/festival
+%attr(770,root,asterisk) %dir %{_localstatedir}/spool/asterisk/festival
%attr(755,root,root) %{_libdir}/asterisk/modules/app_festival.so
+%files gsm
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/asterisk/modules/codec_gsm.so
+%attr(755,root,root) %{_libdir}/asterisk/modules/format_gsm.so
+%attr(755,root,root) %{_libdir}/asterisk/modules/format_wav_gsm.so
+
+%files h323
+%defattr(644,root,root,755)
+%attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/h323.conf
+%attr(755,root,root) %{_libdir}/asterisk/modules/chan_h323.so
+
+%files http
+%defattr(644,root,root,755)
+%attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/http.conf
+%attr(755,root,root) %{_libdir}/asterisk/modules/res_http_post.so
+%{_datadir}/asterisk/static-http
+
%files ices
%defattr(644,root,root,755)
%doc contrib/asterisk-ices.xml
%files jack
%defattr(644,root,root,755)
-#%attr(755,root,root) %{_libdir}/asterisk/modules/app_jack.so
+%attr(755,root,root) %{_libdir}/asterisk/modules/app_jack.so
%files lua
%defattr(644,root,root,755)
%attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/extensions.lua
-#%attr(755,root,root) %{_libdir}/asterisk/modules/pbx_lua.so
+%attr(755,root,root) %{_libdir}/asterisk/modules/pbx_lua.so
%files ldap
%defattr(644,root,root,755)
%attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/res_ldap.conf
%attr(755,root,root) %{_libdir}/asterisk/modules/res_config_ldap.so
+%if 0
%files ldap-fds
%defattr(644,root,root,755)
-#%{_sysconfdir}/dirsrv/schema/99asterisk.ldif
+%{_sysconfdir}/dirsrv/schema/99asterisk.ldif
+%endif
+
+%files lpc10
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/asterisk/modules/codec_lpc10.so
%files minivm
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/asterisk/modules/res_config_odbc.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_odbc.so
+%files osp
+%defattr(644,root,root,755)
+%attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/osp.conf
+%attr(755,root,root) %{_libdir}/asterisk/modules/app_osplookup.so
+
%files oss
%defattr(644,root,root,755)
%attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/oss.conf
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/asterisk/modules/cdr_radius.so
+%files resample
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/asterisk/modules/codec_resample.so
+
%files skinny
%defattr(644,root,root,755)
%attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/skinny.conf
%doc doc/snmp.txt
%attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/res_snmp.conf
%attr(755,root,root) %{_libdir}/asterisk/modules/res_snmp.so
-#%{_datadir}/snmp/mibs/ASTERISK-MIB.txt
-#%{_datadir}/snmp/mibs/DIGIUM-MIB.txt
+%{_datadir}/mibs/ASTERISK-MIB.txt
+%{_datadir}/mibs/DIGIUM-MIB.txt
+
+%files speex
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/asterisk/modules/codec_speex.so
+%attr(755,root,root) %{_libdir}/asterisk/modules/func_speex.so
%files sqlite
%defattr(644,root,root,755)
%attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/cdr_sqlite3_custom.conf
%attr(755,root,root) %{_libdir}/asterisk/modules/cdr_sqlite3_custom.so
+%attr(755,root,root) %{_libdir}/asterisk/modules/cdr_sqlite.so
+%attr(755,root,root) %{_libdir}/asterisk/modules/res_config_sqlite.so
%files tds
%defattr(644,root,root,755)
%files voicemail-imap
%defattr(644,root,root,755)
-#%attr(755,root,root) %{_libdir}/asterisk/modules/app_directory_imap.so
-#%attr(755,root,root) %{_libdir}/asterisk/modules/app_voicemail_imap.so
+%attr(755,root,root) %{_libdir}/asterisk/modules/app_directory_imap.so
+%attr(755,root,root) %{_libdir}/asterisk/modules/app_voicemail_imap.so
%files voicemail-odbc
%defattr(644,root,root,755)
%doc doc/voicemail_odbc_postgresql.txt
-#%attr(755,root,root) %{_libdir}/asterisk/modules/app_directory_odbc.so
-#%attr(755,root,root) %{_libdir}/asterisk/modules/app_voicemail_odbc.so
+%attr(755,root,root) %{_libdir}/asterisk/modules/app_directory_odbc.so
+%attr(755,root,root) %{_libdir}/asterisk/modules/app_voicemail_odbc.so
%files voicemail-plain
%defattr(644,root,root,755)
-#%attr(755,root,root) %{_libdir}/asterisk/modules/app_directory_plain.so
-#%attr(755,root,root) %{_libdir}/asterisk/modules/app_voicemail_plain.so
+%attr(755,root,root) %{_libdir}/asterisk/modules/app_directory_plain.so
+%attr(755,root,root) %{_libdir}/asterisk/modules/app_voicemail_plain.so
+
+%files vorbis
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/asterisk/modules/format_ogg_vorbis.so