]> git.pld-linux.org Git - packages/asterisk.git/blobdiff - asterisk.spec
- no /usr/lib poison on lib64 systems
[packages/asterisk.git] / asterisk.spec
index bcf3cd6a07af23759d24e58f90cc46c82d4372e3..804817ee87d5e9903755464f2d15ad00e1c8e0db 100644 (file)
@@ -1,22 +1,28 @@
 # TODO:
 # - cgi-bin package - separate, because of suid-root
-# - use shared versions of lpc10, gsm,...
+# - use shared versions of LIBILBC:=ilbc/libilbc.a (ilbc not enabled currently)
 # - CFLAGS passing
 # - fix bluetooth patch
-# - 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
-# - package:
-#   /usr/lib64/asterisk/modules/app_mp3.so
-#   /usr/lib64/asterisk/modules/cdr_sqlite.so
-#   /usr/lib64/asterisk/modules/format_ilbc.so
-#   /usr/lib64/asterisk/modules/res_config_sqlite.so
-# - package for moh sound files
+# - 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
+#   H323=0
+#   HOARD=0
+#   NBS=0
+#   OSPTK=0
+#   RESAMPLE=0
+#   SS7=0
+#   VPBAPI=0
+#   WINARCH=0
 #
 # 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.11
+%define                rel     0.38
 Summary:       Asterisk PBX
 Summary(pl.UTF-8):     Centralka (PBX) Asterisk
 Name:          asterisk
@@ -45,20 +52,26 @@ Source10:   http://soft-switch.org/downloads/spandsp/spandsp-%{spandsp_version}/as
 # 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: SDL_image-devel
@@ -79,15 +92,19 @@ BuildRequires:      imap-devel
 BuildRequires: jack-audio-connection-kit-devel
 BuildRequires: libcap-devel
 BuildRequires: libedit-devel
+BuildRequires: libgsm-devel
 BuildRequires: libogg-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
@@ -99,8 +116,7 @@ BuildRequires:       pwlib-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
@@ -128,7 +144,6 @@ 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
@@ -229,6 +244,17 @@ Requires:  festival
 Application for the Asterisk PBX that uses Festival to convert text to
 speech.
 
+%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 ices
 Summary:       Stream audio from Asterisk to an IceCast server
 Group:         Applications/Networking
@@ -351,6 +377,7 @@ Modules for Asterisk that support the SCCP/Skinny protocol.
 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.
@@ -433,39 +460,41 @@ local filesystem.
 
 %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
@@ -475,29 +504,27 @@ 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
@@ -505,6 +532,10 @@ cd ../..
 
 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 \
@@ -547,8 +578,7 @@ mv apps/app_directory.so apps/app_directory_odbc.so
 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= \
@@ -557,6 +587,7 @@ touch apps/app_voicemail.so apps/app_directory.so
        ASTVARLIBDIR=%{_datadir}/asterisk \
        ASTDBDIR=%{_localstatedir}/spool/asterisk \
        %{?with_verbose:NOISY_BUILD=yes} \
+%endif
 
 %{__make} \
        DEBUG= \
@@ -618,12 +649,13 @@ install -D -p apps/app_voicemail_plain.so $RPM_BUILD_ROOT%{_libdir}/asterisk/mod
 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}/snmp/mibs/ASTERISK-MIB.txt
-install -D -p doc/digium-mib.txt $RPM_BUILD_ROOT%{_datadir}/snmp/mibs/DIGIUM-MIB.txt
+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
+install -d $RPM_BUILD_ROOT%{_datadir}/asterisk/licenses
 install -d $RPM_BUILD_ROOT%{_localstatedir}/lib/asterisk
 install -d $RPM_BUILD_ROOT%{_localstatedir}/log/asterisk/cdr-custom
 install -d $RPM_BUILD_ROOT%{_localstatedir}/spool/asterisk/festival
@@ -631,6 +663,9 @@ 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
 
+# upstream prebuilt binaries (register, benchg729) use /var location
+ln -s %{_datadir}/asterisk/licenses $RPM_BUILD_ROOT%{_localstatedir}/lib/asterisk
+
 # We're not going to package any of the sample AGI scripts
 rm -f $RPM_BUILD_ROOT%{_datadir}/asterisk/agi-bin/*
 
@@ -646,7 +681,9 @@ rm -rf $RPM_BUILD_ROOT%{_sbindir}/hashtest2
 
 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
@@ -657,8 +694,8 @@ rm -rf $RPM_BUILD_ROOT
 
 %postun
 if [ "$1" = 0 ]; then
-       %groupremove asterisk
        %userremove asterisk
+       %groupremove asterisk
 fi
 
 %pre dahdi
@@ -678,6 +715,13 @@ if [ "$1" = "0" ]; then
        /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
@@ -729,7 +773,6 @@ fi
 %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
@@ -785,6 +828,7 @@ fi
 %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
@@ -830,7 +874,6 @@ fi
 %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
@@ -839,11 +882,12 @@ fi
 %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
@@ -893,8 +937,8 @@ fi
 %attr(755,root,root) %{_libdir}/asterisk/modules/res_clioriginate.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_indications.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
@@ -903,6 +947,7 @@ fi
 %attr(755,root,root) %{_libdir}/asterisk/modules/res_smdi.so
 %attr(755,root,root) %{_libdir}/asterisk/modules/res_speech.so
 %attr(755,root,root) %{_libdir}/asterisk/modules/res_timing_pthread.so
+#%attr(755,root,root) %{_libdir}/asterisk/modules/codec_resample.so
 #%attr(755,root,root) %{_libdir}/asterisk/modules/test_dlinklists.so
 #%attr(755,root,root) %{_libdir}/asterisk/modules/test_heap.so
 
@@ -913,13 +958,16 @@ fi
 %dir %{_datadir}/asterisk/images
 %dir %{_datadir}/asterisk/moh
 %dir %{_datadir}/asterisk/sounds
+%dir %attr(750,root,asterisk) %{_datadir}/asterisk/licenses
 %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/static-http
 %{_datadir}/asterisk/phoneprov
 
 %attr(770,root,asterisk) %dir %{_localstatedir}/lib/asterisk
+%{_localstatedir}/lib/asterisk/licenses
 
 %attr(770,root,asterisk) %dir %{_localstatedir}/log/asterisk
 %attr(770,root,asterisk) %dir %{_localstatedir}/log/asterisk/cdr-csv
@@ -941,9 +989,11 @@ fi
 %{_includedir}/asterisk/*.h
 %{_includedir}/asterisk.h
 
+%if %{with apidocs}
 %files apidocs
 %defattr(644,root,root,755)
 %doc doc/api/html/*
+%endif
 
 %files ais
 %defattr(644,root,root,755)
@@ -991,6 +1041,11 @@ fi
 #%attr(770,root,asterisk) %dir %{_localstatedir}/spool/asterisk/festival
 %attr(755,root,root) %{_libdir}/asterisk/modules/app_festival.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 ices
 %defattr(644,root,root,755)
 %doc contrib/asterisk-ices.xml
@@ -1014,7 +1069,7 @@ fi
 %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)
@@ -1083,14 +1138,15 @@ fi
 %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
-# XXX: system mibs dir
-%{_datadir}/snmp/mibs/ASTERISK-MIB.txt
-%{_datadir}/snmp/mibs/DIGIUM-MIB.txt
+%{_datadir}/mibs/ASTERISK-MIB.txt
+%{_datadir}/mibs/DIGIUM-MIB.txt
 
 %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)
This page took 0.082322 seconds and 4 git commands to generate.