[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