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

Asterisk Bug Tracker noreply at bugs.digium.com
Mon Jun 7 12:38:54 CDT 2010


The following issue has been SUBMITTED. 
====================================================================== 
https://issues.asterisk.org/view.php?id=17485 
====================================================================== 
Reported By:                tzafrir
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   17485
Category:                   Core/BuildSystem
Reproducibility:            always
Severity:                   tweak
Priority:                   normal
Status:                     new
Asterisk Version:           SVN 
JIRA:                        
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:              2010-06-07 12:38 CDT
====================================================================== 
Summary:                    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

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

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2010-06-07 12:38 tzafrir        New Issue                                    
2010-06-07 12:38 tzafrir        Asterisk Version          => SVN             
2010-06-07 12:38 tzafrir        Regression                => No              
2010-06-07 12:38 tzafrir        SVN Branch (only for SVN checkouts, not tarball
releases) =>  trunk          
2010-06-07 12:38 tzafrir        SVN Revision (number only!) => 268534          
======================================================================




More information about the asterisk-bugs mailing list