[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH ] [trivial] qapi: Build-depend on all json files
From: |
Lluís Vilanova |
Subject: |
Re: [Qemu-devel] [PATCH ] [trivial] qapi: Build-depend on all json files |
Date: |
Thu, 04 Feb 2016 17:31:46 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
Peter Maydell writes:
> On 4 February 2016 at 15:32, Eric Blake <address@hidden> wrote:
>> On 02/04/2016 07:55 AM, Peter Maydell wrote:
>>> On 4 February 2016 at 14:39, Lluís Vilanova <address@hidden> wrote:
>>>> Dynamically detects the files used to generate QAPI code, thus ensuring
>>>> it's never out of sync with the sources.
>>>>
>>>> Signed-off-by: Lluís Vilanova <address@hidden>
>>>> ---
>>>> Makefile | 6 ++----
>>>> 1 file changed, 2 insertions(+), 4 deletions(-)
>>>>
>>>> diff --git a/Makefile b/Makefile
>>>> index d0de2d4..627f772 100644
>>>> --- a/Makefile
>>>> +++ b/Makefile
>>>> @@ -269,10 +269,8 @@ $(SRC_PATH)/qga/qapi-schema.json
>>>> $(SRC_PATH)/scripts/qapi-commands.py $(qapi-py)
>>>> $(gen-out-type) -o qga/qapi-generated -p "qga-" $<, \
>>>> " GEN $@")
>>>>
>>>> -qapi-modules = $(SRC_PATH)/qapi-schema.json $(SRC_PATH)/qapi/common.json \
>>>> - $(SRC_PATH)/qapi/block.json
>>>> $(SRC_PATH)/qapi/block-core.json \
>>>> - $(SRC_PATH)/qapi/event.json
>>>> $(SRC_PATH)/qapi/introspect.json \
>>>> - $(SRC_PATH)/qapi/crypto.json
>>>> +qapi-modules = $(SRC_PATH)/qapi-schema.json
>>>> +qapi-modules += $(shell find $(SRC_PATH)/qapi -name "*.json")
>>>
>>> All the .json files are in the same directory, so I don't think we should
>>> need to use find here. Does
>>>
>>> qapi-modules += $(wildcard $(SRC_PATH)/qapi/*.json))
>>>
>>> work ?
>>
>> Does this wildcard affect what goes into a tarball? I'm worried that we
>> may run the risk of a stale .json file on one developer's machine
>> causing an unreproducible build on other machines where the file is not
>> found; explicit lists tend to be safer than wildcards.
>>
>> I won't reject the patch if others like it, but I won't approve it myself.
> You need to ask Mike Roth about our tarball generation process, not me.
> I do agree that this patch needs to make the case for why .json source
> files are special and should be wildcarded, when for instance all our
> C source files are explicitly listed in makefiles.
Ok, so I found that qapi/trace.json is missing in qapi-modules. I'm prototyping
some changes to it, but suddenly found that QAPI was failing to compile due to
outdated code.
So I followed the same approach used in tracetool, where find/wildcard will pull
in all relevant files as a dependency, without fear of missing any.
An explicit list makes a good case for reproducible builds wrt the distribution
tarball, but find/wildcard eliminate these type of compilation errors I've found
when a json file is not listed.
Cheers,
Lluis
Re: [Qemu-devel] [PATCH ] [trivial] qapi: Build-depend on all json files, Lluís Vilanova, 2016/02/04
Re: [Qemu-devel] [PATCH ] [trivial] qapi: Build-depend on all json files, Lluís Vilanova, 2016/02/04