All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] configure: Remove old *-config-devices.mak.d files when running configure
@ 2019-03-11 10:29 Thomas Huth
  2019-03-11 16:21 ` Eric Blake
  0 siblings, 1 reply; 3+ messages in thread
From: Thomas Huth @ 2019-03-11 10:29 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel
  Cc: qemu-trivial, Eric Blake, Philippe Mathieu-Daudé

When running "make" in a build directory from the pre-Kconfig merge time,
the build process currently fails with:

 make: *** No rule to make target `.../default-configs/pci.mak',
  needed by `aarch64-softmmu/config-devices.mak'.  Stop.

To make sure that this problem at least goes away when the user runs
"configure" (or "sh config.status") again, we have to make sure that
we re-generate the .mak.d files. Thus remove the old stale files
while running the configure script.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 configure | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/configure b/configure
index b354e74..32c847f 100755
--- a/configure
+++ b/configure
@@ -1792,6 +1792,9 @@ EOF
 exit 0
 fi
 
+# Remove old dependency files to make sure that they get properly regenerated
+rm -f *-config-devices.mak.d
+
 if ! has $python; then
   error_exit "Python not found. Use --python=/path/to/python"
 fi
-- 
1.8.3.1

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

* Re: [Qemu-devel] [PATCH] configure: Remove old *-config-devices.mak.d files when running configure
  2019-03-11 10:29 [Qemu-devel] [PATCH] configure: Remove old *-config-devices.mak.d files when running configure Thomas Huth
@ 2019-03-11 16:21 ` Eric Blake
  2019-04-30 18:54   ` Thomas Huth
  0 siblings, 1 reply; 3+ messages in thread
From: Eric Blake @ 2019-03-11 16:21 UTC (permalink / raw)
  To: Thomas Huth, Paolo Bonzini, qemu-devel
  Cc: qemu-trivial, Philippe Mathieu-Daudé

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

On 3/11/19 5:29 AM, Thomas Huth wrote:
> When running "make" in a build directory from the pre-Kconfig merge time,
> the build process currently fails with:
> 
>  make: *** No rule to make target `.../default-configs/pci.mak',
>   needed by `aarch64-softmmu/config-devices.mak'.  Stop.
> 
> To make sure that this problem at least goes away when the user runs
> "configure" (or "sh config.status") again, we have to make sure that
> we re-generate the .mak.d files. Thus remove the old stale files
> while running the configure script.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  configure | 3 +++
>  1 file changed, 3 insertions(+)

What are the conditions for make deciding it needs to rerun
config.status? Are end users still going to get 'make' failing with the
cryptic message (where we just advise on-list and on-wiki to
'./config.status' to fix it), or is there a way to build in a dependency
so that the makefile itself knows that if config.status has to be rerun,
that takes priority over any other rule that depends on .mak files?

> 
> diff --git a/configure b/configure
> index b354e74..32c847f 100755
> --- a/configure
> +++ b/configure
> @@ -1792,6 +1792,9 @@ EOF
>  exit 0
>  fi
>  
> +# Remove old dependency files to make sure that they get properly regenerated
> +rm -f *-config-devices.mak.d
> +
>  if ! has $python; then
>    error_exit "Python not found. Use --python=/path/to/python"
>  fi
> 

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3226
Virtualization:  qemu.org | libvirt.org


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

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

* Re: [Qemu-devel] [PATCH] configure: Remove old *-config-devices.mak.d files when running configure
  2019-03-11 16:21 ` Eric Blake
@ 2019-04-30 18:54   ` Thomas Huth
  0 siblings, 0 replies; 3+ messages in thread
From: Thomas Huth @ 2019-04-30 18:54 UTC (permalink / raw)
  To: Eric Blake, Paolo Bonzini, qemu-devel
  Cc: qemu-trivial, Philippe Mathieu-Daudé

On 11/03/2019 17.21, Eric Blake wrote:
> On 3/11/19 5:29 AM, Thomas Huth wrote:
>> When running "make" in a build directory from the pre-Kconfig merge time,
>> the build process currently fails with:
>>
>>  make: *** No rule to make target `.../default-configs/pci.mak',
>>   needed by `aarch64-softmmu/config-devices.mak'.  Stop.
>>
>> To make sure that this problem at least goes away when the user runs
>> "configure" (or "sh config.status") again, we have to make sure that
>> we re-generate the .mak.d files. Thus remove the old stale files
>> while running the configure script.
>>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> ---
>>  configure | 3 +++
>>  1 file changed, 3 insertions(+)
> 
> What are the conditions for make deciding it needs to rerun
> config.status? Are end users still going to get 'make' failing with the
> cryptic message (where we just advise on-list and on-wiki to
> './config.status' to fix it), or is there a way to build in a dependency
> so that the makefile itself knows that if config.status has to be rerun,
> that takes priority over any other rule that depends on .mak files?

I just noticed that I never replied to this mail so far, sorry!

The conditions for rerunning config.status can be found in the Makefile:

config-host.mak: $(SRC_PATH)/configure $(SRC_PATH)/pc-bios $(SRC_PATH)/VERSION
        @echo $@ is out-of-date, running configure
	...

At least we change VERSION regularly, so while not being perfect, the problem
should go away after a while with this patch. Not sure whether there is a better
way to do this - maybe depend on the files in default-configs/, too? Or maybe we
could simply bump VERSION from x.y.50 to x.y.51 the next time when we ever hit
such a problem again...?

 Thomas

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

end of thread, other threads:[~2019-04-30 18:57 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-11 10:29 [Qemu-devel] [PATCH] configure: Remove old *-config-devices.mak.d files when running configure Thomas Huth
2019-03-11 16:21 ` Eric Blake
2019-04-30 18:54   ` Thomas Huth

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.