All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH for-2.5] makefile: fix w32 install target for qemu-ga
@ 2015-11-15 16:12 Michael Roth
  2015-11-16 22:03 ` Stefan Weil
  0 siblings, 1 reply; 3+ messages in thread
From: Michael Roth @ 2015-11-15 16:12 UTC (permalink / raw)
  To: qemu-devel; +Cc: Paolo Bonzini, Michael Roth

fafcaf1 added a 'qemu-ga' install target on w32, which can be used
in place of the existing qemu-ga.exe target to also handle dealing
with other components such as DLLs for VSS/fsfreeze and generating
an MSI package if appropriate configure options are present.

As part of that, qemu-ga$(EXESUF) was removed from $TOOLS in favor
of this new qemu-ga target.

The install rule however relies on a direct mapping of the $TOOLS
entry to the actual resulting binary. In the case of w32, qemu-ga
is not identical to qemu-ga$(EXESUF), and the install recipe fails
to find the 'qemu-ga' binary.

Fix this by essentially remapping 'qemu-ga' back to 'qemu-ga.exe'
in the install recipe.

This raises the question of whether or not qemu-ga should continue
to live in TOOLS as opposed to it's own special target, but as a
late fix for a regression in 2.5 this commit should be safer, since
we rely on qemu-ga's presence in $TOOLS in several places throughout
Makefile.

Reported-by: Stefan Weil <sw@weilnetz.de>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
---
 Makefile | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index fc1f8bb..8acda9e 100644
--- a/Makefile
+++ b/Makefile
@@ -440,7 +440,11 @@ endif
 install: all $(if $(BUILD_DOCS),install-doc) \
 install-datadir install-localstatedir
 ifneq ($(TOOLS),)
-	$(call install-prog,$(TOOLS),$(DESTDIR)$(bindir))
+	$(call install-prog,$(filter-out qemu-ga,$(TOOLS)),$(DESTDIR)$(bindir))
+	# qemu-ga is included in TOOLS, but we need special install rules for w32
+ifneq (,$(findstring qemu-ga,$(TOOLS)))
+	$(call install-prog,qemu-ga$(EXESUF),$(DESTDIR)$(bindir))
+endif
 endif
 ifneq ($(CONFIG_MODULES),)
 	$(INSTALL_DIR) "$(DESTDIR)$(qemu_moddir)"
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] [PATCH for-2.5] makefile: fix w32 install target for qemu-ga
  2015-11-15 16:12 [Qemu-devel] [PATCH for-2.5] makefile: fix w32 install target for qemu-ga Michael Roth
@ 2015-11-16 22:03 ` Stefan Weil
  2015-11-17 22:40   ` Michael Roth
  0 siblings, 1 reply; 3+ messages in thread
From: Stefan Weil @ 2015-11-16 22:03 UTC (permalink / raw)
  To: Michael Roth, qemu-devel; +Cc: Paolo Bonzini

This mail arrived with one day delay (obviously caused by the
mailing list server). Please see my comments below.

Am 15.11.2015 um 17:12 schrieb Michael Roth:
> fafcaf1 added a 'qemu-ga' install target on w32, which can be used
> in place of the existing qemu-ga.exe target to also handle dealing
> with other components such as DLLs for VSS/fsfreeze and generating
> an MSI package if appropriate configure options are present.
>
> As part of that, qemu-ga$(EXESUF) was removed from $TOOLS in favor
> of this new qemu-ga target.
>
> The install rule however relies on a direct mapping of the $TOOLS
> entry to the actual resulting binary. In the case of w32, qemu-ga
> is not identical to qemu-ga$(EXESUF), and the install recipe fails
> to find the 'qemu-ga' binary.
>
> Fix this by essentially remapping 'qemu-ga' back to 'qemu-ga.exe'
> in the install recipe.
>
> This raises the question of whether or not qemu-ga should continue
> to live in TOOLS as opposed to it's own special target, but as a

its?

> late fix for a regression in 2.5 this commit should be safer, since
> we rely on qemu-ga's presence in $TOOLS in several places throughout
> Makefile.
>
> Reported-by: Stefan Weil <sw@weilnetz.de>
> Cc: Paolo Bonzini <pbonzini@redhat.com>
> Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
> ---
>  Makefile | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/Makefile b/Makefile
> index fc1f8bb..8acda9e 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -440,7 +440,11 @@ endif
>  install: all $(if $(BUILD_DOCS),install-doc) \
>  install-datadir install-localstatedir
>  ifneq ($(TOOLS),)
> -	$(call install-prog,$(TOOLS),$(DESTDIR)$(bindir))
> +	$(call install-prog,$(filter-out qemu-ga,$(TOOLS)),$(DESTDIR)$(bindir))
> +	# qemu-ga is included in TOOLS, but we need special install rules for w32
> +ifneq (,$(findstring qemu-ga,$(TOOLS)))
> +	$(call install-prog,qemu-ga$(EXESUF),$(DESTDIR)$(bindir))
> +endif
>  endif
>  ifneq ($(CONFIG_MODULES),)
>  	$(INSTALL_DIR) "$(DESTDIR)$(qemu_moddir)"

Reviewed-by: Stefan Weil <sw@weilnetz.de>

The patch is not pretty at all, but it works for 2.5.

We should improve this and also some redundant dependencies
like this one later:

$(QEMU_GA_MSI): qemu-ga.exe $(QGA_VSS_PROVIDER)
qemu-ga: qemu-ga$(EXESUF) $(QGA_VSS_PROVIDER) $(QEMU_GA_MSI)

Thanks,
Stefan

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] [PATCH for-2.5] makefile: fix w32 install target for qemu-ga
  2015-11-16 22:03 ` Stefan Weil
@ 2015-11-17 22:40   ` Michael Roth
  0 siblings, 0 replies; 3+ messages in thread
From: Michael Roth @ 2015-11-17 22:40 UTC (permalink / raw)
  To: Stefan Weil, qemu-devel; +Cc: Paolo Bonzini

Quoting Stefan Weil (2015-11-16 16:03:49)
> This mail arrived with one day delay (obviously caused by the
> mailing list server). Please see my comments below.
> 
> Am 15.11.2015 um 17:12 schrieb Michael Roth:
> > fafcaf1 added a 'qemu-ga' install target on w32, which can be used
> > in place of the existing qemu-ga.exe target to also handle dealing
> > with other components such as DLLs for VSS/fsfreeze and generating
> > an MSI package if appropriate configure options are present.
> >
> > As part of that, qemu-ga$(EXESUF) was removed from $TOOLS in favor
> > of this new qemu-ga target.
> >
> > The install rule however relies on a direct mapping of the $TOOLS
> > entry to the actual resulting binary. In the case of w32, qemu-ga
> > is not identical to qemu-ga$(EXESUF), and the install recipe fails
> > to find the 'qemu-ga' binary.
> >
> > Fix this by essentially remapping 'qemu-ga' back to 'qemu-ga.exe'
> > in the install recipe.
> >
> > This raises the question of whether or not qemu-ga should continue
> > to live in TOOLS as opposed to it's own special target, but as a
> 
> its?
> 
> > late fix for a regression in 2.5 this commit should be safer, since
> > we rely on qemu-ga's presence in $TOOLS in several places throughout
> > Makefile.
> >
> > Reported-by: Stefan Weil <sw@weilnetz.de>
> > Cc: Paolo Bonzini <pbonzini@redhat.com>
> > Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
> > ---
> >  Makefile | 6 +++++-
> >  1 file changed, 5 insertions(+), 1 deletion(-)
> >
> > diff --git a/Makefile b/Makefile
> > index fc1f8bb..8acda9e 100644
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -440,7 +440,11 @@ endif
> >  install: all $(if $(BUILD_DOCS),install-doc) \
> >  install-datadir install-localstatedir
> >  ifneq ($(TOOLS),)
> > -     $(call install-prog,$(TOOLS),$(DESTDIR)$(bindir))
> > +     $(call install-prog,$(filter-out qemu-ga,$(TOOLS)),$(DESTDIR)$(bindir))
> > +     # qemu-ga is included in TOOLS, but we need special install rules for w32
> > +ifneq (,$(findstring qemu-ga,$(TOOLS)))
> > +     $(call install-prog,qemu-ga$(EXESUF),$(DESTDIR)$(bindir))
> > +endif
> >  endif
> >  ifneq ($(CONFIG_MODULES),)
> >       $(INSTALL_DIR) "$(DESTDIR)$(qemu_moddir)"
> 
> Reviewed-by: Stefan Weil <sw@weilnetz.de>
> 
> The patch is not pretty at all, but it works for 2.5.
> 
> We should improve this and also some redundant dependencies
> like this one later:
> 
> $(QEMU_GA_MSI): qemu-ga.exe $(QGA_VSS_PROVIDER)
> qemu-ga: qemu-ga$(EXESUF) $(QGA_VSS_PROVIDER) $(QEMU_GA_MSI)

Agreed. Will look at this as part of cleaning up the TOOLS hacks.

Thanks for the review, applied to qga tree with commit msg fixup:

  https://github.com/mdroth/qemu/commits/qga

> 
> Thanks,
> Stefan
> 
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-11-17 22:40 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-11-15 16:12 [Qemu-devel] [PATCH for-2.5] makefile: fix w32 install target for qemu-ga Michael Roth
2015-11-16 22:03 ` Stefan Weil
2015-11-17 22:40   ` Michael Roth

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.