qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] move qemu-ga from bin to libexec dir, use $HELP


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH] move qemu-ga from bin to libexec dir, use $HELPERS
Date: Thu, 21 Feb 2013 14:35:07 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130110 Thunderbird/17.0.2

Il 16/02/2013 19:28, Michael Tokarev ha scritto:
> This patch does 3 things:
> 
> 1. Renames HELPERS-y Makefile variable to HELPERS
> 2. Moves its definition from Makefile to configure

I prefer to have more decisions in Makefile than configure, but this
wouldn't block the patch.  What we have now is a mess anyway.

> 3. Moves qemu-ga binary from TOOLS to HELPERS.
> 
> The effects are:
> 
> 1. qemu-ga binary is now installed into libexecdir, not bindir.
> This is the main effect/motivation of this patch, -- this binary
> has no business being in a public binary directory, it is a system
> helper which must be run by a system startup script or some event
> daemon.

There is one difference, and an important one: qemu-ga does appear in
system-wide configuration files, while qemu-bridge-helper does not.  In
this sense, qemu-ga is not a helper executable.

I have no idea how virtfs-proxy-helper would work, but I suspect that a
better design would have QEMU spawning it, just like qemu-bridge-helper.

Paolo

> 2. Another helper, qemu-bridge-helper, which is already installed
> in libexecdir, is built only when we're building one of softmmu
> targets on linux (initially it was just linux-specific, but not
> softmmu-specific).
> 
> Signed-off-by: Michael Tokarev <address@hidden>
> ---
>  Makefile  |   10 ++++------
>  configure |    7 ++++++-
>  2 files changed, 10 insertions(+), 7 deletions(-)
> 
> diff --git a/Makefile b/Makefile
> index 0d9099a..ba0cd98 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -53,8 +53,6 @@ $(call set-vpath, $(SRC_PATH))
>  
>  LIBS+=-lz $(LIBS_TOOLS)
>  
> -HELPERS-$(CONFIG_LINUX) = qemu-bridge-helper$(EXESUF)
> -
>  ifdef BUILD_DOCS
>  DOCS=qemu-doc.html qemu-tech.html qemu.1 qemu-img.1 qemu-nbd.8 
> QMP/qmp-commands.txt
>  ifdef CONFIG_VIRTFS
> @@ -115,7 +113,7 @@ ifeq ($(CONFIG_SMARTCARD_NSS),y)
>  include $(SRC_PATH)/libcacard/Makefile
>  endif
>  
> -all: $(DOCS) $(TOOLS) $(HELPERS-y) recurse-all
> +all: $(DOCS) $(TOOLS) $(HELPERS) recurse-all
>  
>  config-host.h: config-host.h-timestamp
>  config-host.h-timestamp: config-host.mak
> @@ -215,7 +213,7 @@ clean:
>       rm -f qemu-options.def
>       find . -name '*.[oda]' -type f -exec rm -f {} +
>       find . -name '*.l[oa]' -type f -exec rm -f {} +
> -     rm -f $(TOOLS) $(HELPERS-y) qemu-ga TAGS cscope.* *.pod *~ */*~
> +     rm -f $(TOOLS) $(HELPERS) qemu-ga TAGS cscope.* *.pod *~ */*~
>       rm -Rf .libs
>       rm -f qemu-img-cmds.h
>       @# May not be present in GENERATED_HEADERS
> @@ -305,9 +303,9 @@ install: all $(if $(BUILD_DOCS),install-doc) 
> install-sysconfig install-datadir
>  ifneq ($(TOOLS),)
>       $(INSTALL_PROG) $(STRIP_OPT) $(TOOLS) "$(DESTDIR)$(bindir)"
>  endif
> -ifneq ($(HELPERS-y),)
> +ifneq ($(HELPERS),)
>       $(INSTALL_DIR) "$(DESTDIR)$(libexecdir)"
> -     $(INSTALL_PROG) $(STRIP_OPT) $(HELPERS-y) "$(DESTDIR)$(libexecdir)"
> +     $(INSTALL_PROG) $(STRIP_OPT) $(HELPERS) "$(DESTDIR)$(libexecdir)"
>  endif
>  ifneq ($(BLOBS),)
>       set -e; for x in $(BLOBS); do \
> diff --git a/configure b/configure
> index 8789324..304c648 100755
> --- a/configure
> +++ b/configure
> @@ -3204,6 +3204,7 @@ qemu_confdir=$sysconfdir$confsuffix
>  qemu_datadir=$datadir$confsuffix
>  
>  tools=""
> +helpers=""
>  if test "$want_tools" = "yes" ; then
>    tools="qemu-img\$(EXESUF) qemu-io\$(EXESUF) $tools"
>    if [ "$linux" = "yes" -o "$bsd" = "yes" -o "$solaris" = "yes" ] ; then
> @@ -3225,9 +3226,12 @@ if test "$softmmu" = yes ; then
>    fi
>    if [ "$linux" = "yes" -o "$bsd" = "yes" -o "$solaris" = "yes" ] ; then
>      if [ "$guest_agent" = "yes" ]; then
> -      tools="qemu-ga\$(EXESUF) $tools"
> +      helpers="qemu-ga\$(EXESUF) $helpers"
>      fi
>    fi
> +  if [ "$linux" = "yes"  ] ; then
> +     helpers="qemu-bridge-helper\$(EXESUF) $helpers"
> +  fi
>  fi
>  
>  # Mac OS X ships with a broken assembler
> @@ -3744,6 +3748,7 @@ if test "$trace_default" = "yes"; then
>  fi
>  
>  echo "TOOLS=$tools" >> $config_host_mak
> +echo "HELPERS=$helpers" >> $config_host_mak
>  echo "ROMS=$roms" >> $config_host_mak
>  echo "MAKE=$make" >> $config_host_mak
>  echo "INSTALL=$install" >> $config_host_mak
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]