X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=asterisk.spec;h=785ce0ba17ef8c3909e11ff7566624a3ebd464bf;hb=6cb756791765b364c10998a374580239e5555cb5;hp=e165ec5e907f3d90eeb8f1b1e4f2355a9ab3ade3;hpb=8e8fa77e30c942227da9b128a3e130ad07d157ce;p=packages%2Fasterisk.git diff --git a/asterisk.spec b/asterisk.spec index e165ec5..785ce0b 100644 --- a/asterisk.spec +++ b/asterisk.spec @@ -9,8 +9,6 @@ # - vpb (libvpb, vpbapi.h) # - make package for moh sound files # - build res_ari_mailboxes as an alternative for voicemail subpackages -# - +x missing: -# ldd: warning: you do not have execution permission for `/usr/lib/libasteriskssl.so.1' # # Conditional build: %bcond_with corosync # res_corosync module (broken in 12.0.0) @@ -29,21 +27,36 @@ %bcond_without pjsip # build without PJSIP stack %bcond_without opus_vp8 # build without Opus codec and VP8 passthrough %bcond_with malloc_debug # build with MALLOC_DEBUG +%bcond_with system_pjproject # build with system pjproject (see below) %bcond_without apidocs # disable apidocs building %bcond_without verbose # verbose build +# NOTE: +# Building with system pjproject may be not a good idea. pjproject comes +# optimized for client usage and asterisk is a SIP server. Asterisk requries +# pjproject properly patched and configured and keeping our pjproject in sync +# with Asterisk requirements may be tricky. Also, Asterisk is the only +# package using pjproject in PLD, so there is little gain with using system +# one. +# +# Before switching the 'system_pjproject' bcond make sure the pjproject +# package is updated to the version used by Asterisk, with all Asterisk +# patches applied and with configuration synced. + +%define pjproject_version 2.7.2 + %define opus_commit a6b9521f10817c1f39f21f90fecd3f00bbb164d0 Summary: Asterisk PBX Summary(pl.UTF-8): Centralka (PBX) Asterisk Name: asterisk -Version: 13.15.0 -Release: 2 +Version: 15.6.0 +Release: 4 License: GPL v2 Group: Applications/System Source0: http://downloads.digium.com/pub/asterisk/releases/%{name}-%{version}.tar.gz -# Source0-md5: 9f72e200b01e7ccc7e8d44bb5d9ff3c7 +# Source0-md5: 195f02b0c6118852525e027a1a610ea5 Source1: %{name}.init Source2: %{name}.sysconfig Source3: %{name}.tmpfiles @@ -55,15 +68,16 @@ Source7: menuselect.makeopts # https://github.com/traud/asterisk-opus Source8: https://github.com/seanbright/asterisk-opus/archive/%{opus_commit}/asterisk-opus-%{opus_commit}.tar.gz # Source8-md5: d2deae1095b6b42331d3060700c25493 -Patch0: lua51-path.patch +Source9: https://raw.githubusercontent.com/asterisk/third-party/master/pjproject/%{pjproject_version}/pjproject-%{pjproject_version}.tar.bz2 +# Source9-md5: fa3f0bc098c4bff48ddd92db1c016a7a +Patch0: lua_versions.patch Patch1: %{name}-ppc.patch Patch2: FHS-paths.patch Patch3: pld-banner.patch Patch4: lpc10-system.patch Patch5: %{name}-histedit.patch Patch6: x32.patch -Patch7: %{name}-ilbc.patch -Patch8: asterisk-opus.patch +#Patch7: %{name}-ilbc.patch URL: http://www.asterisk.org/ BuildRequires: OSPToolkit-devel >= 4.0.0 %{?with_oss:BuildRequires: SDL-devel} @@ -87,9 +101,10 @@ BuildRequires: gcc >= 5:3.4 # TODO: switch to 2.6 BuildRequires: gmime22-devel BuildRequires: iksemel-devel -BuildRequires: imap-devel +BuildRequires: imap-devel >= 1:2007f-5 %{?with_jack:BuildRequires: jack-audio-connection-kit-devel} -BuildRequires: jansson-devel +BuildRequires: jansson-devel >= 2.11-2 +BuildRequires: libatomic-devel BuildRequires: libcap-devel BuildRequires: libedit-devel BuildRequires: libgsm-devel @@ -103,7 +118,7 @@ BuildRequires: libvorbis-devel BuildRequires: libxml2-devel >= 2.0 BuildRequires: libxslt-devel BuildRequires: lpc10-devel -BuildRequires: lua51-devel >= 5.1 +BuildRequires: lua53-devel >= 5.3 #BuildRequires: mISDNuser-devel < 2 %{?with_mysql:BuildRequires: mysql-devel} BuildRequires: ncurses-devel @@ -115,7 +130,9 @@ BuildRequires: openssl-devel >= 0.9.7d BuildRequires: opus-devel %{?with_opus_vp8:BuildRequires: opusfile-devel} BuildRequires: pam-devel -%{?with_pjsip:BuildRequires: pjproject-devel >= 2.3} +%if %{with system_pjproject} && %{with pjsip} +BuildRequires: pjproject-devel >= 2.6-4 +%endif BuildRequires: pkgconfig BuildRequires: popt-devel %{?with_portaudio:BuildRequires: portaudio-devel >= 19} @@ -128,14 +145,15 @@ BuildRequires: speex-devel BuildRequires: speexdsp-devel %{?with_sqlite2:BuildRequires: sqlite-devel >= 2} BuildRequires: sqlite3-devel -BuildRequires: srtp-devel -Requires(post,preun,postun): systemd-units >= 38 -Requires: systemd-units >= 0.38 +BuildRequires: libsrtp2-devel +BuildRequires: unbound-devel %{?with_odbc:BuildRequires: unixODBC-devel} BuildRequires: uriparser-devel %{?with_ilbc:BuildRequires: webrtc-libilbc-devel >= 2} BuildRequires: xorg-lib-libX11-devel BuildRequires: zlib-devel +Requires(post,preun,postun): systemd-units >= 38 +Requires: systemd-units >= 0.38 Requires(post,preun): /sbin/chkconfig Requires(postun): /usr/sbin/groupdel Requires(postun): /usr/sbin/userdel @@ -146,13 +164,18 @@ Requires(pre): /usr/sbin/useradd Requires: rc-scripts Provides: group(asterisk) Provides: user(asterisk) +#Obsoletes: asterisk-ais # should be in -corosync package (when built)? +Obsoletes: asterisk-examples +Obsoletes: asterisk-h323 < 13 +#Obsoletes: asterisk-misdn # what is the status of this plugin? +Obsoletes: asterisk-usbradio < 10.4.0 Conflicts: logrotate < 3.8.0 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) # references symbols in the asterisk binary -%define skip_post_check_so libasteriskssl.so.* +%define skip_post_check_so libasteriskssl.so.* libasteriskpj.so.* -%define _noautoprovfiles %{_libdir}/asterisk/modules/.* +%define _noautoprovfiles %{_libdir}/asterisk/modules/.* %description Asterisk is an Open Source PBX and telephony development platform that @@ -499,6 +522,7 @@ Moduł Asteriska wykorzystujący sterowniki dźwięku OSS. Summary: PJSIP Asterisk modules Summary(pl.UTF-8): Moduły Asteriska PJSIP Group: Applications/Networking +Requires: pjproject >= 2.6-4 Requires: %{name} = %{version}-%{release} %description pjsip @@ -768,10 +792,8 @@ Dokumentacja API Asteriska. %patch4 -p1 %patch5 -p1 %patch6 -p1 -%patch7 -p1 %if %{with opus_vp8} -%patch8 -p1 cp -a asterisk-opus-%{opus_commit}/codecs/* codecs cp -a asterisk-opus-%{opus_commit}/formats/* formats @@ -779,6 +801,12 @@ cp -a asterisk-opus-%{opus_commit}/res/* rest cp -a asterisk-opus-%{opus_commit}/include/asterisk/* include/asterisk %endif +%if %{without system_pjproject} && %{with pjsip} +mkdir externals +ln -s %{SOURCE9} externals +md5sum %{SOURCE9} > externals/pjproject-%{pjproject_version}.md5 +%endif + # 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 @@ -795,6 +823,11 @@ export ASTCFLAGS="%{rpmcflags}" export ASTLDFLAGS="%{rpmldflags}" export WGET="/bin/true" +%if %{without system_pjproject} && %{with pjsip} +export EXTERNALS_CACHE_DIR="$PWD/externals" +export PJPROJECT_CONFIGURE_OPTS="--disable-bcg729" +%endif + # be sure to invoke ./configure with our flags cd menuselect %{__aclocal} -I ../autoconf @@ -809,6 +842,9 @@ cd menuselect cd .. %configure \ + %{__without_if system_pjproject pjproject-bundled} \ + --without-jansson-bundled \ + --with-unbound \ %{__without oss SDL_image} \ %{__without bluetooth bluetooth} \ --without-gtk2 \ @@ -1098,7 +1134,7 @@ chown -R asterisk:asterisk /var/lib/asterisk %files %defattr(644,root,root,755) -%doc README *.txt ChangeLog BUGS CREDITS configs +%doc README*.md *.txt ChangeLog CHANGES BUGS CREDITS configs LICENSE %doc doc/asterisk.sgml %attr(755,root,root) %{_sbindir}/astcanary @@ -1163,6 +1199,7 @@ chown -R asterisk:asterisk /var/lib/asterisk %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(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/queues.conf +%attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/resolver_unbound.conf %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/res_parking.conf %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/res_pktccops.conf %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/res_stun_monitor.conf @@ -1180,7 +1217,10 @@ chown -R asterisk:asterisk /var/lib/asterisk %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/users.conf %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/vpb.conf -%{_libdir}/libasteriskssl.so.1 +%attr(755,root,root) %{_libdir}/libasteriskssl.so.1 +%if %{without system_pjproject} && %{with pjsip} +%attr(755,root,root) %{_libdir}/libasteriskpj.so.2 +%endif %dir %{_libdir}/asterisk %dir %{_libdir}/asterisk/modules @@ -1190,6 +1230,7 @@ chown -R asterisk:asterisk /var/lib/asterisk %attr(755,root,root) %{_libdir}/asterisk/modules/app_alarmreceiver.so %attr(755,root,root) %{_libdir}/asterisk/modules/app_amd.so %attr(755,root,root) %{_libdir}/asterisk/modules/app_authenticate.so +%attr(755,root,root) %{_libdir}/asterisk/modules/app_bridgeaddchan.so %attr(755,root,root) %{_libdir}/asterisk/modules/app_bridgewait.so %attr(755,root,root) %{_libdir}/asterisk/modules/app_cdr.so %attr(755,root,root) %{_libdir}/asterisk/modules/app_celgenuserevent.so @@ -1236,6 +1277,8 @@ chown -R asterisk:asterisk /var/lib/asterisk %attr(755,root,root) %{_libdir}/asterisk/modules/app_speech_utils.so %attr(755,root,root) %{_libdir}/asterisk/modules/app_stack.so %attr(755,root,root) %{_libdir}/asterisk/modules/app_stasis.so +%attr(755,root,root) %{_libdir}/asterisk/modules/app_statsd.so +%attr(755,root,root) %{_libdir}/asterisk/modules/app_stream_echo.so %attr(755,root,root) %{_libdir}/asterisk/modules/app_system.so %attr(755,root,root) %{_libdir}/asterisk/modules/app_talkdetect.so %attr(755,root,root) %{_libdir}/asterisk/modules/app_test.so @@ -1263,8 +1306,7 @@ chown -R asterisk:asterisk /var/lib/asterisk %attr(755,root,root) %{_libdir}/asterisk/modules/chan_bridge_media.so %attr(755,root,root) %{_libdir}/asterisk/modules/chan_iax2.so %attr(755,root,root) %{_libdir}/asterisk/modules/chan_mgcp.so -%attr(755,root,root) %{_libdir}/asterisk/modules/chan_multicast_rtp.so -%attr(755,root,root) %{_libdir}/asterisk/modules/chan_phone.so +#%attr(755,root,root) %{_libdir}/asterisk/modules/chan_phone.so %attr(755,root,root) %{_libdir}/asterisk/modules/chan_rtp.so %attr(755,root,root) %{_libdir}/asterisk/modules/chan_sip.so %attr(755,root,root) %{_libdir}/asterisk/modules/codec_a_mu.so @@ -1373,6 +1415,7 @@ chown -R asterisk:asterisk /var/lib/asterisk %if %{with opus_vp8} %attr(755,root,root) %{_libdir}/asterisk/modules/res_format_attr_vp8.so %endif +%attr(755,root,root) %{_libdir}/asterisk/modules/res_http_media_cache.so %attr(755,root,root) %{_libdir}/asterisk/modules/res_http_websocket.so %attr(755,root,root) %{_libdir}/asterisk/modules/res_limit.so %attr(755,root,root) %{_libdir}/asterisk/modules/res_manager_devicestate.so @@ -1386,9 +1429,11 @@ chown -R asterisk:asterisk /var/lib/asterisk %attr(755,root,root) %{_libdir}/asterisk/modules/res_phoneprov.so %attr(755,root,root) %{_libdir}/asterisk/modules/res_pktccops.so %attr(755,root,root) %{_libdir}/asterisk/modules/res_realtime.so +%attr(755,root,root) %{_libdir}/asterisk/modules/res_resolver_unbound.so # res_rtp_asterisk.so pulls some pjproject libs, but it still looks like a core module %attr(755,root,root) %{_libdir}/asterisk/modules/res_rtp_asterisk.so %attr(755,root,root) %{_libdir}/asterisk/modules/res_rtp_multicast.so +#%attr(755,root,root) %{_libdir}/asterisk/modules/res_sdp_translator_pjmedia.so %attr(755,root,root) %{_libdir}/asterisk/modules/res_security_log.so %attr(755,root,root) %{_libdir}/asterisk/modules/res_smdi.so %attr(755,root,root) %{_libdir}/asterisk/modules/res_sorcery_astdb.so @@ -1453,6 +1498,9 @@ chown -R asterisk:asterisk /var/lib/asterisk %files devel %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libasteriskssl.so +%if %{without system_pjproject} && %{with pjsip} +%attr(755,root,root) %{_libdir}/libasteriskpj.so +%endif %dir %{_includedir}/asterisk %{_includedir}/asterisk/*.h %{_includedir}/asterisk.h @@ -1554,6 +1602,7 @@ chown -R asterisk:asterisk /var/lib/asterisk %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/asterisk/modules/codec_ilbc.so %attr(755,root,root) %{_libdir}/asterisk/modules/format_ilbc.so +%attr(755,root,root) %{_libdir}/asterisk/modules/res_format_attr_ilbc.so %endif %files jabber @@ -1702,7 +1751,6 @@ chown -R asterisk:asterisk /var/lib/asterisk %attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip_sips_contact.so %attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip.so %attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip_t38.so -%attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip_transport_management.so %attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip_transport_websocket.so %attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip_xpidf_body_generator.so %endif @@ -1752,6 +1800,7 @@ chown -R asterisk:asterisk /var/lib/asterisk %files speex %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/asterisk/modules/codec_speex.so +%attr(755,root,root) %{_libdir}/asterisk/modules/format_ogg_speex.so %attr(755,root,root) %{_libdir}/asterisk/modules/func_speex.so %if %{with sqlite2}