Message ID | 1465228434-20143-1-git-send-email-ehabkost@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mon, 06/06 12:53, Eduardo Habkost wrote: > The eval trick for defining DOCKER_SRC_COPY doesn't do anything > useful, as DOCKER_SRC_COPY is immediately expanded just after it > is defined, and CUR_TIME is already defined using ":=". Simply > define it using ":=" so it is evaluated only once. > > The eval trick was also triggering an weird error on Travis builds: > qemu/tests/docker/Makefile.include:34: *** unterminated variable reference. Stop. > > The issue is not easily reproducible (maybe it's a bug in some > versions of Make), but it is avoided if removing the eval trick. > > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> > --- > tests/docker/Makefile.include | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include > index 2fd2ca3..134dc6f 100644 > --- a/tests/docker/Makefile.include > +++ b/tests/docker/Makefile.include > @@ -28,8 +28,7 @@ make-archive-maybe = $(if $(wildcard $1/*), \ > " ARCHIVE $(notdir $2)")) > > CUR_TIME := $(shell date +%Y-%m-%d-%H.%M.%S.$$$$) > -# Makes the definition constant after the first expansion > -DOCKER_SRC_COPY = $(eval DOCKER_SRC_COPY := docker-src.$(CUR_TIME))$(DOCKER_SRC_COPY) > +DOCKER_SRC_COPY := docker-src.$(CUR_TIME) > > $(DOCKER_SRC_COPY): > @mkdir $@ > -- > 2.5.5 > Applied, thanks. Fam
On 7 June 2016 at 04:24, Fam Zheng <famz@redhat.com> wrote: > On Mon, 06/06 12:53, Eduardo Habkost wrote: >> The eval trick for defining DOCKER_SRC_COPY doesn't do anything >> useful, as DOCKER_SRC_COPY is immediately expanded just after it >> is defined, and CUR_TIME is already defined using ":=". Simply >> define it using ":=" so it is evaluated only once. >> >> The eval trick was also triggering an weird error on Travis builds: >> qemu/tests/docker/Makefile.include:34: *** unterminated variable reference. Stop. >> >> The issue is not easily reproducible (maybe it's a bug in some >> versions of Make), but it is avoided if removing the eval trick. >> >> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> >> --- >> tests/docker/Makefile.include | 3 +-- >> 1 file changed, 1 insertion(+), 2 deletions(-) >> >> diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include >> index 2fd2ca3..134dc6f 100644 >> --- a/tests/docker/Makefile.include >> +++ b/tests/docker/Makefile.include >> @@ -28,8 +28,7 @@ make-archive-maybe = $(if $(wildcard $1/*), \ >> " ARCHIVE $(notdir $2)")) >> >> CUR_TIME := $(shell date +%Y-%m-%d-%H.%M.%S.$$$$) >> -# Makes the definition constant after the first expansion >> -DOCKER_SRC_COPY = $(eval DOCKER_SRC_COPY := docker-src.$(CUR_TIME))$(DOCKER_SRC_COPY) >> +DOCKER_SRC_COPY := docker-src.$(CUR_TIME) >> >> $(DOCKER_SRC_COPY): >> @mkdir $@ >> -- >> 2.5.5 >> > > Applied, thanks. Hi; I'd like to apply this direct to master, because one of my build test machines hits this error intermittently, and so without the fix I can't reliably process any other pull requests. thanks -- PMM
On 7 June 2016 at 15:00, Peter Maydell <peter.maydell@linaro.org> wrote: > On 7 June 2016 at 04:24, Fam Zheng <famz@redhat.com> wrote: >> On Mon, 06/06 12:53, Eduardo Habkost wrote: >>> The eval trick for defining DOCKER_SRC_COPY doesn't do anything >>> useful, as DOCKER_SRC_COPY is immediately expanded just after it >>> is defined, and CUR_TIME is already defined using ":=". Simply >>> define it using ":=" so it is evaluated only once. >>> >>> The eval trick was also triggering an weird error on Travis builds: >>> qemu/tests/docker/Makefile.include:34: *** unterminated variable reference. Stop. >>> >>> The issue is not easily reproducible (maybe it's a bug in some >>> versions of Make), but it is avoided if removing the eval trick. > Hi; I'd like to apply this direct to master, because one of my build > test machines hits this error intermittently, and so without the fix > I can't reliably process any other pull requests. Now applied, thanks. -- PMM
On Tue, 06/07 15:30, Peter Maydell wrote: > On 7 June 2016 at 15:00, Peter Maydell <peter.maydell@linaro.org> wrote: > > On 7 June 2016 at 04:24, Fam Zheng <famz@redhat.com> wrote: > >> On Mon, 06/06 12:53, Eduardo Habkost wrote: > >>> The eval trick for defining DOCKER_SRC_COPY doesn't do anything > >>> useful, as DOCKER_SRC_COPY is immediately expanded just after it > >>> is defined, and CUR_TIME is already defined using ":=". Simply > >>> define it using ":=" so it is evaluated only once. > >>> > >>> The eval trick was also triggering an weird error on Travis builds: > >>> qemu/tests/docker/Makefile.include:34: *** unterminated variable reference. Stop. > >>> > >>> The issue is not easily reproducible (maybe it's a bug in some > >>> versions of Make), but it is avoided if removing the eval trick. > > > Hi; I'd like to apply this direct to master, because one of my build > > test machines hits this error intermittently, and so without the fix > > I can't reliably process any other pull requests. > > Now applied, thanks. No problem, sorry for the trouble! Fam
diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include index 2fd2ca3..134dc6f 100644 --- a/tests/docker/Makefile.include +++ b/tests/docker/Makefile.include @@ -28,8 +28,7 @@ make-archive-maybe = $(if $(wildcard $1/*), \ " ARCHIVE $(notdir $2)")) CUR_TIME := $(shell date +%Y-%m-%d-%H.%M.%S.$$$$) -# Makes the definition constant after the first expansion -DOCKER_SRC_COPY = $(eval DOCKER_SRC_COPY := docker-src.$(CUR_TIME))$(DOCKER_SRC_COPY) +DOCKER_SRC_COPY := docker-src.$(CUR_TIME) $(DOCKER_SRC_COPY): @mkdir $@
The eval trick for defining DOCKER_SRC_COPY doesn't do anything useful, as DOCKER_SRC_COPY is immediately expanded just after it is defined, and CUR_TIME is already defined using ":=". Simply define it using ":=" so it is evaluated only once. The eval trick was also triggering an weird error on Travis builds: qemu/tests/docker/Makefile.include:34: *** unterminated variable reference. Stop. The issue is not easily reproducible (maybe it's a bug in some versions of Make), but it is avoided if removing the eval trick. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> --- tests/docker/Makefile.include | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)