qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/3] add --confdir option to configure
@ 2012-03-19 14:47 Eduardo Habkost
  2012-03-19 14:47 ` [Qemu-devel] [PATCH 1/3] Makefile: use $(confdir) instead of hardcoding $(sysconfdir)/qemu Eduardo Habkost
                   ` (3 more replies)
  0 siblings, 4 replies; 22+ messages in thread
From: Eduardo Habkost @ 2012-03-19 14:47 UTC (permalink / raw)
  To: qemu-devel

This series change the Makefile to use $(confdir) instead of
$(sysconfdir)/qemu, and allows the full config path configurable instead of
forcing the use of $(sysconfdir)/qemu.

Eduardo Habkost (3):
  Makefile: use $(confdir) instead of hardcoding $(sysconfdir)/qemu
  qemu-options.hx: refer to confdir instead of sysconfdir on docs
  configure: make full config dir path configurable

 Makefile        |    4 ++--
 configure       |   15 ++++++++++-----
 qemu-options.hx |    4 ++--
 3 files changed, 14 insertions(+), 9 deletions(-)

-- 
1.7.3.2

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

* [Qemu-devel] [PATCH 1/3] Makefile: use $(confdir) instead of hardcoding $(sysconfdir)/qemu
  2012-03-19 14:47 [Qemu-devel] [PATCH 0/3] add --confdir option to configure Eduardo Habkost
@ 2012-03-19 14:47 ` Eduardo Habkost
  2012-03-19 14:47 ` [Qemu-devel] [PATCH 2/3] qemu-options.hx: refer to confdir instead of sysconfdir on docs Eduardo Habkost
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 22+ messages in thread
From: Eduardo Habkost @ 2012-03-19 14:47 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
 Makefile |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index 1bc3cb0..9d583c4 100644
--- a/Makefile
+++ b/Makefile
@@ -279,8 +279,8 @@ ifdef CONFIG_VIRTFS
 	$(INSTALL_DATA) fsdev/virtfs-proxy-helper.1 "$(DESTDIR)$(mandir)/man1"
 endif
 install-sysconfig:
-	$(INSTALL_DIR) "$(DESTDIR)$(sysconfdir)/qemu"
-	$(INSTALL_DATA) $(SRC_PATH)/sysconfigs/target/target-x86_64.conf "$(DESTDIR)$(sysconfdir)/qemu"
+	$(INSTALL_DIR) "$(DESTDIR)$(confdir)"
+	$(INSTALL_DATA) $(SRC_PATH)/sysconfigs/target/target-x86_64.conf "$(DESTDIR)$(confdir)"
 
 install: all $(if $(BUILD_DOCS),install-doc) install-sysconfig
 	$(INSTALL_DIR) "$(DESTDIR)$(bindir)"
-- 
1.7.3.2

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

* [Qemu-devel] [PATCH 2/3] qemu-options.hx: refer to confdir instead of sysconfdir on docs
  2012-03-19 14:47 [Qemu-devel] [PATCH 0/3] add --confdir option to configure Eduardo Habkost
  2012-03-19 14:47 ` [Qemu-devel] [PATCH 1/3] Makefile: use $(confdir) instead of hardcoding $(sysconfdir)/qemu Eduardo Habkost
@ 2012-03-19 14:47 ` Eduardo Habkost
  2012-03-19 14:47 ` [Qemu-devel] [PATCH 3/3] configure: make full config dir path configurable Eduardo Habkost
  2012-03-19 15:14 ` [Qemu-devel] [PATCH 0/3] add --confdir option to configure Anthony Liguori
  3 siblings, 0 replies; 22+ messages in thread
From: Eduardo Habkost @ 2012-03-19 14:47 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
 qemu-options.hx |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/qemu-options.hx b/qemu-options.hx
index daefce3..39578f1 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -2676,8 +2676,8 @@ DEF("nodefconfig", 0, QEMU_OPTION_nodefconfig,
 STEXI
 @item -nodefconfig
 @findex -nodefconfig
-Normally QEMU loads a configuration file from @var{sysconfdir}/qemu.conf and
-@var{sysconfdir}/target-@var{ARCH}.conf on startup.  The @code{-nodefconfig}
+Normally QEMU loads a configuration file from @var{confdir}/qemu.conf and
+@var{confdir}/target-@var{ARCH}.conf on startup.  The @code{-nodefconfig}
 option will prevent QEMU from loading these configuration files at startup.
 ETEXI
 DEF("trace", HAS_ARG, QEMU_OPTION_trace,
-- 
1.7.3.2

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

* [Qemu-devel] [PATCH 3/3] configure: make full config dir path configurable
  2012-03-19 14:47 [Qemu-devel] [PATCH 0/3] add --confdir option to configure Eduardo Habkost
  2012-03-19 14:47 ` [Qemu-devel] [PATCH 1/3] Makefile: use $(confdir) instead of hardcoding $(sysconfdir)/qemu Eduardo Habkost
  2012-03-19 14:47 ` [Qemu-devel] [PATCH 2/3] qemu-options.hx: refer to confdir instead of sysconfdir on docs Eduardo Habkost
@ 2012-03-19 14:47 ` Eduardo Habkost
  2012-03-19 15:13   ` Anthony Liguori
  2012-03-19 15:14 ` [Qemu-devel] [PATCH 0/3] add --confdir option to configure Anthony Liguori
  3 siblings, 1 reply; 22+ messages in thread
From: Eduardo Habkost @ 2012-03-19 14:47 UTC (permalink / raw)
  To: qemu-devel

Instead of hardcoding $sysconfdir/qemu, let the user choose the full
path.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
 configure |   15 ++++++++++-----
 1 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/configure b/configure
index 8b4e3c1..98027c1 100755
--- a/configure
+++ b/configure
@@ -162,6 +162,7 @@ libdir="\${prefix}/lib"
 includedir="\${prefix}/include"
 sysconfdir="\${prefix}/etc"
 confsuffix="/qemu"
+fullconfdir=""
 slirp="yes"
 fmod_lib=""
 fmod_inc=""
@@ -595,6 +596,8 @@ for opt do
   ;;
   --sysconfdir=*) sysconfdir="$optarg"
   ;;
+  --confdir=*) fullconfdir="$optarg"
+  ;;
   --sbindir=*|--libexecdir=*|--sharedstatedir=*|--localstatedir=*|\
   --oldincludedir=*|--datarootdir=*|--infodir=*|--localedir=*|\
   --htmldir=*|--dvidir=*|--pdfdir=*|--psdir=*)
@@ -1010,7 +1013,8 @@ echo "  --mandir=PATH            install man pages in PATH"
 echo "  --datadir=PATH           install firmware in PATH"
 echo "  --docdir=PATH            install documentation in PATH"
 echo "  --bindir=PATH            install binaries in PATH"
-echo "  --sysconfdir=PATH        install config in PATH/qemu"
+echo "  --sysconfdir=PATH        install config in PATH$confsuffix"
+echo "  --confdir=PATH           install config in PATH (overrides --sysconfdir)"
 echo "  --enable-debug-tcg       enable TCG debugging"
 echo "  --disable-debug-tcg      disable TCG debugging (default)"
 echo "  --enable-debug           enable common debug build options"
@@ -2830,7 +2834,9 @@ if test "$mingw32" = "yes" ; then
     done
 fi
 
-confdir=$sysconfdir$confsuffix
+if [ -z "$fullconfdir" ];then
+	fullconfdir=$sysconfdir$confsuffix
+fi
 
 tools=
 if test "$softmmu" = yes ; then
@@ -2869,7 +2875,7 @@ echo "BIOS directory    `eval echo $datadir`"
 echo "binary directory  `eval echo $bindir`"
 echo "library directory `eval echo $libdir`"
 echo "include directory `eval echo $includedir`"
-echo "config directory  `eval echo $sysconfdir`"
+echo "config directory  `eval echo $fullconfdir`"
 if test "$mingw32" = "no" ; then
 echo "Manual directory  `eval echo $mandir`"
 echo "ELF interp prefix $interp_prefix"
@@ -2974,9 +2980,8 @@ echo "libdir=$libdir" >> $config_host_mak
 echo "includedir=$includedir" >> $config_host_mak
 echo "mandir=$mandir" >> $config_host_mak
 echo "datadir=$datadir" >> $config_host_mak
-echo "sysconfdir=$sysconfdir" >> $config_host_mak
 echo "docdir=$docdir" >> $config_host_mak
-echo "confdir=$confdir" >> $config_host_mak
+echo "confdir=$fullconfdir" >> $config_host_mak
 echo "libexecdir=\${prefix}/libexec" >> $config_host_mak
 echo "CONFIG_QEMU_SHAREDIR=\"$prefix$datasuffix\"" >> $config_host_mak
 echo "CONFIG_QEMU_HELPERDIR=\"$prefix/libexec\"" >> $config_host_mak
-- 
1.7.3.2

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

* Re: [Qemu-devel] [PATCH 3/3] configure: make full config dir path configurable
  2012-03-19 14:47 ` [Qemu-devel] [PATCH 3/3] configure: make full config dir path configurable Eduardo Habkost
@ 2012-03-19 15:13   ` Anthony Liguori
  2012-03-19 15:40     ` Paolo Bonzini
  0 siblings, 1 reply; 22+ messages in thread
From: Anthony Liguori @ 2012-03-19 15:13 UTC (permalink / raw)
  To: Eduardo Habkost; +Cc: Paolo Bonzini, qemu-devel

On 03/19/2012 09:47 AM, Eduardo Habkost wrote:
> Instead of hardcoding $sysconfdir/qemu, let the user choose the full
> path.
>
> Signed-off-by: Eduardo Habkost<ehabkost@redhat.com>
> ---
>   configure |   15 ++++++++++-----
>   1 files changed, 10 insertions(+), 5 deletions(-)
>
> diff --git a/configure b/configure
> index 8b4e3c1..98027c1 100755
> --- a/configure
> +++ b/configure
> @@ -162,6 +162,7 @@ libdir="\${prefix}/lib"
>   includedir="\${prefix}/include"
>   sysconfdir="\${prefix}/etc"
>   confsuffix="/qemu"
> +fullconfdir=""
>   slirp="yes"
>   fmod_lib=""
>   fmod_inc=""
> @@ -595,6 +596,8 @@ for opt do
>     ;;
>     --sysconfdir=*) sysconfdir="$optarg"
>     ;;
> +  --confdir=*) fullconfdir="$optarg"
> +  ;;
>     --sbindir=*|--libexecdir=*|--sharedstatedir=*|--localstatedir=*|\
>     --oldincludedir=*|--datarootdir=*|--infodir=*|--localedir=*|\
>     --htmldir=*|--dvidir=*|--pdfdir=*|--psdir=*)
> @@ -1010,7 +1013,8 @@ echo "  --mandir=PATH            install man pages in PATH"
>   echo "  --datadir=PATH           install firmware in PATH"
>   echo "  --docdir=PATH            install documentation in PATH"
>   echo "  --bindir=PATH            install binaries in PATH"
> -echo "  --sysconfdir=PATH        install config in PATH/qemu"
> +echo "  --sysconfdir=PATH        install config in PATH$confsuffix"
> +echo "  --confdir=PATH           install config in PATH (overrides --sysconfdir)"

These semantics seem odd to me, is this similar to what autotools does?  I think 
that's what we're trying to match here.

Regards,

Anthony Liguori

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

* Re: [Qemu-devel] [PATCH 0/3] add --confdir option to configure
  2012-03-19 14:47 [Qemu-devel] [PATCH 0/3] add --confdir option to configure Eduardo Habkost
                   ` (2 preceding siblings ...)
  2012-03-19 14:47 ` [Qemu-devel] [PATCH 3/3] configure: make full config dir path configurable Eduardo Habkost
@ 2012-03-19 15:14 ` Anthony Liguori
  2012-03-19 15:31   ` Eduardo Habkost
  3 siblings, 1 reply; 22+ messages in thread
From: Anthony Liguori @ 2012-03-19 15:14 UTC (permalink / raw)
  To: Eduardo Habkost; +Cc: qemu-devel

On 03/19/2012 09:47 AM, Eduardo Habkost wrote:
> This series change the Makefile to use $(confdir) instead of
> $(sysconfdir)/qemu, and allows the full config path configurable instead of
> forcing the use of $(sysconfdir)/qemu.

What's the use case here?  Is this to allow $(sysconfdir)/qemu-kvm?

I'd rather we use a PACKAGE_NAME define to do that and have qemu-kvm change 
PACKAGE_NAME.

Regards,

Anthony Liguori

>
> Eduardo Habkost (3):
>    Makefile: use $(confdir) instead of hardcoding $(sysconfdir)/qemu
>    qemu-options.hx: refer to confdir instead of sysconfdir on docs
>    configure: make full config dir path configurable
>
>   Makefile        |    4 ++--
>   configure       |   15 ++++++++++-----
>   qemu-options.hx |    4 ++--
>   3 files changed, 14 insertions(+), 9 deletions(-)
>

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

* Re: [Qemu-devel] [PATCH 0/3] add --confdir option to configure
  2012-03-19 15:14 ` [Qemu-devel] [PATCH 0/3] add --confdir option to configure Anthony Liguori
@ 2012-03-19 15:31   ` Eduardo Habkost
  2012-03-19 15:34     ` Anthony Liguori
  0 siblings, 1 reply; 22+ messages in thread
From: Eduardo Habkost @ 2012-03-19 15:31 UTC (permalink / raw)
  To: Anthony Liguori; +Cc: qemu-devel

On Mon, Mar 19, 2012 at 10:14:54AM -0500, Anthony Liguori wrote:
> On 03/19/2012 09:47 AM, Eduardo Habkost wrote:
> >This series change the Makefile to use $(confdir) instead of
> >$(sysconfdir)/qemu, and allows the full config path configurable instead of
> >forcing the use of $(sysconfdir)/qemu.
> 
> What's the use case here?  Is this to allow $(sysconfdir)/qemu-kvm?

Yes. On RHEL we usually package qemu-kvm only, but we try to avoid
conflicts in case other flavors of qemu be provided by third-parties
(read: EPEL).

> 
> I'd rather we use a PACKAGE_NAME define to do that and have qemu-kvm
> change PACKAGE_NAME.

I tried to mimic --mandir, --datadir, --docdir, and all other options
that expect full paths instead of trying to building one itself.

A --package-name option could be provided to make it easier to override
all the defaults at the same time, but I don't see why not include an
option to define the full path for confdir, just like we allow for
datadir, docdir, and mandir.

-- 
Eduardo

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

* Re: [Qemu-devel] [PATCH 0/3] add --confdir option to configure
  2012-03-19 15:31   ` Eduardo Habkost
@ 2012-03-19 15:34     ` Anthony Liguori
  2012-03-19 15:43       ` Eduardo Habkost
  0 siblings, 1 reply; 22+ messages in thread
From: Anthony Liguori @ 2012-03-19 15:34 UTC (permalink / raw)
  To: Eduardo Habkost; +Cc: qemu-devel

On 03/19/2012 10:31 AM, Eduardo Habkost wrote:
> On Mon, Mar 19, 2012 at 10:14:54AM -0500, Anthony Liguori wrote:
>> On 03/19/2012 09:47 AM, Eduardo Habkost wrote:
>>> This series change the Makefile to use $(confdir) instead of
>>> $(sysconfdir)/qemu, and allows the full config path configurable instead of
>>> forcing the use of $(sysconfdir)/qemu.
>>
>> What's the use case here?  Is this to allow $(sysconfdir)/qemu-kvm?
>
> Yes. On RHEL we usually package qemu-kvm only, but we try to avoid
> conflicts in case other flavors of qemu be provided by third-parties
> (read: EPEL).
>
>>
>> I'd rather we use a PACKAGE_NAME define to do that and have qemu-kvm
>> change PACKAGE_NAME.
>
> I tried to mimic --mandir, --datadir, --docdir, and all other options
> that expect full paths instead of trying to building one itself.
>
> A --package-name option could be provided to make it easier to override
> all the defaults at the same time, but I don't see why not include an
> option to define the full path for confdir, just like we allow for
> datadir, docdir, and mandir.

No, I'm not suggesting --package-name, I'm suggesting that qemu-kvm would carry 
a patch to configure that changed a fixed PACKAGE_NAME define.

Regards,

Anthony Liguori

>

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

* Re: [Qemu-devel] [PATCH 3/3] configure: make full config dir path configurable
  2012-03-19 15:13   ` Anthony Liguori
@ 2012-03-19 15:40     ` Paolo Bonzini
  0 siblings, 0 replies; 22+ messages in thread
From: Paolo Bonzini @ 2012-03-19 15:40 UTC (permalink / raw)
  To: Anthony Liguori; +Cc: Eduardo Habkost, qemu-devel

Il 19/03/2012 16:13, Anthony Liguori ha scritto:
>>
>> -echo "  --sysconfdir=PATH        install config in PATH/qemu"
>> +echo "  --sysconfdir=PATH        install config in PATH$confsuffix"
>> +echo "  --confdir=PATH           install config in PATH (overrides
>> --sysconfdir)"
> 
> These semantics seem odd to me, is this similar to what autotools does? 

No, autotools don't have confdir at all.

This stuff is outside the scope of autotools.  The latest fad is to look
for files in /usr/share/PACKAGE/foo (or /usr/lib, depending on whether
they depend on the host arch---for QEMU they shouldn't),
/etc/PACKAGE/foo and ~/.local/share/PACKAGE/foo.  That's likely what we
should do here (except perhaps ~/.local): start with --datadir and
--sysconfdir, tack /qemu at the end and look in the two resulting
directories.

Paolo

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

* Re: [Qemu-devel] [PATCH 0/3] add --confdir option to configure
  2012-03-19 15:34     ` Anthony Liguori
@ 2012-03-19 15:43       ` Eduardo Habkost
  2012-03-19 15:59         ` Anthony Liguori
                           ` (2 more replies)
  0 siblings, 3 replies; 22+ messages in thread
From: Eduardo Habkost @ 2012-03-19 15:43 UTC (permalink / raw)
  To: Anthony Liguori; +Cc: qemu-devel

On Mon, Mar 19, 2012 at 10:34:06AM -0500, Anthony Liguori wrote:
> On 03/19/2012 10:31 AM, Eduardo Habkost wrote:
> >On Mon, Mar 19, 2012 at 10:14:54AM -0500, Anthony Liguori wrote:
> >>On 03/19/2012 09:47 AM, Eduardo Habkost wrote:
> >>>This series change the Makefile to use $(confdir) instead of
> >>>$(sysconfdir)/qemu, and allows the full config path configurable instead of
> >>>forcing the use of $(sysconfdir)/qemu.
> >>
> >>What's the use case here?  Is this to allow $(sysconfdir)/qemu-kvm?
> >
> >Yes. On RHEL we usually package qemu-kvm only, but we try to avoid
> >conflicts in case other flavors of qemu be provided by third-parties
> >(read: EPEL).
> >
> >>
> >>I'd rather we use a PACKAGE_NAME define to do that and have qemu-kvm
> >>change PACKAGE_NAME.
> >
> >I tried to mimic --mandir, --datadir, --docdir, and all other options
> >that expect full paths instead of trying to building one itself.
> >
> >A --package-name option could be provided to make it easier to override
> >all the defaults at the same time, but I don't see why not include an
> >option to define the full path for confdir, just like we allow for
> >datadir, docdir, and mandir.
> 
> No, I'm not suggesting --package-name, I'm suggesting that qemu-kvm
> would carry a patch to configure that changed a fixed PACKAGE_NAME
> define.

Are you really suggesting that forcing downstream to carry a patch is
better than having a configure option?

If you suggest making it configurable using a variable on the 'make'
command-line it would be OK, but I kind of hoped that no modern software
project would ever require packagers to use configure-by-sed methods to
set build parameters.

-- 
Eduardo

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

* Re: [Qemu-devel] [PATCH 0/3] add --confdir option to configure
  2012-03-19 15:43       ` Eduardo Habkost
@ 2012-03-19 15:59         ` Anthony Liguori
  2012-03-19 16:09           ` Eduardo Habkost
  2012-03-19 16:03         ` Eric Blake
  2012-03-19 16:13         ` Paolo Bonzini
  2 siblings, 1 reply; 22+ messages in thread
From: Anthony Liguori @ 2012-03-19 15:59 UTC (permalink / raw)
  To: Eduardo Habkost; +Cc: qemu-devel

On 03/19/2012 10:43 AM, Eduardo Habkost wrote:
> On Mon, Mar 19, 2012 at 10:34:06AM -0500, Anthony Liguori wrote:
>> On 03/19/2012 10:31 AM, Eduardo Habkost wrote:
>>> On Mon, Mar 19, 2012 at 10:14:54AM -0500, Anthony Liguori wrote:
>>>> On 03/19/2012 09:47 AM, Eduardo Habkost wrote:
>>>>> This series change the Makefile to use $(confdir) instead of
>>>>> $(sysconfdir)/qemu, and allows the full config path configurable instead of
>>>>> forcing the use of $(sysconfdir)/qemu.
>>>>
>>>> What's the use case here?  Is this to allow $(sysconfdir)/qemu-kvm?
>>>
>>> Yes. On RHEL we usually package qemu-kvm only, but we try to avoid
>>> conflicts in case other flavors of qemu be provided by third-parties
>>> (read: EPEL).
>>>
>>>>
>>>> I'd rather we use a PACKAGE_NAME define to do that and have qemu-kvm
>>>> change PACKAGE_NAME.
>>>
>>> I tried to mimic --mandir, --datadir, --docdir, and all other options
>>> that expect full paths instead of trying to building one itself.
>>>
>>> A --package-name option could be provided to make it easier to override
>>> all the defaults at the same time, but I don't see why not include an
>>> option to define the full path for confdir, just like we allow for
>>> datadir, docdir, and mandir.
>>
>> No, I'm not suggesting --package-name, I'm suggesting that qemu-kvm
>> would carry a patch to configure that changed a fixed PACKAGE_NAME
>> define.
>
> Are you really suggesting that forcing downstream to carry a patch is
> better than having a configure option?

To change the package name?  Absolutely!

> If you suggest making it configurable using a variable on the 'make'
> command-line it would be OK, but I kind of hoped that no modern software
> project would ever require packagers to use configure-by-sed methods to
> set build parameters.

Changing the package name is a Big Deal.  It's not that we should provide a 
friendly interface for.

If you're already a downstream, I don't see the problem carrying a one liner for 
something this significant.

Regards,

Anthony Liguori

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

* Re: [Qemu-devel] [PATCH 0/3] add --confdir option to configure
  2012-03-19 15:43       ` Eduardo Habkost
  2012-03-19 15:59         ` Anthony Liguori
@ 2012-03-19 16:03         ` Eric Blake
  2012-03-19 16:25           ` Anthony Liguori
  2012-03-19 16:13         ` Paolo Bonzini
  2 siblings, 1 reply; 22+ messages in thread
From: Eric Blake @ 2012-03-19 16:03 UTC (permalink / raw)
  To: Eduardo Habkost; +Cc: qemu-devel, Anthony Liguori

[-- Attachment #1: Type: text/plain, Size: 1630 bytes --]

On 03/19/2012 09:43 AM, Eduardo Habkost wrote:
>>> A --package-name option could be provided to make it easier to override
>>> all the defaults at the same time, but I don't see why not include an
>>> option to define the full path for confdir, just like we allow for
>>> datadir, docdir, and mandir.
>>
>> No, I'm not suggesting --package-name, I'm suggesting that qemu-kvm
>> would carry a patch to configure that changed a fixed PACKAGE_NAME
>> define.

Actually, the idea of an explicit --package-name is not that bad: the
upstream automake list recently had a discussion on whether it should be
possible to alter the PACKAGE_NAME at configure or even make time, and
the conclusion was that it might be a useful idea, but we'd need to
pursue getting the GNU Coding Standards, autoconf, and automake all
updated to make it a reality, as it is not necessarily a trivial task
from the outset.

https://lists.gnu.org/archive/html/automake/2012-02/msg00034.html

> If you suggest making it configurable using a variable on the 'make'
> command-line it would be OK, but I kind of hoped that no modern software
> project would ever require packagers to use configure-by-sed methods to
> set build parameters.

Obviously, since qemu doesn't use automake, we aren't quite in the same
position as that automake thread; and even though we are not bound by
GNU Coding Standards, it might be interesting to see what happens on
that front, to make sure we are not proposing an incompatible solution.

-- 
Eric Blake   eblake@redhat.com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 620 bytes --]

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

* Re: [Qemu-devel] [PATCH 0/3] add --confdir option to configure
  2012-03-19 15:59         ` Anthony Liguori
@ 2012-03-19 16:09           ` Eduardo Habkost
  0 siblings, 0 replies; 22+ messages in thread
From: Eduardo Habkost @ 2012-03-19 16:09 UTC (permalink / raw)
  To: Anthony Liguori; +Cc: qemu-devel

On Mon, Mar 19, 2012 at 10:59:35AM -0500, Anthony Liguori wrote:
> On 03/19/2012 10:43 AM, Eduardo Habkost wrote:
> >On Mon, Mar 19, 2012 at 10:34:06AM -0500, Anthony Liguori wrote:
> >>On 03/19/2012 10:31 AM, Eduardo Habkost wrote:
> >>>On Mon, Mar 19, 2012 at 10:14:54AM -0500, Anthony Liguori wrote:
> >>>>On 03/19/2012 09:47 AM, Eduardo Habkost wrote:
> >>>>>This series change the Makefile to use $(confdir) instead of
> >>>>>$(sysconfdir)/qemu, and allows the full config path configurable instead of
> >>>>>forcing the use of $(sysconfdir)/qemu.
> >>>>
> >>>>What's the use case here?  Is this to allow $(sysconfdir)/qemu-kvm?
> >>>
> >>>Yes. On RHEL we usually package qemu-kvm only, but we try to avoid
> >>>conflicts in case other flavors of qemu be provided by third-parties
> >>>(read: EPEL).
> >>>
> >>>>
> >>>>I'd rather we use a PACKAGE_NAME define to do that and have qemu-kvm
> >>>>change PACKAGE_NAME.
> >>>
> >>>I tried to mimic --mandir, --datadir, --docdir, and all other options
> >>>that expect full paths instead of trying to building one itself.
> >>>
> >>>A --package-name option could be provided to make it easier to override
> >>>all the defaults at the same time, but I don't see why not include an
> >>>option to define the full path for confdir, just like we allow for
> >>>datadir, docdir, and mandir.
> >>
> >>No, I'm not suggesting --package-name, I'm suggesting that qemu-kvm
> >>would carry a patch to configure that changed a fixed PACKAGE_NAME
> >>define.
> >
> >Are you really suggesting that forcing downstream to carry a patch is
> >better than having a configure option?
> 
> To change the package name?  Absolutely!

Why?

> 
> >If you suggest making it configurable using a variable on the 'make'
> >command-line it would be OK, but I kind of hoped that no modern software
> >project would ever require packagers to use configure-by-sed methods to
> >set build parameters.
> 
> Changing the package name is a Big Deal.  It's not that we should
> provide a friendly interface for.

Why is it a Big Deal?

> 
> If you're already a downstream, I don't see the problem carrying a
> one liner for something this significant.

Why it is so significant?

Why is /etc/qemu so different from mandir, docdir, and datadir?

-- 
Eduardo

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

* Re: [Qemu-devel] [PATCH 0/3] add --confdir option to configure
  2012-03-19 15:43       ` Eduardo Habkost
  2012-03-19 15:59         ` Anthony Liguori
  2012-03-19 16:03         ` Eric Blake
@ 2012-03-19 16:13         ` Paolo Bonzini
  2012-03-19 16:20           ` Eduardo Habkost
  2 siblings, 1 reply; 22+ messages in thread
From: Paolo Bonzini @ 2012-03-19 16:13 UTC (permalink / raw)
  To: Eduardo Habkost; +Cc: qemu-devel, Anthony Liguori

Il 19/03/2012 16:43, Eduardo Habkost ha scritto:
> > No, I'm not suggesting --package-name, I'm suggesting that qemu-kvm
> > would carry a patch to configure that changed a fixed PACKAGE_NAME
> > define.
> 
> Are you really suggesting that forcing downstream to carry a patch is
> better than having a configure option?

Not downstream as in RHEL; downstream as in qemu-kvm which is a fork anyway.

> If you suggest making it configurable using a variable on the 'make'
> command-line it would be OK, but I kind of hoped that no modern software
> project would ever require packagers to use configure-by-sed methods to
> set build parameters.

I think the package name is a pretty special case.  Even with autotools,
it's pretty much the only thing that requires configure-by-sed to change it.

Paolo

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

* Re: [Qemu-devel] [PATCH 0/3] add --confdir option to configure
  2012-03-19 16:13         ` Paolo Bonzini
@ 2012-03-19 16:20           ` Eduardo Habkost
  2012-03-19 16:22             ` Anthony Liguori
                               ` (2 more replies)
  0 siblings, 3 replies; 22+ messages in thread
From: Eduardo Habkost @ 2012-03-19 16:20 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: qemu-devel, Anthony Liguori

On Mon, Mar 19, 2012 at 05:13:22PM +0100, Paolo Bonzini wrote:
> Il 19/03/2012 16:43, Eduardo Habkost ha scritto:
> > > No, I'm not suggesting --package-name, I'm suggesting that qemu-kvm
> > > would carry a patch to configure that changed a fixed PACKAGE_NAME
> > > define.
> > 
> > Are you really suggesting that forcing downstream to carry a patch is
> > better than having a configure option?
> 
> Not downstream as in RHEL; downstream as in qemu-kvm which is a fork anyway.
> 
> > If you suggest making it configurable using a variable on the 'make'
> > command-line it would be OK, but I kind of hoped that no modern software
> > project would ever require packagers to use configure-by-sed methods to
> > set build parameters.
> 
> I think the package name is a pretty special case.  Even with autotools,
> it's pretty much the only thing that requires configure-by-sed to change it.

I still don't understand why, except that it's a limitation of the build
system implementation. If we don't have that restriction, I don't see
why this should be restricted by design.

Anyway, even if we decide that package name shouldn't be changed: why
changing mandir, docdir and datadir doesn't require changing the package
name, but changing /etc/qemu has to?

-- 
Eduardo

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

* Re: [Qemu-devel] [PATCH 0/3] add --confdir option to configure
  2012-03-19 16:20           ` Eduardo Habkost
@ 2012-03-19 16:22             ` Anthony Liguori
  2012-03-19 16:50               ` Eduardo Habkost
  2012-03-19 16:31             ` Paolo Bonzini
  2012-03-19 16:32             ` Anthony Liguori
  2 siblings, 1 reply; 22+ messages in thread
From: Anthony Liguori @ 2012-03-19 16:22 UTC (permalink / raw)
  To: Eduardo Habkost; +Cc: Paolo Bonzini, qemu-devel

On 03/19/2012 11:20 AM, Eduardo Habkost wrote:
> On Mon, Mar 19, 2012 at 05:13:22PM +0100, Paolo Bonzini wrote:
>> Il 19/03/2012 16:43, Eduardo Habkost ha scritto:
>>>> No, I'm not suggesting --package-name, I'm suggesting that qemu-kvm
>>>> would carry a patch to configure that changed a fixed PACKAGE_NAME
>>>> define.
>>>
>>> Are you really suggesting that forcing downstream to carry a patch is
>>> better than having a configure option?
>>
>> Not downstream as in RHEL; downstream as in qemu-kvm which is a fork anyway.
>>
>>> If you suggest making it configurable using a variable on the 'make'
>>> command-line it would be OK, but I kind of hoped that no modern software
>>> project would ever require packagers to use configure-by-sed methods to
>>> set build parameters.
>>
>> I think the package name is a pretty special case.  Even with autotools,
>> it's pretty much the only thing that requires configure-by-sed to change it.
>
> I still don't understand why, except that it's a limitation of the build
> system implementation. If we don't have that restriction, I don't see
> why this should be restricted by design.

Because rebranding QEMU is not something we want to actively encourage 
downstreams to do.  The fact that qemu-kvm does this is a historical artifact 
that we'll hopefully kill off in the near future.

Regards,

Anthony Liguori

> Anyway, even if we decide that package name shouldn't be changed: why
> changing mandir, docdir and datadir doesn't require changing the package
> name, but changing /etc/qemu has to?
>

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

* Re: [Qemu-devel] [PATCH 0/3] add --confdir option to configure
  2012-03-19 16:03         ` Eric Blake
@ 2012-03-19 16:25           ` Anthony Liguori
  0 siblings, 0 replies; 22+ messages in thread
From: Anthony Liguori @ 2012-03-19 16:25 UTC (permalink / raw)
  To: Eric Blake; +Cc: Eduardo Habkost, qemu-devel

On 03/19/2012 11:03 AM, Eric Blake wrote:
> On 03/19/2012 09:43 AM, Eduardo Habkost wrote:
>>>> A --package-name option could be provided to make it easier to override
>>>> all the defaults at the same time, but I don't see why not include an
>>>> option to define the full path for confdir, just like we allow for
>>>> datadir, docdir, and mandir.
>>>
>>> No, I'm not suggesting --package-name, I'm suggesting that qemu-kvm
>>> would carry a patch to configure that changed a fixed PACKAGE_NAME
>>> define.
>
> Actually, the idea of an explicit --package-name is not that bad: the
> upstream automake list recently had a discussion on whether it should be
> possible to alter the PACKAGE_NAME at configure or even make time, and
> the conclusion was that it might be a useful idea, but we'd need to
> pursue getting the GNU Coding Standards, autoconf, and automake all
> updated to make it a reality, as it is not necessarily a trivial task
> from the outset.
>
> https://lists.gnu.org/archive/html/automake/2012-02/msg00034.html

That's interesting, thanks for point it out.

But I think for qemu, we should stick to not making PACKAGE_NAME configurable.

I would hope that qemu-kvm would stop being packaged separate from qemu in most 
distributions in the not so distance future.

Regards,

Anthony Liguori

>
>> If you suggest making it configurable using a variable on the 'make'
>> command-line it would be OK, but I kind of hoped that no modern software
>> project would ever require packagers to use configure-by-sed methods to
>> set build parameters.
>
> Obviously, since qemu doesn't use automake, we aren't quite in the same
> position as that automake thread; and even though we are not bound by
> GNU Coding Standards, it might be interesting to see what happens on
> that front, to make sure we are not proposing an incompatible solution.
>

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

* Re: [Qemu-devel] [PATCH 0/3] add --confdir option to configure
  2012-03-19 16:20           ` Eduardo Habkost
  2012-03-19 16:22             ` Anthony Liguori
@ 2012-03-19 16:31             ` Paolo Bonzini
  2012-03-19 17:02               ` Eduardo Habkost
  2012-03-19 16:32             ` Anthony Liguori
  2 siblings, 1 reply; 22+ messages in thread
From: Paolo Bonzini @ 2012-03-19 16:31 UTC (permalink / raw)
  To: Eduardo Habkost; +Cc: qemu-devel, Anthony Liguori

Il 19/03/2012 17:20, Eduardo Habkost ha scritto:
>> > I think the package name is a pretty special case.  Even with autotools,
>> > it's pretty much the only thing that requires configure-by-sed to change it.
> I still don't understand why, except that it's a limitation of the build
> system implementation. If we don't have that restriction, I don't see
> why this should be restricted by design.

Because our configure is half-compatible, half-incompatible with
autotools.  This can be confusing, I don't think it's good to add to the
differences.

> Anyway, even if we decide that package name shouldn't be changed: why
> changing mandir,

This one is because all manpages are under /usr/man/manSECT

> docdir and datadir doesn't require changing the package
> name, but changing /etc/qemu has to?

The pedantic answer is "because our meaning of --datadir differ from the
one of autotools", and it cannot really be changed because it would
break backwards-compatibility.  However, I guess that's not an entirely
satisfying answer.

However, the package name and the directory suffix need not be exactly
the same.  Why don't you add --with-conf-suffix or something like that,
and make it apply to both datadir and sysconfdir?

Paolo

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

* Re: [Qemu-devel] [PATCH 0/3] add --confdir option to configure
  2012-03-19 16:20           ` Eduardo Habkost
  2012-03-19 16:22             ` Anthony Liguori
  2012-03-19 16:31             ` Paolo Bonzini
@ 2012-03-19 16:32             ` Anthony Liguori
  2012-03-19 16:34               ` Paolo Bonzini
  2 siblings, 1 reply; 22+ messages in thread
From: Anthony Liguori @ 2012-03-19 16:32 UTC (permalink / raw)
  To: Eduardo Habkost; +Cc: Paolo Bonzini, qemu-devel

On 03/19/2012 11:20 AM, Eduardo Habkost wrote:
> On Mon, Mar 19, 2012 at 05:13:22PM +0100, Paolo Bonzini wrote:
>> Il 19/03/2012 16:43, Eduardo Habkost ha scritto:
>>>> No, I'm not suggesting --package-name, I'm suggesting that qemu-kvm
>>>> would carry a patch to configure that changed a fixed PACKAGE_NAME
>>>> define.
>>>
>>> Are you really suggesting that forcing downstream to carry a patch is
>>> better than having a configure option?
>>
>> Not downstream as in RHEL; downstream as in qemu-kvm which is a fork anyway.
>>
>>> If you suggest making it configurable using a variable on the 'make'
>>> command-line it would be OK, but I kind of hoped that no modern software
>>> project would ever require packagers to use configure-by-sed methods to
>>> set build parameters.
>>
>> I think the package name is a pretty special case.  Even with autotools,
>> it's pretty much the only thing that requires configure-by-sed to change it.
>
> I still don't understand why, except that it's a limitation of the build
> system implementation. If we don't have that restriction, I don't see
> why this should be restricted by design.
>
> Anyway, even if we decide that package name shouldn't be changed: why
> changing mandir, docdir and datadir doesn't require changing the package
> name, but changing /etc/qemu has to?

This is simply autotools semantics that we're emulating.

Regards,

Anthony Liguori

>

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

* Re: [Qemu-devel] [PATCH 0/3] add --confdir option to configure
  2012-03-19 16:32             ` Anthony Liguori
@ 2012-03-19 16:34               ` Paolo Bonzini
  0 siblings, 0 replies; 22+ messages in thread
From: Paolo Bonzini @ 2012-03-19 16:34 UTC (permalink / raw)
  To: Anthony Liguori; +Cc: Eduardo Habkost, qemu-devel

Il 19/03/2012 17:32, Anthony Liguori ha scritto:
>> I still don't understand why, except that it's a limitation of the build
>> system implementation. If we don't have that restriction, I don't see
>> why this should be restricted by design.
>>
>> Anyway, even if we decide that package name shouldn't be changed: why
>> changing mandir, docdir and datadir doesn't require changing the package
>> name, but changing /etc/qemu has to?
> 
> This is simply autotools semantics that we're emulating.

Actually we're not (in the case of datadir).

Paolo

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

* Re: [Qemu-devel] [PATCH 0/3] add --confdir option to configure
  2012-03-19 16:22             ` Anthony Liguori
@ 2012-03-19 16:50               ` Eduardo Habkost
  0 siblings, 0 replies; 22+ messages in thread
From: Eduardo Habkost @ 2012-03-19 16:50 UTC (permalink / raw)
  To: Anthony Liguori; +Cc: Paolo Bonzini, qemu-devel

On Mon, Mar 19, 2012 at 11:22:26AM -0500, Anthony Liguori wrote:
> On 03/19/2012 11:20 AM, Eduardo Habkost wrote:
> >On Mon, Mar 19, 2012 at 05:13:22PM +0100, Paolo Bonzini wrote:
> >>Il 19/03/2012 16:43, Eduardo Habkost ha scritto:
> >>>>No, I'm not suggesting --package-name, I'm suggesting that qemu-kvm
> >>>>would carry a patch to configure that changed a fixed PACKAGE_NAME
> >>>>define.
> >>>
> >>>Are you really suggesting that forcing downstream to carry a patch is
> >>>better than having a configure option?
> >>
> >>Not downstream as in RHEL; downstream as in qemu-kvm which is a fork anyway.
> >>
> >>>If you suggest making it configurable using a variable on the 'make'
> >>>command-line it would be OK, but I kind of hoped that no modern software
> >>>project would ever require packagers to use configure-by-sed methods to
> >>>set build parameters.
> >>
> >>I think the package name is a pretty special case.  Even with autotools,
> >>it's pretty much the only thing that requires configure-by-sed to change it.
> >
> >I still don't understand why, except that it's a limitation of the build
> >system implementation. If we don't have that restriction, I don't see
> >why this should be restricted by design.
> 
> Because rebranding QEMU is not something we want to actively
> encourage downstreams to do.  The fact that qemu-kvm does this is a
> historical artifact that we'll hopefully kill off in the near future.

I don't think this will ever be killed. Note that this has nothing to do
with the fact that qemu-kvm is a separate upstream tree, but with
build-time options. The problem is:

- RHEL provides Qemu, but only with the build options we support;
- I want to avoid conflicting with third-party packages (read: the qemu
  package on EPEL) that use different build options.

The main difference happens to be the fact that we build only qemu-kvm,
but there are all other build-time options we enable/disable and that
may be chosen differently by a third-party Qemu package.

The purpose of this is not rebranding, it's storing binaries, data, and
configuration files in separate places to avoid unnecessary conflicts
and pain for the user.

-- 
Eduardo

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

* Re: [Qemu-devel] [PATCH 0/3] add --confdir option to configure
  2012-03-19 16:31             ` Paolo Bonzini
@ 2012-03-19 17:02               ` Eduardo Habkost
  0 siblings, 0 replies; 22+ messages in thread
From: Eduardo Habkost @ 2012-03-19 17:02 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: qemu-devel, Anthony Liguori

On Mon, Mar 19, 2012 at 05:31:34PM +0100, Paolo Bonzini wrote:
> Il 19/03/2012 17:20, Eduardo Habkost ha scritto:
> > Anyway, even if we decide that package name shouldn't be changed: why
> > changing mandir,
> 
> This one is because all manpages are under /usr/man/manSECT
> 
> > docdir and datadir doesn't require changing the package
> > name, but changing /etc/qemu has to?
> 
> The pedantic answer is "because our meaning of --datadir differ from the
> one of autotools", and it cannot really be changed because it would
> break backwards-compatibility.  However, I guess that's not an entirely
> satisfying answer.
> 
> However, the package name and the directory suffix need not be exactly
> the same.  Why don't you add --with-conf-suffix or something like that,
> and make it apply to both datadir and sysconfdir?

That would work. I don't care about the package name, I just want to
allow the config path to be configured. Why were we all assuming that
the configuration path suffix has to match the package name, in the
first place?

I mean, autotools don't prohibit software from looking at a /etc
subdirectories /etc/PACKAGE, right? Deciding where exactly to look is
out of the scope of autotools, isn't it? It's just configurable Qemu
behavior.

-- 
Eduardo

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

end of thread, other threads:[~2012-03-19 17:02 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-19 14:47 [Qemu-devel] [PATCH 0/3] add --confdir option to configure Eduardo Habkost
2012-03-19 14:47 ` [Qemu-devel] [PATCH 1/3] Makefile: use $(confdir) instead of hardcoding $(sysconfdir)/qemu Eduardo Habkost
2012-03-19 14:47 ` [Qemu-devel] [PATCH 2/3] qemu-options.hx: refer to confdir instead of sysconfdir on docs Eduardo Habkost
2012-03-19 14:47 ` [Qemu-devel] [PATCH 3/3] configure: make full config dir path configurable Eduardo Habkost
2012-03-19 15:13   ` Anthony Liguori
2012-03-19 15:40     ` Paolo Bonzini
2012-03-19 15:14 ` [Qemu-devel] [PATCH 0/3] add --confdir option to configure Anthony Liguori
2012-03-19 15:31   ` Eduardo Habkost
2012-03-19 15:34     ` Anthony Liguori
2012-03-19 15:43       ` Eduardo Habkost
2012-03-19 15:59         ` Anthony Liguori
2012-03-19 16:09           ` Eduardo Habkost
2012-03-19 16:03         ` Eric Blake
2012-03-19 16:25           ` Anthony Liguori
2012-03-19 16:13         ` Paolo Bonzini
2012-03-19 16:20           ` Eduardo Habkost
2012-03-19 16:22             ` Anthony Liguori
2012-03-19 16:50               ` Eduardo Habkost
2012-03-19 16:31             ` Paolo Bonzini
2012-03-19 17:02               ` Eduardo Habkost
2012-03-19 16:32             ` Anthony Liguori
2012-03-19 16:34               ` Paolo Bonzini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).