[Asterisk-code-review] Create --disable-binary-modules option. (asterisk[master])

Corey Farrell asteriskteam at digium.com
Mon Aug 27 11:57:42 CDT 2018


Corey Farrell has uploaded this change for review. ( https://gerrit.asterisk.org/10006


Change subject: Create --disable-binary-modules option.
......................................................................

Create --disable-binary-modules option.

This new option can be passed for ./configure or
./tests/CI/buildAsterisk.sh to prevent download/install of binary
modules.

Change-Id: I6b1bd1c75a2e48f05b8b8a45b7a7a2d00a079166
---
M build_tools/menuselect-deps.in
M codecs/codecs.xml
M configure
M configure.ac
M res/res.xml
M tests/CI/buildAsterisk.sh
6 files changed, 40 insertions(+), 1 deletion(-)



  git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/06/10006/1

diff --git a/build_tools/menuselect-deps.in b/build_tools/menuselect-deps.in
index e62c183..161c67b 100644
--- a/build_tools/menuselect-deps.in
+++ b/build_tools/menuselect-deps.in
@@ -82,3 +82,4 @@
 HAVE_LEAK_SANITIZER=@AST_LEAK_SANITIZER@
 HAVE_THREAD_SANITIZER=@AST_THREAD_SANITIZER@
 HAVE_UNDEFINED_SANITIZER=@AST_UNDEFINED_SANITIZER@
+NO_BINARY_MODULES=@PBX_NO_BINARY_MODULES@
diff --git a/codecs/codecs.xml b/codecs/codecs.xml
index 0b4e2a4..996a355 100644
--- a/codecs/codecs.xml
+++ b/codecs/codecs.xml
@@ -1,5 +1,6 @@
 <member name="codec_opus" displayname="Download the Opus codec from Digium.  See http://downloads.digium.com/pub/telephony/codec_opus/README.">
 	<support_level>external</support_level>
+	<conflict>no_binary_modules</conflict>
 	<depend>xmlstarlet</depend>
 	<depend>bash</depend>
 	<depend>res_format_attr_opus</depend>
@@ -7,24 +8,28 @@
 </member>
 <member name="codec_silk" displayname="Download the SILK codec from Digium.  See http://downloads.digium.com/pub/telephony/codec_silk/README.">
 	<support_level>external</support_level>
+	<conflict>no_binary_modules</conflict>
 	<depend>xmlstarlet</depend>
 	<depend>bash</depend>
 	<defaultenabled>no</defaultenabled>
 </member>
 <member name="codec_siren7" displayname="Download the Siren7 codec from Digium.  See http://downloads.digium.com/pub/telephony/codec_siren7/README.">
 	<support_level>external</support_level>
+	<conflict>no_binary_modules</conflict>
 	<depend>xmlstarlet</depend>
 	<depend>bash</depend>
 	<defaultenabled>no</defaultenabled>
 </member>
 <member name="codec_siren14" displayname="Download the Siren14 codec from Digium.  See http://downloads.digium.com/pub/telephony/codec_siren14/README.">
 	<support_level>external</support_level>
+	<conflict>no_binary_modules</conflict>
 	<depend>xmlstarlet</depend>
 	<depend>bash</depend>
 	<defaultenabled>no</defaultenabled>
 </member>
 <member name="codec_g729a" displayname="Download the g729a codec from Digium.  A license must be purchased for this codec.  See http://downloads.digium.com/pub/telephony/codec_g729/README.">
 	<support_level>external</support_level>
+	<conflict>no_binary_modules</conflict>
 	<depend>xmlstarlet</depend>
 	<depend>bash</depend>
 	<defaultenabled>no</defaultenabled>
diff --git a/configure b/configure
index b24fedb..c453501 100755
--- a/configure
+++ b/configure
@@ -1201,6 +1201,7 @@
 AST_DEVMODE_STRICT
 AST_DEVMODE
 NOISY_BUILD
+PBX_NO_BINARY_MODULES
 PTHREAD_CFLAGS
 PTHREAD_LIBS
 PTHREAD_CC
@@ -1351,6 +1352,7 @@
 ac_user_opts='
 enable_option_checking
 with_gnu_ld
+enable_binary_modules
 enable_dev_mode
 with_download_cache
 with_sounds_cache
@@ -2089,6 +2091,8 @@
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+  --disable-binary-modules
+                          Block installation of binary modules.
   --enable-dev-mode       Turn on developer mode
   --enable-coverage       Turn on code coverage tracking (for gcov)
   --disable-xmldoc        Explicitly disable XML documentation
@@ -8914,6 +8918,18 @@
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
+PBX_NO_BINARY_MODULES=0
+# Check whether --enable-binary-modules was given.
+if test "${enable_binary_modules+set}" = set; then :
+  enableval=$enable_binary_modules; case "${enableval}" in
+	      y|ye|yes) PBX_NO_BINARY_MODULES=0 ;;
+	      n|no)  PBX_NO_BINARY_MODULES=1 ;;
+	      *) as_fn_error $? "bad value ${enableval} for --disable-binary-modules" "$LINENO" 5  ;;
+	esac
+fi
+
+
+
 # Check whether --enable-dev-mode was given.
 if test "${enable_dev_mode+set}" = set; then :
   enableval=$enable_dev_mode; case "${enableval}" in
diff --git a/configure.ac b/configure.ac
index 8537aca..431b3da 100644
--- a/configure.ac
+++ b/configure.ac
@@ -385,6 +385,17 @@
 
 AC_LANG(C)
 
+PBX_NO_BINARY_MODULES=0
+AC_ARG_ENABLE([binary-modules],
+	[AS_HELP_STRING([--disable-binary-modules],
+		[Block installation of binary modules.])],
+	[case "${enableval}" in
+	      y|ye|yes) PBX_NO_BINARY_MODULES=0 ;;
+	      n|no)  PBX_NO_BINARY_MODULES=1 ;;
+	      *) AC_MSG_ERROR(bad value ${enableval} for --disable-binary-modules)  ;;
+	esac])
+AC_SUBST(PBX_NO_BINARY_MODULES)
+
 AC_ARG_ENABLE([dev-mode],
 	[AS_HELP_STRING([--enable-dev-mode],
 		[Turn on developer mode])],
diff --git a/res/res.xml b/res/res.xml
index a340cc2..ace1792 100644
--- a/res/res.xml
+++ b/res/res.xml
@@ -1,5 +1,6 @@
 <member name="res_digium_phone" displayname="Download the Digium Phone Module for Asterisk.  See http://downloads.digium.com/pub/telephony/res_digium_phone/README.">
 	<support_level>external</support_level>
+	<conflict>no_binary_modules</conflict>
 	<depend>xmlstarlet</depend>
 	<depend>bash</depend>
 	<defaultenabled>no</defaultenabled>
diff --git a/tests/CI/buildAsterisk.sh b/tests/CI/buildAsterisk.sh
index 60f0917..992dc94 100755
--- a/tests/CI/buildAsterisk.sh
+++ b/tests/CI/buildAsterisk.sh
@@ -3,6 +3,7 @@
 CIDIR=$(dirname $(readlink -fn $0))
 COVERAGE=0
 REF_DEBUG=0
+DISABLE_BINARY_MODULES=0
 source $CIDIR/ci.functions
 
 gen_cats() {
@@ -78,6 +79,10 @@
 if [ $COVERAGE -eq 1 ] ; then
 	common_config_args+=" --enable-coverage"
 fi
+if [ "$BRANCH_NAME" == "master" -o $DISABLE_BINARY_MODULES -eq 1 ] ; then
+	common_config_args+=" --disable-binary-modules"
+fi
+
 export WGET_EXTRA_ARGS="--quiet"
 
 runner ./configure ${common_config_args} > ${OUTPUT_DIR:+${OUTPUT_DIR}/}configure.txt
@@ -115,7 +120,7 @@
 	mod_disables+=" res_ael_share res_calendar res_config_ldap res_config_pgsql res_corosync"
 	mod_disables+=" res_http_post res_pktccops res_rtp_multicast res_snmp res_xmpp"
 fi
-[ "$BRANCH_NAME" == "master" ] && mod_disables+=" codec_opus codec_silk codec_g729a codec_siren7 codec_siren14"
+
 runner menuselect/menuselect `gen_mods disable $mod_disables` menuselect.makeopts
 
 mod_enables="app_voicemail app_directory FILE_STORAGE"

-- 
To view, visit https://gerrit.asterisk.org/10006
To unsubscribe, or for help writing mail filters, visit https://gerrit.asterisk.org/settings

Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I6b1bd1c75a2e48f05b8b8a45b7a7a2d00a079166
Gerrit-Change-Number: 10006
Gerrit-PatchSet: 1
Gerrit-Owner: Corey Farrell <git at cfware.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-code-review/attachments/20180827/2bbad09f/attachment.html>


More information about the asterisk-code-review mailing list