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.
[...]