[asterisk-dev] [Code Review] 4064: makefile: Relax badshell tilde test to allow for ~ in middle of DESTDIR.

Matt Jordan reviewboard at asterisk.org
Fri Oct 10 10:40:57 CDT 2014


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/4064/#review13488
-----------------------------------------------------------

Ship it!


Ship It!

- Matt Jordan


On Oct. 9, 2014, 10:01 a.m., wdoekes wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/4064/
> -----------------------------------------------------------
> 
> (Updated Oct. 9, 2014, 10:01 a.m.)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Bugs: ASTERISK-13797
>     https://issues.asterisk.org/jira/browse/ASTERISK-13797
> 
> 
> Repository: Asterisk
> 
> 
> Description
> -------
> 
> (copied from the bug report)
> 
> The main Makefile has a target test called 'badshell' that tests if
> DESTDIR does not happen to have an an-expanded tilde (~).  This might
> be the case if you run:
> 
>     make install DESTDIR=~/somewhere/
> 
> and the shell wouldn't expand it as expected due to either bugs or
> lack of features in it.  However for packaging the Debian package we
> have, as part of the package name, 'dfsg' and sometimes also '~rcN'.
> 
> 
> Basically: the current test matches ANY tilde in the filename, while
> it only makes sense to match the first character.
> 
> This patch changes the badshell test to $(filter ~%,...) instead of
> $(findstring ~,...) as suggested by Tilghman in 2009 (except we allow
> ~username as well).
> 
> 
> Why in 1.8 and not in trunk? Because this is trivial and it saves the
> debian guys another patch.
> 
> 
> Diffs
> -----
> 
>   /branches/1.8/Makefile 424940 
> 
> Diff: https://reviewboard.asterisk.org/r/4064/diff/
> 
> 
> Testing
> -------
> 
> $ make DESTDIR='~/somewhere' install
> Your shell doesn't do ~ expansion when expected (specifically, when doing "make install DESTDIR=~/path").
> Try replacing ~ with $HOME, as in "make install DESTDIR=$HOME/path".
> 
> 
> $ make DESTDIR=~somewhere install
> Your shell doesn't do ~ expansion when expected (specifically, when doing "make install DESTDIR=~/path").
> Try replacing ~ with $HOME, as in "make install DESTDIR=$HOME/path".
> 
> 
> $ make DESTDIR=~walter/test123 install
> CC="cc" CXX="" LD="" AR="" RANLIB="" CFLAGS="" make -C menuselect CONFIGURE_SILENT="--silent" makeopts
> make[1]: Entering directory `/home/walter/src/asterisk-1.8.x-WRITE/menuselect'
> ...
> $ ls ~/test123/usr/sbin/asterisk 
> /home/walter/test123/usr/sbin/asterisk
> 
> 
> $ make DESTDIR=`pwd`/test123~123 install
> CC="cc" CXX="" LD="" AR="" RANLIB="" CFLAGS="" make -C menuselect CONFIGURE_SILENT="--silent" makeopts
> make[1]: Entering directory `/home/walter/src/asterisk-1.8.x-WRITE/menuselect'
> ...
> $ ls test123~123/usr/sbin/asterisk 
> test123~123/usr/sbin/asterisk
> 
> 
> Thanks,
> 
> wdoekes
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20141010/163d8092/attachment-0001.html>


More information about the asterisk-dev mailing list