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.

Normally enabling the categories MENUSELECT_CODECS or MENUSELECT_RES
will result in binary modules being enabled even if the build target is
incompatible with those modules.  This includes CI scripts which enable
categories before disabling specific modules.

If more binary modules are offered in the future this will help avoid
accidentally downloading them if unwanted or incompatible.  Adding a
binary module will only require creating a new menuselect entry similar
to the existing ones, it will not be necessary to modify the CI scripts.

Change-Id: I6b1bd1c75a2e48f05b8b8a45b7a7a2d00a079166
This commit is contained in:
Corey Farrell
2018-08-26 14:18:42 -04:00
parent 3d495f89bc
commit 1b1f47bef6
6 changed files with 40 additions and 1 deletions

View File

@@ -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 @@ common_config_args+=" --enable-dev-mode"
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 @@ if [ $TESTED_ONLY -eq 1 ] ; then
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"