[Spice-devel] [PATCH spice-server 1/3] fixup! Update gitlab-ci to use meson
Eduardo Lima (Etrunko)
etrunko at redhat.com
Wed Jul 25 13:59:56 UTC 2018
On 25/07/18 10:21, Eduardo Lima (Etrunko) wrote:
> On 25/07/18 10:16, Frediano Ziglio wrote:
>>> On 25/07/18 06:07, Frediano Ziglio wrote:
>>>> Check we get correctly project version
>>>> ---
>>>> meson.build | 9 ++++++---
>>>> 1 file changed, 6 insertions(+), 3 deletions(-)
>>>>
>>>> diff --git a/meson.build b/meson.build
>>>> index c564941b9..360d1a543 100644
>>>> --- a/meson.build
>>>> +++ b/meson.build
>>>> @@ -1,14 +1,17 @@
>>>> #
>>>> # project definition
>>>> #
>>>> -# TODO: double check meson.project_version()
>>>> -# Ideally we would use the output of git-version-gen as input for meson,
>>>> because
>>>> -# we can not check the result of the command before declaring project().
>>>> #
>>>> project('spice', 'c',
>>>> version : run_command('build-aux/git-version-gen',
>>>> '.tarball-version').stdout().strip(),
>>>> license : 'LGPLv2.1',
>>>> meson_version : '>= 0.47.0')
>>>> +# double check meson.project_version()
>>>> +# we can not check the result of the command before declaring project().
>>>> +version = run_command('build-aux/git-version-gen', '.tarball-version',
>>>> check : true).stdout().strip()
>>>> +if meson.project_version() != version
>>>> + error('Wrong project version')
>>>> +endif
>>>>
>>>
>>>
>>> Thinking better about this one, wouldn't it be enough to add 'check :
>>> true' to the run_command in project definition only, instead of running
>>> it again?
>>>
>>
>> Would... but not work! Meson die really badly if you try...
>
> Okay, I tested it and got this long backtrace, looks like we found a bug
> in meson.
>
Filed https://github.com/mesonbuild/meson/issues/3944
> Traceback (most recent call last):
> File "/usr/lib/python3.6/site-packages/mesonbuild/mesonmain.py", line
> 351, in run
> app.generate()
> File "/usr/lib/python3.6/site-packages/mesonbuild/mesonmain.py", line
> 117, in generate
> self._generate(env)
> File "/usr/lib/python3.6/site-packages/mesonbuild/mesonmain.py", line
> 134, in _generate
> intr = interpreter.Interpreter(b)
> File "/usr/lib/python3.6/site-packages/mesonbuild/interpreter.py",
> line 1874, in __init__
> self.parse_project()
> File "/usr/lib/python3.6/site-packages/mesonbuild/interpreterbase.py",
> line 362, in parse_project
> self.evaluate_codeblock(self.ast, end=1)
> File "/usr/lib/python3.6/site-packages/mesonbuild/interpreterbase.py",
> line 401, in evaluate_codeblock
> raise e
> File "/usr/lib/python3.6/site-packages/mesonbuild/interpreterbase.py",
> line 395, in evaluate_codeblock
> self.evaluate_statement(cur)
> File "/usr/lib/python3.6/site-packages/mesonbuild/interpreterbase.py",
> line 406, in evaluate_statement
> return self.function_call(cur)
> File "/usr/lib/python3.6/site-packages/mesonbuild/interpreterbase.py",
> line 688, in function_call
> (posargs, kwargs) = self.reduce_arguments(node.args)
> File "/usr/lib/python3.6/site-packages/mesonbuild/interpreterbase.py",
> line 925, in reduce_arguments
> reduced_kw[key] = self.evaluate_statement(a)
> File "/usr/lib/python3.6/site-packages/mesonbuild/interpreterbase.py",
> line 410, in evaluate_statement
> return self.method_call(cur)
> File "/usr/lib/python3.6/site-packages/mesonbuild/interpreterbase.py",
> line 706, in method_call
> obj = self.evaluate_statement(invokable)
> File "/usr/lib/python3.6/site-packages/mesonbuild/interpreterbase.py",
> line 410, in evaluate_statement
> return self.method_call(cur)
> File "/usr/lib/python3.6/site-packages/mesonbuild/interpreterbase.py",
> line 706, in method_call
> obj = self.evaluate_statement(invokable)
> File "/usr/lib/python3.6/site-packages/mesonbuild/interpreterbase.py",
> line 406, in evaluate_statement
> return self.function_call(cur)
> File "/usr/lib/python3.6/site-packages/mesonbuild/interpreterbase.py",
> line 696, in function_call
> return func(node, posargs, kwargs)
> File "/usr/lib/python3.6/site-packages/mesonbuild/interpreterbase.py",
> line 269, in wrapped
> FeatureCheckClass(name, self.feature_version).use(subproject)
> File "/usr/lib/python3.6/site-packages/mesonbuild/interpreterbase.py",
> line 178, in use
> tv = self.get_target_version(subproject)
> File "/usr/lib/python3.6/site-packages/mesonbuild/interpreterbase.py",
> line 175, in get_target_version
> return mesonlib.project_meson_versions[subproject]
> KeyError: ''
>
>
>>
>>>
>>> diff --git a/meson.build b/meson.build
>>> index c564941b..bc5424cc 100644
>>> --- a/meson.build
>>> +++ b/meson.build
>>> @@ -1,12 +1,8 @@
>>> #
>>> # project definition
>>> #
>>> -# TODO: double check meson.project_version()
>>> -# Ideally we would use the output of git-version-gen as input for
>>> meson, because
>>> -# we can not check the result of the command before declaring project().
>>> -#
>>> project('spice', 'c',
>>> - version : run_command('build-aux/git-version-gen',
>>> '.tarball-version').stdout().strip(),
>>> + version : run_command('build-aux/git-version-gen',
>>> '.tarball-version', check : true).stdout().strip(),
>>> license : 'LGPLv2.1',
>>> meson_version : '>= 0.47.0')
>>>
>>>
>>>
>>>
>>>> spice_server_so_version = '1.12.4'
>>>>
>>>>
>
>
--
Eduardo de Barros Lima (Etrunko)
Software Engineer - RedHat
etrunko at redhat.com
More information about the Spice-devel
mailing list