[asterisk-bugs] [Asterisk 0017485]: [patch] bashism in configure script

Asterisk Bug Tracker noreply at bugs.digium.com
Tue May 3 13:26:57 CDT 2011


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=17485 
====================================================================== 
Reported By:                tzafrir
Assigned To:                tzafrir
====================================================================== 
Project:                    Asterisk
Issue ID:                   17485
Category:                   Core/BuildSystem
Reproducibility:            always
Severity:                   tweak
Priority:                   normal
Status:                     assigned
Asterisk Version:           SVN 
JIRA:                       SWP-1665 
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases):  trunk 
SVN Revision (number only!): 268534 
Request Review:              
====================================================================== 
Date Submitted:             2010-06-07 12:38 CDT
Last Modified:              2011-05-03 13:26 CDT
====================================================================== 
Summary:                    [patch] bashism in configure script
Description: 
Following a thread in debian-devel[1], I figured I better fix the issue
with Asterisk, before it starts to actually bite people in the wild.

dash is the default /bin/sh on many systems. However, the autoconf
configure script will attempt to fall back to bash (if available) if
/bin/sh is not a proper shell. One feature that separated dash from being a
proper shell is providing $LINENO.

As it happens, a recent version of dash finally was able to provide
$LINENO. It was uploaded to Debian Unstable. And configure scripts started
breaking all over the place. The scripts generated by autoconf use proper
POSIX syntax, but often the extra shell snippets use bash extensions.

That specific version of dash was reverted later on (see down that
thread). But it will come up sooner or later. So it is worth fixing those
issues at some point.

A quick check with checkbashism (of the package devscripts) brought up
only two cases:

* configure.ac:229: $RANDOM used. Only used if mktemp not available
* autoconf/ast_check_pwlib.m4:215 - use 'let'. Can be easily replaced with
$(( )) or expr.

Here's how I (hopefully) worked around the test in the configure script
for LINENO:

  sed -i -e 's/\(as_lineno_\([12]\)=\).*$/\1\2/' configure

[1] http://lists.debian.org/debian-devel/2010/05/msg00892.html

====================================================================== 

---------------------------------------------------------------------- 
 (0134353) svnbot (reporter) - 2011-05-03 13:26
 https://issues.asterisk.org/view.php?id=17485#c134353 
---------------------------------------------------------------------- 
Repository: asterisk
Revision: 316193

U   branches/1.8/autoconf/ast_check_pwlib.m4
U   branches/1.8/configure

------------------------------------------------------------------------
r316193 | tzafrir | 2011-05-03 13:26:56 -0500 (Tue, 03 May 2011) | 8 lines

Re-fix bashism in ./configure: s/let/$(( ))/

A forward-port in r278985 accidentally re-introduced issue 17485. Fixing
it. Thanks to Jilles Tjoelker for the good report.

(closes issue https://issues.asterisk.org/view.php?id=17485)


------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=316193 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2011-05-03 13:26 svnbot         Note Added: 0134353                          
======================================================================




More information about the asterisk-bugs mailing list