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.
We don't necessarily deprecate only options, but we might also
deprecate
monitor commands, specific options values (while keeping other values of
the same option) etc.
Exactly.