[packages/asterisk/ASTERISK_12] bconds for some optional features

jajcus jajcus at pld-linux.org
Wed Jan 8 16:05:27 CET 2014


commit d0d7a1164d19ac008eba9f388a4396e2eeb9f00d
Author: Jacek Konieczny <j.konieczny at eggsoft.pl>
Date:   Wed Jan 8 14:52:16 2014 +0100

    bconds for some optional features

 asterisk.spec | 176 +++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 file changed, 150 insertions(+), 26 deletions(-)
---
diff --git a/asterisk.spec b/asterisk.spec
index 8a08436..5073230 100644
--- a/asterisk.spec
+++ b/asterisk.spec
@@ -6,6 +6,18 @@
 %bcond_with	h323		# without h323 support
 %bcond_with	corosync	# res_corosync module (broken in 12.0.0)
 %bcond_without	sqlite2		# build without old sqlite support
+%bcond_without	oss		# build without OSS audio support (SDL dependency)
+%bcond_without	tds		# build without TDS support
+%bcond_without	ilbc		# build without iLBC codec support
+%bcond_without	ldap		# build without LDAP support
+%bcond_without	portaudio	# build without PortAudio support
+%bcond_without	bluetooth	# build without PortAudio support
+%bcond_without	jack		# build without JACK support
+%bcond_without	mysql		# build without MySQL support
+%bcond_without	pgsql		# build without PostgreSQL support
+%bcond_without	odbc		# build without ODBC support
+%bcond_without	radius		# build without Radius support
+%bcond_without	pjsip		# build without PJSIP stack
 
 %bcond_without	apidocs		# disable apidocs building
 %bcond_without	verbose		# verbose build
@@ -37,24 +49,24 @@ Patch6:		lpc10-system.patch
 Patch7:		%{name}-histedit.patch
 URL:		http://www.asterisk.org/
 BuildRequires:	OSPToolkit-devel >= 4.0.0
-BuildRequires:	SDL_image-devel
+%{?with_oss:BuildRequires:	SDL_image-devel}
 BuildRequires:	alsa-lib-devel
 BuildRequires:	autoconf
 BuildRequires:	automake
 BuildRequires:	bison
-BuildRequires:	bluez-libs-devel
+%{?with_bluetooth:BuildRequires:	bluez-libs-devel}
 %{?with_corosync:BuildRequires:	corosync-devel >= 2.0.0}
 BuildRequires:	curl-devel
 BuildRequires:	dahdi-linux-devel
 BuildRequires:	dahdi-tools-devel >= 2.0.0
 BuildRequires:	doxygen
-BuildRequires:	freetds-devel >= 0.63
+%{?with_tds:BuildRequires:	freetds-devel >= 0.63}
 BuildRequires:	gawk
 BuildRequires:	gcc >= 5:3.4
 BuildRequires:	gmime22-devel
 BuildRequires:	iksemel-devel
 BuildRequires:	imap-devel
-BuildRequires:	jack-audio-connection-kit-devel
+%{?with_jack:BuildRequires:	jack-audio-connection-kit-devel}
 BuildRequires:	jansson-devel
 BuildRequires:	libcap-devel
 BuildRequires:	libedit-devel
@@ -69,7 +81,7 @@ BuildRequires:	libxslt-devel
 BuildRequires:	lpc10-devel
 BuildRequires:	lua51-devel
 BuildRequires:	mxml-devel
-BuildRequires:	mysql-devel
+%{?with_mysql:BuildRequires:	mysql-devel}
 BuildRequires:	ncurses-devel
 BuildRequires:	neon-devel
 BuildRequires:	net-snmp-devel
@@ -77,18 +89,18 @@ BuildRequires:	newt-devel
 %if %{with h323}
 BuildRequires:	h323plus-devel >= 1.24.0
 %endif
-BuildRequires:	openldap-devel
+%{?with_ldap:BuildRequires:	openldap-devel}
 BuildRequires:	openssl-devel >= 0.9.7d
 BuildRequires:	pam-devel
-BuildRequires:	pjproject-devel
+%{?with_pjsip:BuildRequires:	pjproject-devel}
 BuildRequires:	pkgconfig
 BuildRequires:	popt-devel
-BuildRequires:	portaudio-devel >= 19
-BuildRequires:	postgresql-devel
+%{?with_portaudio:BuildRequires:	portaudio-devel >= 19}
+%{?with_pgsql:BuildRequires:	postgresql-devel}
 %if %{with h323}
 BuildRequires:	ptlib-devel
 %endif
-BuildRequires:	radiusclient-ng-devel
+%{?with_radius:BuildRequires:	radiusclient-ng-devel}
 BuildRequires:	rpmbuild(macros) >= 1.583
 BuildRequires:	sed >= 4.0
 BuildRequires:	spandsp-devel >= 0.0.5
@@ -96,9 +108,9 @@ BuildRequires:	speex-devel
 %{?with_sqlite2:BuildRequires:	sqlite-devel}
 BuildRequires:	sqlite3-devel
 BuildRequires:	srtp-devel
-BuildRequires:	unixODBC-devel
+%{?with_odbc:BuildRequires:	unixODBC-devel}
 BuildRequires:	uriparser-devel
-BuildRequires:	webrtc-libilbc-devel
+%{?with_ilbc:BuildRequires:	webrtc-libilbc-devel}
 BuildRequires:	xorg-lib-libX11-devel
 BuildRequires:	zlib-devel
 BuildRequires:	libpri-devel >= 1.4.6
@@ -543,19 +555,6 @@ API documentation for Asterisk.
 # avoid using these
 rm -rf imap menuselect/mxml main/editline codecs/gsm codecs/lpc10
 
-install %{SOURCE12} .
-install %{SOURCE13} .
-
-%if %{without h323}
-sed -i -e 's#\(MENUSELECT_ADDONS=.*\)#\1 chan_ooh323 chan_h323#g' menuselect.makeopts
-%endif
-%if %{without corosync}
-sed -i -e 's#\(MENUSELECT_RES=.*\)#\1 res_corosync#g' menuselect.makeopts
-%endif
-%if %{without sqlite2}
-sed -i -e 's#\(MENUSELECT_RES=.*\)#\1 res_config_sqlite#g' menuselect.makeopts
-%endif
-
 %build
 rm -f pbx/.depend
 
@@ -584,11 +583,74 @@ cd ..
 	--without-gtk2 \
 	--with-imap=system \
 	--with-gsm=/usr \
-	%{!?with_h323:--without-h323} \
+	%{__without h323 h323} \
+	%{__without oss oss} \
+	%{__without oss sdl} \
+	%{__without oss SDL_image} \
+	%{__without tds tds} \
+	%{__without ilbc ilbc} \
+	%{__without ldap ldap} \
+	%{__without portaudio portaudio} \
+	%{__without bluetooth bluetooth} \
+	%{__without jack jack} \
+	%{__without mysql mysqlclient} \
+	%{__without pgsql postgres} \
+	%{__without odbc unixodbc} \
+	%{__without radius radius} \
+	%{__without pjsip pjproject} \
 	--with-lpc10=/usr
 
 cp -f .cleancount .lastclean
 
+%{__make} menuselect/menuselect
+%{__make} menuselect-tree
+
+cp %{SOURCE12} .
+cp %{SOURCE13} .
+
+%if %{without h323}
+menuselect/menuselect --disable chan_ooh323 --disable chan_h323 menuselect.makeopts
+%endif
+%if %{without corosync}
+menuselect/menuselect --disable res_corosync menuselect.makeopts
+%endif
+%if %{without sqlite2}
+menuselect/menuselect --disable res_config_sqlite menuselect.makeopts
+%endif
+%if %{without oss}
+menuselect/menuselect --disable chan_oss menuselect.makeopts
+%endif
+%if %{without tds}
+menuselect/menuselect --disable cdr_tds --disable cel_tds menuselect.makeopts
+%endif
+%if %{without ilbc}
+menuselect/menuselect --disable codec_ilbc --disable format_ilbc menuselect.makeopts
+%endif
+%if %{without ldap}
+menuselect/menuselect --disable res_config_ldap menuselect.makeopts
+%endif
+%if %{without bluetooth}
+menuselect/menuselect --disable chan_mobile menuselect.makeopts
+%endif
+%if %{without jack}
+menuselect/menuselect --disable app_jack menuselect.makeopts
+%endif
+%if %{without mysql}
+menuselect/menuselect --disable res_config_mysql --disable app_mysql --disable cdr_mysql menuselect.makeopts
+%endif
+%if %{without pgsql}
+menuselect/menuselect --disable res_config_pgsql --disable cdr_pgsql --disable cel_pgsql menuselect.makeopts
+%endif
+%if %{without odbc}
+menuselect/menuselect --disable res_odbc --disable res_config_odbc --disable cdr_odbc --disable cdr_adaptive_odbc --disable cel_odbc menuselect.makeopts
+%endif
+%if %{without radius}
+menuselect/menuselect --disable cdr_radius --disable cel_radius menuselect.makeopts
+%endif
+%if %{without pjsip}
+menuselect/menuselect --disable res_pjsip --disable chan_pjsip menuselect.makeopts
+%endif
+
 %{__sed} -i -e 's/^MENUSELECT_OPTS_app_voicemail=.*$/MENUSELECT_OPTS_app_voicemail=FILE_STORAGE/' menuselect.makeopts
 %{__make} DEBUG= \
 	OPTIMIZE= \
@@ -615,6 +677,7 @@ rm apps/app_voicemail.o apps/app_directory.o
 mv apps/app_voicemail.so apps/app_voicemail_imap.so
 mv apps/app_directory.so apps/app_directory_imap.so
 
+%if %{with odbc}
 %{__sed} -i -e 's/^MENUSELECT_OPTS_app_voicemail=.*$/MENUSELECT_OPTS_app_voicemail=ODBC_STORAGE/' menuselect.makeopts
 %{__make} DEBUG= \
 	OPTIMIZE= \
@@ -627,6 +690,7 @@ mv apps/app_directory.so apps/app_directory_imap.so
 rm apps/app_voicemail.o apps/app_directory.o
 mv apps/app_voicemail.so apps/app_voicemail_odbc.so
 mv apps/app_directory.so apps/app_directory_odbc.so
+%endif
 
 # so that these modules don't get built again during the install phase
 touch apps/app_voicemail.o apps/app_directory.o
@@ -672,8 +736,10 @@ 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
+%if %{with odbc}
 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
+%endif
 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
 
@@ -729,6 +795,36 @@ rm $RPM_BUILD_ROOT%{_sysconfdir}/asterisk/res_corosync.conf
 # I don't even know which one can be fixed
 rm $RPM_BUILD_ROOT%{_sysconfdir}/asterisk/{h323,ooh323}.conf
 %endif
+%if %{without sqlite2}
+rm $RPM_BUILD_ROOT%{_sysconfdir}/asterisk/res_config_sqlite.conf
+%endif
+%if %{without oss}
+rm $RPM_BUILD_ROOT%{_sysconfdir}/asterisk/oss.conf
+%endif
+%if %{without tds}
+rm $RPM_BUILD_ROOT%{_sysconfdir}/asterisk/{cdr,cel}_tds.conf
+%endif
+%if %{without ldap}
+rm $RPM_BUILD_ROOT%{_sysconfdir}/asterisk/res_ldap.conf
+%endif
+%if %{without portaudio}
+rm $RPM_BUILD_ROOT%{_sysconfdir}/asterisk/console.conf
+%endif
+%if %{without bluetooth}
+rm $RPM_BUILD_ROOT%{_sysconfdir}/asterisk/chan_mobile.conf
+%endif
+%if %{without mysql}
+rm $RPM_BUILD_ROOT%{_sysconfdir}/asterisk/res_config_mysql.conf
+%endif
+%if %{without pgsql}
+rm $RPM_BUILD_ROOT%{_sysconfdir}/asterisk/{cdr,cel,res}_pgsql.conf
+%endif
+%if %{without odbc}
+rm $RPM_BUILD_ROOT%{_sysconfdir}/asterisk/{cdr{,_adaptive},cel,func,res}_odbc.conf
+%endif
+%if %{without pjsip}
+rm $RPM_BUILD_ROOT%{_sysconfdir}/asterisk/pjsip{,_notify}.conf
+%endif
 
 rm -fr $RPM_BUILD_ROOT/usr/include/asterisk/doxygen
 
@@ -1105,10 +1201,12 @@ chown -R asterisk:asterisk /var/lib/asterisk
 %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
 
+%if %{with bluetooth}
 %files bluetooth
 %defattr(644,root,root,755)
 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/chan_mobile.conf
 %attr(755,root,root) %{_libdir}/asterisk/modules/chan_mobile.so
+%endif
 
 %files calendar
 %defattr(644,root,root,755)
@@ -1176,10 +1274,12 @@ chown -R asterisk:asterisk /var/lib/asterisk
 %doc contrib/asterisk-ices.xml
 %attr(755,root,root) %{_libdir}/asterisk/modules/app_ices.so
 
+%if %{with ilbc}
 %files ilbc
 %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
+%endif
 
 %files jabber
 %defattr(644,root,root,755)
@@ -1194,15 +1294,18 @@ chown -R asterisk:asterisk /var/lib/asterisk
 %attr(755,root,root) %{_libdir}/asterisk/modules/res_jabber.so
 %attr(755,root,root) %{_libdir}/asterisk/modules/res_xmpp.so
 
+%if %{with jack}
 %files jack
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/asterisk/modules/app_jack.so
+%endif
 
 %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
 
+%if %{with ldap}
 %files ldap
 %defattr(644,root,root,755)
 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/res_ldap.conf
@@ -1213,6 +1316,7 @@ chown -R asterisk:asterisk /var/lib/asterisk
 %defattr(644,root,root,755)
 %{_sysconfdir}/dirsrv/schema/99asterisk.ldif
 %endif
+%endif
 
 %files lpc10
 %defattr(644,root,root,755)
@@ -1224,11 +1328,14 @@ chown -R asterisk:asterisk /var/lib/asterisk
 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/minivm.conf
 %attr(755,root,root) %{_libdir}/asterisk/modules/app_minivm.so
 
+%if %{with mysql}
 %files mysql
 %defattr(644,root,root,755)
 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/res_config_mysql.conf
 %attr(755,root,root) %{_libdir}/asterisk/modules/res_config_mysql.so
+%endif
 
+%if %{with odbc}
 %files odbc
 %defattr(644,root,root,755)
 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/cdr_adaptive_odbc.conf
@@ -1242,17 +1349,21 @@ chown -R asterisk:asterisk /var/lib/asterisk
 %attr(755,root,root) %{_libdir}/asterisk/modules/func_odbc.so
 %attr(755,root,root) %{_libdir}/asterisk/modules/res_config_odbc.so
 %attr(755,root,root) %{_libdir}/asterisk/modules/res_odbc.so
+%endif
 
 %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
 
+%if %{with oss}
 %files oss
 %defattr(644,root,root,755)
 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/oss.conf
 %attr(755,root,root) %{_libdir}/asterisk/modules/chan_oss.so
+%endif
 
+%if %{with pjsip}
 %files pjsip
 %defattr(644,root,root,755)
 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/pjsip.conf
@@ -1289,12 +1400,16 @@ chown -R asterisk:asterisk /var/lib/asterisk
 %attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip_session.so
 %attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip_t38.so
 %attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip_transport_websocket.so
+%endif
 
+%if %{with portaudio}
 %files portaudio
 %defattr(644,root,root,755)
 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/console.conf
 %attr(755,root,root) %{_libdir}/asterisk/modules/chan_console.so
+%endif
 
+%if %{with pgsql}
 %files postgresql
 %defattr(644,root,root,755)
 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/cdr_pgsql.conf
@@ -1304,11 +1419,14 @@ chown -R asterisk:asterisk /var/lib/asterisk
 %attr(755,root,root) %{_libdir}/asterisk/modules/cdr_pgsql.so
 %attr(755,root,root) %{_libdir}/asterisk/modules/cel_pgsql.so
 %attr(755,root,root) %{_libdir}/asterisk/modules/res_config_pgsql.so
+%endif
 
+%if %{with radius}
 %files radius
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/asterisk/modules/cdr_radius.so
 %attr(755,root,root) %{_libdir}/asterisk/modules/cel_radius.so
+%endif
 
 %files resample
 %defattr(644,root,root,755)
@@ -1329,10 +1447,12 @@ chown -R asterisk:asterisk /var/lib/asterisk
 %attr(755,root,root) %{_libdir}/asterisk/modules/codec_speex.so
 %attr(755,root,root) %{_libdir}/asterisk/modules/func_speex.so
 
+%if %{with sqlite2}
 %files sqlite2
 %defattr(644,root,root,755)
 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/res_config_sqlite.conf
 %attr(755,root,root) %{_libdir}/asterisk/modules/res_config_sqlite.so
+%endif
 
 %files sqlite3
 %defattr(644,root,root,755)
@@ -1343,12 +1463,14 @@ chown -R asterisk:asterisk /var/lib/asterisk
 %attr(755,root,root) %{_libdir}/asterisk/modules/cel_sqlite3_custom.so
 %attr(755,root,root) %{_libdir}/asterisk/modules/res_config_sqlite3.so
 
+%if %{with tds}
 %files tds
 %defattr(644,root,root,755)
 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/cdr_tds.conf
 %attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/cel_tds.conf
 %attr(755,root,root) %{_libdir}/asterisk/modules/cdr_tds.so
 %attr(755,root,root) %{_libdir}/asterisk/modules/cel_tds.so
+%endif
 
 %files unistim
 %defattr(644,root,root,755)
@@ -1366,10 +1488,12 @@ chown -R asterisk:asterisk /var/lib/asterisk
 %attr(755,root,root) %{_libdir}/asterisk/modules/app_directory_imap.so
 %attr(755,root,root) %{_libdir}/asterisk/modules/app_voicemail_imap.so
 
+%if %{with odbc}
 %files voicemail-odbc
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/asterisk/modules/app_directory_odbc.so
 %attr(755,root,root) %{_libdir}/asterisk/modules/app_voicemail_odbc.so
+%endif
 
 %files voicemail-plain
 %defattr(644,root,root,755)
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/asterisk.git/commitdiff/353c2faa173186278727315a04fc22dd8863457e



More information about the pld-cvs-commit mailing list