On Thu, 12 Jul 2018 08:51:16 +0200
Markus Armbruster <armbru(a)redhat.com> wrote:
Markus Armbruster <armbru(a)redhat.com> writes:
> Kevin Wolf <kwolf(a)redhat.com> writes:
>
>> Am 10.07.2018 um 16:22 hat Cornelia Huck geschrieben:
>>> On Tue, 10 Jul 2018 07:59:15 +0200
>>> Markus Armbruster <armbru(a)redhat.com> wrote:
>>>
>>> > In addition to actively pulling libvirt developers into review of
>>> > deprecation patches, we should pursue the idea to optionally let QEMU
>>> > fail on use of deprecated features, then have libvirt run its test
suite
>>> > that way.
>>>
>>> What about the following:
>>>
>>> qemu_deprecated_option("old_option", "modern_option");
>>>
>>> Which would then print (in normal operation)
>>>
>>> "WARNING: 'old_option' is deprecated and will be removed; use
'modern_option' instead"
>>>
>>> to the monitor (or to stderr? to both?).
>>>
>>> If you start QEMU with a -no-deprecated-options switch, it would print
>>>
>>> "ERROR: 'old_option' is deprecated and will be removed; use
'modern_option' instead"
>>>
>>> and do an exit(1).
>>>
>>> Would that be workable?
>>
>> I think the function should just take a message:
>>
>> /* Works like error_report(), except for the WARNING/ERROR prefix
>> * and exit(1) if -no-deprecated-options is set */
>> void deprecation_report(const char *fmt, ...);
>
> I like it. The contract could use a bit of polish, but that's detail.
Suggest --deprecated={silent,warn,error}, default silent.
I like that, but I'd prefer to default to warn (so that command line
users have a better chance to notice it).