[2/3] configure: add --guest-agent-statedir

Submitted by Luiz Capitulino on Oct. 3, 2012, 5:24 p.m.

Details

Message ID 1349285059-5415-3-git-send-email-lcapitulino@redhat.com
State New
Headers show

Commit Message

Luiz Capitulino Oct. 3, 2012, 5:24 p.m.
Defaults to /var/run.

Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
---
 configure | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Michael Roth Oct. 3, 2012, 6:13 p.m.
On Wed, Oct 03, 2012 at 02:24:18PM -0300, Luiz Capitulino wrote:
> Defaults to /var/run.
> 
> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
> ---
>  configure | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/configure b/configure
> index 4cfcdc6..4f3d2ed 100755
> --- a/configure
> +++ b/configure
> @@ -215,6 +215,7 @@ usb_redir=""
>  opengl=""
>  zlib="yes"
>  qemuga="yes"
> +qemuga_statedir="/var/run"
>  want_tools="yes"
>  libiscsi=""
>  coroutine=""
> @@ -628,6 +629,8 @@ for opt do
>    ;;
>    --sysconfdir=*) sysconfdir="$optarg"
>    ;;
> +  --guest-agent-statedir=*) qemuga_statedir="$optarg"
> +  ;;
>    --sbindir=*|--sharedstatedir=*|--localstatedir=*|\
>    --oldincludedir=*|--datarootdir=*|--infodir=*|--localedir=*|\
>    --htmldir=*|--dvidir=*|--pdfdir=*|--psdir=*)
> @@ -1022,6 +1025,7 @@ echo "  --datadir=PATH           install firmware in PATH$confsuffix"
>  echo "  --docdir=PATH            install documentation in PATH$confsuffix"
>  echo "  --bindir=PATH            install binaries in PATH"
>  echo "  --sysconfdir=PATH        install config in PATH$confsuffix"
> +echo "  --guest-agent-statedir=PATH   set Guest Agent state directory to PATH"
>  echo "  --with-confsuffix=SUFFIX suffix for QEMU data inside datadir and sysconfdir [$confsuffix]"
>  echo "  --enable-debug-tcg       enable TCG debugging"
>  echo "  --disable-debug-tcg      disable TCG debugging (default)"
> @@ -3086,6 +3090,7 @@ echo "library directory `eval echo $libdir`"
>  echo "libexec directory `eval echo $libexecdir`"
>  echo "include directory `eval echo $includedir`"
>  echo "config directory  `eval echo $sysconfdir`"
> +echo "qemu-ga state directory  $qemuga_statedir"

Would prefer this get moved down, under "build guest agent"

Looks good otherwise.

>  if test "$mingw32" = "no" ; then
>  echo "Manual directory  `eval echo $mandir`"
>  echo "ELF interp prefix $interp_prefix"
> @@ -3196,6 +3201,7 @@ echo "qemu_datadir=$qemu_datadir" >> $config_host_mak
>  echo "qemu_docdir=$qemu_docdir" >> $config_host_mak
>  echo "CONFIG_QEMU_HELPERDIR=\"$libexecdir\"" >> $config_host_mak
> 
> +echo "CONFIG_QEMUGA_STATEDIR=\"$qemuga_statedir\"" >> $config_host_mak
>  echo "ARCH=$ARCH" >> $config_host_mak
>  if test "$debug_tcg" = "yes" ; then
>    echo "CONFIG_DEBUG_TCG=y" >> $config_host_mak
> -- 
> 1.7.12.315.g682ce8b
>
Michael Roth Oct. 3, 2012, 6:23 p.m.
On Wed, Oct 03, 2012 at 02:24:18PM -0300, Luiz Capitulino wrote:
> Defaults to /var/run.
> 
> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>

Since this has the effect of changing both the default directory for
state and well as the pid file, maybe we should s@state@state/pidfile@
the human-readable descriptions?

> ---
>  configure | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/configure b/configure
> index 4cfcdc6..4f3d2ed 100755
> --- a/configure
> +++ b/configure
> @@ -215,6 +215,7 @@ usb_redir=""
>  opengl=""
>  zlib="yes"
>  qemuga="yes"
> +qemuga_statedir="/var/run"
>  want_tools="yes"
>  libiscsi=""
>  coroutine=""
> @@ -628,6 +629,8 @@ for opt do
>    ;;
>    --sysconfdir=*) sysconfdir="$optarg"
>    ;;
> +  --guest-agent-statedir=*) qemuga_statedir="$optarg"
> +  ;;
>    --sbindir=*|--sharedstatedir=*|--localstatedir=*|\
>    --oldincludedir=*|--datarootdir=*|--infodir=*|--localedir=*|\
>    --htmldir=*|--dvidir=*|--pdfdir=*|--psdir=*)
> @@ -1022,6 +1025,7 @@ echo "  --datadir=PATH           install firmware in PATH$confsuffix"
>  echo "  --docdir=PATH            install documentation in PATH$confsuffix"
>  echo "  --bindir=PATH            install binaries in PATH"
>  echo "  --sysconfdir=PATH        install config in PATH$confsuffix"
> +echo "  --guest-agent-statedir=PATH   set Guest Agent state directory to PATH"
>  echo "  --with-confsuffix=SUFFIX suffix for QEMU data inside datadir and sysconfdir [$confsuffix]"
>  echo "  --enable-debug-tcg       enable TCG debugging"
>  echo "  --disable-debug-tcg      disable TCG debugging (default)"
> @@ -3086,6 +3090,7 @@ echo "library directory `eval echo $libdir`"
>  echo "libexec directory `eval echo $libexecdir`"
>  echo "include directory `eval echo $includedir`"
>  echo "config directory  `eval echo $sysconfdir`"
> +echo "qemu-ga state directory  $qemuga_statedir"
>  if test "$mingw32" = "no" ; then
>  echo "Manual directory  `eval echo $mandir`"
>  echo "ELF interp prefix $interp_prefix"
> @@ -3196,6 +3201,7 @@ echo "qemu_datadir=$qemu_datadir" >> $config_host_mak
>  echo "qemu_docdir=$qemu_docdir" >> $config_host_mak
>  echo "CONFIG_QEMU_HELPERDIR=\"$libexecdir\"" >> $config_host_mak
> 
> +echo "CONFIG_QEMUGA_STATEDIR=\"$qemuga_statedir\"" >> $config_host_mak
>  echo "ARCH=$ARCH" >> $config_host_mak
>  if test "$debug_tcg" = "yes" ; then
>    echo "CONFIG_DEBUG_TCG=y" >> $config_host_mak
> -- 
> 1.7.12.315.g682ce8b
>
Paolo Bonzini Oct. 3, 2012, 6:32 p.m.
Il 03/10/2012 19:24, Luiz Capitulino ha scritto:
> Defaults to /var/run.

Please add instead --localstatedir (defaulting to ${prefix}/var), and
make the guest agent's directory /run inside that one.  Packagers
already know to override --localstatedir=/var, in some cases macros even
do it automatically.

Paolo

> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
> ---
>  configure | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/configure b/configure
> index 4cfcdc6..4f3d2ed 100755
> --- a/configure
> +++ b/configure
> @@ -215,6 +215,7 @@ usb_redir=""
>  opengl=""
>  zlib="yes"
>  qemuga="yes"
> +qemuga_statedir="/var/run"
>  want_tools="yes"
>  libiscsi=""
>  coroutine=""
> @@ -628,6 +629,8 @@ for opt do
>    ;;
>    --sysconfdir=*) sysconfdir="$optarg"
>    ;;
> +  --guest-agent-statedir=*) qemuga_statedir="$optarg"
> +  ;;
>    --sbindir=*|--sharedstatedir=*|--localstatedir=*|\
>    --oldincludedir=*|--datarootdir=*|--infodir=*|--localedir=*|\
>    --htmldir=*|--dvidir=*|--pdfdir=*|--psdir=*)
> @@ -1022,6 +1025,7 @@ echo "  --datadir=PATH           install firmware in PATH$confsuffix"
>  echo "  --docdir=PATH            install documentation in PATH$confsuffix"
>  echo "  --bindir=PATH            install binaries in PATH"
>  echo "  --sysconfdir=PATH        install config in PATH$confsuffix"
> +echo "  --guest-agent-statedir=PATH   set Guest Agent state directory to PATH"
>  echo "  --with-confsuffix=SUFFIX suffix for QEMU data inside datadir and sysconfdir [$confsuffix]"
>  echo "  --enable-debug-tcg       enable TCG debugging"
>  echo "  --disable-debug-tcg      disable TCG debugging (default)"
> @@ -3086,6 +3090,7 @@ echo "library directory `eval echo $libdir`"
>  echo "libexec directory `eval echo $libexecdir`"
>  echo "include directory `eval echo $includedir`"
>  echo "config directory  `eval echo $sysconfdir`"
> +echo "qemu-ga state directory  $qemuga_statedir"
>  if test "$mingw32" = "no" ; then
>  echo "Manual directory  `eval echo $mandir`"
>  echo "ELF interp prefix $interp_prefix"
> @@ -3196,6 +3201,7 @@ echo "qemu_datadir=$qemu_datadir" >> $config_host_mak
>  echo "qemu_docdir=$qemu_docdir" >> $config_host_mak
>  echo "CONFIG_QEMU_HELPERDIR=\"$libexecdir\"" >> $config_host_mak
>  
> +echo "CONFIG_QEMUGA_STATEDIR=\"$qemuga_statedir\"" >> $config_host_mak
>  echo "ARCH=$ARCH" >> $config_host_mak
>  if test "$debug_tcg" = "yes" ; then
>    echo "CONFIG_DEBUG_TCG=y" >> $config_host_mak
>
Luiz Capitulino Oct. 3, 2012, 6:53 p.m.
On Wed, 03 Oct 2012 20:32:21 +0200
Paolo Bonzini <pbonzini@redhat.com> wrote:

> Il 03/10/2012 19:24, Luiz Capitulino ha scritto:
> > Defaults to /var/run.
> 
> Please add instead --localstatedir (defaulting to ${prefix}/var), and
> make the guest agent's directory /run inside that one.  Packagers
> already know to override --localstatedir=/var, in some cases macros even
> do it automatically.

Well, that was my first version but I discarded it for two reasons.

First, --localstatedir is a host-side setting but qemu-ga is not supposed to
run in the host. What if I want a different setting for guests?

Second, having /run appended to --localstatedir (or whatever we choose) may
have a bad effect if qemu is built with --localstatedir=, where qemu-ga's
state will be "/run" (good for Fedora, but might not be good for other
distros or other unixes).

I'm not strong about this though, it just was my reasoning while doing this.
Paolo Bonzini Oct. 3, 2012, 6:56 p.m.
Il 03/10/2012 20:53, Luiz Capitulino ha scritto:
> On Wed, 03 Oct 2012 20:32:21 +0200
> Paolo Bonzini <pbonzini@redhat.com> wrote:
> 
>> Il 03/10/2012 19:24, Luiz Capitulino ha scritto:
>>> Defaults to /var/run.
>>
>> Please add instead --localstatedir (defaulting to ${prefix}/var), and
>> make the guest agent's directory /run inside that one.  Packagers
>> already know to override --localstatedir=/var, in some cases macros even
>> do it automatically.
> 
> Well, that was my first version but I discarded it for two reasons.
> 
> First, --localstatedir is a host-side setting but qemu-ga is not supposed to
> run in the host. What if I want a different setting for guests?

Then you should build twice, like you do when the guest is a completely
different OS.

> Second, having /run appended to --localstatedir (or whatever we choose) may
> have a bad effect if qemu is built with --localstatedir=, where qemu-ga's
> state will be "/run" (good for Fedora, but might not be good for other
> distros or other unixes).

I'm not sure I follow, it would be --localstatedir=/var usually.  Even
Fedora would not use --localstatedir=.

Paolo

> 
> I'm not strong about this though, it just was my reasoning while doing this.
> 
>
Luiz Capitulino Oct. 3, 2012, 7 p.m.
On Wed, 03 Oct 2012 20:56:31 +0200
Paolo Bonzini <pbonzini@redhat.com> wrote:

> Il 03/10/2012 20:53, Luiz Capitulino ha scritto:
> > On Wed, 03 Oct 2012 20:32:21 +0200
> > Paolo Bonzini <pbonzini@redhat.com> wrote:
> > 
> >> Il 03/10/2012 19:24, Luiz Capitulino ha scritto:
> >>> Defaults to /var/run.
> >>
> >> Please add instead --localstatedir (defaulting to ${prefix}/var), and
> >> make the guest agent's directory /run inside that one.  Packagers
> >> already know to override --localstatedir=/var, in some cases macros even
> >> do it automatically.
> > 
> > Well, that was my first version but I discarded it for two reasons.
> > 
> > First, --localstatedir is a host-side setting but qemu-ga is not supposed to
> > run in the host. What if I want a different setting for guests?
> 
> Then you should build twice, like you do when the guest is a completely
> different OS.

Fine with me if this is acceptable.

> > Second, having /run appended to --localstatedir (or whatever we choose) may
> > have a bad effect if qemu is built with --localstatedir=, where qemu-ga's
> > state will be "/run" (good for Fedora, but might not be good for other
> > distros or other unixes).
> 
> I'm not sure I follow, it would be --localstatedir=/var usually.  Even
> Fedora would not use --localstatedir=.

Which part you didn't follow, that no one would build with --localstatedir=
or what is the problem if this is done?

If it's the former, then I buy that argument and will change the series.

Patch hide | download patch | download mbox

diff --git a/configure b/configure
index 4cfcdc6..4f3d2ed 100755
--- a/configure
+++ b/configure
@@ -215,6 +215,7 @@  usb_redir=""
 opengl=""
 zlib="yes"
 qemuga="yes"
+qemuga_statedir="/var/run"
 want_tools="yes"
 libiscsi=""
 coroutine=""
@@ -628,6 +629,8 @@  for opt do
   ;;
   --sysconfdir=*) sysconfdir="$optarg"
   ;;
+  --guest-agent-statedir=*) qemuga_statedir="$optarg"
+  ;;
   --sbindir=*|--sharedstatedir=*|--localstatedir=*|\
   --oldincludedir=*|--datarootdir=*|--infodir=*|--localedir=*|\
   --htmldir=*|--dvidir=*|--pdfdir=*|--psdir=*)
@@ -1022,6 +1025,7 @@  echo "  --datadir=PATH           install firmware in PATH$confsuffix"
 echo "  --docdir=PATH            install documentation in PATH$confsuffix"
 echo "  --bindir=PATH            install binaries in PATH"
 echo "  --sysconfdir=PATH        install config in PATH$confsuffix"
+echo "  --guest-agent-statedir=PATH   set Guest Agent state directory to PATH"
 echo "  --with-confsuffix=SUFFIX suffix for QEMU data inside datadir and sysconfdir [$confsuffix]"
 echo "  --enable-debug-tcg       enable TCG debugging"
 echo "  --disable-debug-tcg      disable TCG debugging (default)"
@@ -3086,6 +3090,7 @@  echo "library directory `eval echo $libdir`"
 echo "libexec directory `eval echo $libexecdir`"
 echo "include directory `eval echo $includedir`"
 echo "config directory  `eval echo $sysconfdir`"
+echo "qemu-ga state directory  $qemuga_statedir"
 if test "$mingw32" = "no" ; then
 echo "Manual directory  `eval echo $mandir`"
 echo "ELF interp prefix $interp_prefix"
@@ -3196,6 +3201,7 @@  echo "qemu_datadir=$qemu_datadir" >> $config_host_mak
 echo "qemu_docdir=$qemu_docdir" >> $config_host_mak
 echo "CONFIG_QEMU_HELPERDIR=\"$libexecdir\"" >> $config_host_mak
 
+echo "CONFIG_QEMUGA_STATEDIR=\"$qemuga_statedir\"" >> $config_host_mak
 echo "ARCH=$ARCH" >> $config_host_mak
 if test "$debug_tcg" = "yes" ; then
   echo "CONFIG_DEBUG_TCG=y" >> $config_host_mak