diff --git a/doc/UPGRADE-staging/menuselect-could-fail.txt b/doc/UPGRADE-staging/menuselect-could-fail.txt new file mode 100644 index 0000000000000000000000000000000000000000..e3e20ed833aec3ebc27e325aa3ccb81921b2d2bc --- /dev/null +++ b/doc/UPGRADE-staging/menuselect-could-fail.txt @@ -0,0 +1,5 @@ +Subject: menuselect + +menuselect --enable, --disable, --enable-category and --disable-category will +now fail with a non-zero exit code instead of silently failing if an invalid +option or category is specified. diff --git a/menuselect/menuselect.c b/menuselect/menuselect.c index 2ef075fdbe2fb24f571a48adaee510ba17cc75b0..615e29f9008b9d80d52c12da9656bb4c46b1b008 100644 --- a/menuselect/menuselect.c +++ b/menuselect/menuselect.c @@ -2120,6 +2120,7 @@ int main(int argc, char *argv[]) /* Reset options processing */ option_index = 0; optind = 1; + res = 0; while ((c = getopt_long(argc, argv, "", long_options, &option_index)) != -1) { print_debug("Got option %c\n", c); @@ -2130,6 +2131,7 @@ int main(int argc, char *argv[]) set_member_enabled(mem); } else { fprintf(stderr, "'%s' not found\n", optarg); + res = 1; } } break; @@ -2139,6 +2141,7 @@ int main(int argc, char *argv[]) set_all(cat, 1); } else { fprintf(stderr, "'%s' not found\n", optarg); + res = 1; } } break; @@ -2153,6 +2156,7 @@ int main(int argc, char *argv[]) clear_member_enabled(mem); } else { fprintf(stderr, "'%s' not found\n", optarg); + res = 1; } } break; @@ -2162,6 +2166,7 @@ int main(int argc, char *argv[]) set_all(cat, 0); } else { fprintf(stderr, "'%s' not found\n", optarg); + res = 1; } } break; @@ -2176,7 +2181,6 @@ int main(int argc, char *argv[]) break; } } - res = 0; } if (!res) { diff --git a/tests/CI/buildAsterisk.sh b/tests/CI/buildAsterisk.sh index 2deb549363a9f7b0a6f1f3717d6d6bbf1502690a..d8bad70fd22a7de8cd942ed127853819ff21744d 100755 --- a/tests/CI/buildAsterisk.sh +++ b/tests/CI/buildAsterisk.sh @@ -158,7 +158,7 @@ if [ $NO_MENUSELECT -eq 0 ] ; then runner menuselect/menuselect `gen_mods disable $mod_disables` menuselect.makeopts - mod_enables="app_voicemail app_directory FILE_STORAGE" + mod_enables="app_voicemail app_directory" mod_enables+=" res_mwi_external res_ari_mailboxes res_mwi_external_ami res_stasis_mailbox" mod_enables+=" CORE-SOUNDS-EN-GSM MOH-OPSOUND-GSM EXTRA-SOUNDS-EN-GSM" runner menuselect/menuselect `gen_mods enable $mod_enables` menuselect.makeopts