
On Thu, 12 Jul 2018 08:51:16 +0200 Markus Armbruster <armbru@redhat.com> wrote:
Markus Armbruster <armbru@redhat.com> writes:
Kevin Wolf <kwolf@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@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).