Am 12.07.2018 um 09:48 hat Cornelia Huck geschrieben:
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.
Obviously, this comment wasn't meant to be copied into the source code,
but just to explain what I'm actually proposing there.
> 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).
I agree that warn is the better default. (It's also consistent with what
we have been doing for deprecations so far.)
Kevin