[Home]

Summary:ASTERISK-27631: [patch] BuildSystem: Do not warn when bash is not installed.
Reporter:Alexander Traud (traud)Labels:patch
Date Opened:2018-01-28 02:47:41.000-0600Date Closed:2018-02-15 06:14:04.000-0600
Priority:MinorRegression?
Status:Closed/CompleteComponents:Core/BuildSystem
Versions:13.19.0 15.2.0 Frequency of
Occurrence
Related
Issues:
Environment:FreeBSD 11.1Attachments:( 0) ignore_list_external_result.patch
Description:The build system includes the script {{build_tools/list_valid_installed_externals}}, which collects all modules installed from Digium, like various audio-codecs and the Digium Phone Module for Asterisk (DPMA; res_digium_phone). Then, the Makefile double-checks the installed modules, whether an old module is still installed. If such an old module is found, {{make install}} prints a big warning.

To be downloaded, those external modules required the shell _bash_. Therefore, it is okay that this script requires the shell _bash_ as well. However, when that shell is not installed, {{make install}} prints the following twice: {{env: bash: No such file or directory}}. This is because the script does not set the shell directly but finds _bash_ via the tool _env_. When the header of the script is changed to {{#!/bin/bash}}, the following is printed twice: {{gmake\[1\]: ./build_tools/list_valid_installed_externals: Command not found}}.

To solve this, one approach is to avoid calling this script when the variable $\{BASH\} is not set. Another approach is to ignore any error of that script.

This issue was introduced in August 2016 with commit [6caf6bc|https://github.com/asterisk/asterisk/commit/6caf6bcdad003237725bf458a26db8ff74120508]. Because that commit does not reference a Jira issue, I cannot link to a causing issue. Therefore, so the original author learns about this issue here, I have to invite him manually in the code review via Gerrit.
Comments:By: Friendly Automation (friendly-automation) 2018-02-15 06:14:05.732-0600

Change 8077 merged by Jenkins2:
BuildSystem: Do not warn when bash is not installed.

[https://gerrit.asterisk.org/8077|https://gerrit.asterisk.org/8077]

By: Friendly Automation (friendly-automation) 2018-02-15 06:18:35.562-0600

Change 8078 merged by Jenkins2:
BuildSystem: Do not warn when bash is not installed.

[https://gerrit.asterisk.org/8078|https://gerrit.asterisk.org/8078]

By: Friendly Automation (friendly-automation) 2018-02-15 06:19:12.316-0600

Change 8076 merged by Joshua Colp:
BuildSystem: Do not warn when bash is not installed.

[https://gerrit.asterisk.org/8076|https://gerrit.asterisk.org/8076]