[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:21:55 UTC 2018
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.
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