On Fri, Apr 13, 2012 at 6:57 AM, Allan McRae <al...@archlinux.org> wrote:
> On 13/04/12 20:49, Florian Pritz wrote: > > On 13.04.2012 05:30, Allan McRae wrote: > >> On 13/04/12 00:54, Dave Reisner wrote: > >>> Pass $(OURSCRIPTS) through the bash parser in read only mode to > validate > >>> syntax. Note that this doesn't actually catch all errors, but it might > >>> be useful for developers working on these scripts. > >>> > >>> Signed-off-by: Dave Reisner <dreis...@archlinux.org> > >>> --- > >>> contrib/Makefile.am | 1 + > >>> scripts/Makefile.am | 1 + > >>> 2 files changed, 2 insertions(+) > >>> > >>> diff --git a/contrib/Makefile.am b/contrib/Makefile.am > >>> index eca39e7..2953912 100644 > >>> --- a/contrib/Makefile.am > >>> +++ b/contrib/Makefile.am > >>> @@ -55,6 +55,7 @@ $(OURSCRIPTS): Makefile > >>> $(AM_V_GEN)$(edit) $(srcdir)/$@.in >$@.tmp > >>> $(AM_V_at)chmod +x,a-w $@.tmp > >>> $(AM_V_at)mv $@.tmp $@ > >>> + @$(BASH_SHELL) -O extglob -n $@ > >> > >> I'm missing why we need extglob here? > > > > bacman and paccache use extglobs > > > > Yes... and every time someone calls one of those scripts they have to > manually set the extglob? No... because that would be stupid. > It would be stupid, but this is bash... So let's ignore rational thought for a minute. $ bash -n ./scripts/repo-add ./scripts/repo-add: line 261: syntax error near unexpected token `(' ./scripts/repo-add: line 261: ` *.@(db|files).tar.gz) TAR_OPT="z" ;;' no-exec mode really does mean no-exec, including shopts that might change the behavior of the parser.