On 13/04/12 22:57, Dave Reisner wrote: > 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.
Ok then. Bash does something I don't expect yet again! One thing that will do is cause any script where extglob is needed but not enabled to "pass". But I think fixing that would be a pain and also really is not necessary so ignore...