QEMU-Devel Archive mirror
 help / color / mirror / Atom feed
From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org,
	"Harsh Prateek Bora" <harshpb@linux.ibm.com>,
	"Nicholas Piggin" <npiggin@gmail.com>,
	"Richard Henderson" <richard.henderson@linaro.org>,
	"Yanan Wang" <wangyanan55@huawei.com>,
	"Philippe Mathieu-Daudé" <philmd@linaro.org>,
	"Thomas Huth" <thuth@redhat.com>,
	"Cédric Le Goater" <clegoate@redhat.com>,
	"Halil Pasic" <pasic@linux.ibm.com>,
	"Laurent Vivier" <laurent@vivier.eu>,
	qemu-arm@nongnu.org,
	"Daniel Henrique Barboza" <danielhb413@gmail.com>,
	"Eduardo Habkost" <eduardo@habkost.net>,
	qemu-ppc@nongnu.org, "David Gibson" <david@gibson.dropbear.id.au>,
	"Ilya Leoshkevich" <iii@linux.ibm.com>,
	"Eric Farman" <farman@linux.ibm.com>,
	"Christian Borntraeger" <borntraeger@linux.ibm.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Marcel Apfelbaum" <marcel.apfelbaum@gmail.com>,
	"David Hildenbrand" <david@redhat.com>,
	qemu-s390x@nongnu.org
Subject: Re: [PATCH 00/14] hw: define and enforce a standard lifecycle for versioned machines
Date: Fri, 3 May 2024 13:34:57 +0100	[thread overview]
Message-ID: <ZjTZ8YrxElWp1A8x@redhat.com> (raw)
In-Reply-To: <CAFEAcA9LTsdjHpip1F=BPhrRUbH++3eW4HjjH4Xn6yN18pHtjQ@mail.gmail.com>

On Fri, May 03, 2024 at 01:14:27PM +0100, Peter Maydell wrote:
> On Wed, 1 May 2024 at 19:28, Daniel P. Berrangé <berrange@redhat.com> wrote:
> > I wonder, however, whether we would benefit from changing how we
> > update the VERSION file.
> >
> > eg instead of re-using the micro digit to indicate a dev or rc
> > snapshot, represent those explicitly. eg "9.1.0-dev" and
> > "9.1.0-rc1", "9.1.0-rc2", etc in VERSION.
> >
> > We don't use the full QEMU_VERSION in the code in all that many
> > places. It appears in some help messages for command line tools,
> > and in QMP query-version response, and in a few other misc places.
> > At a glance it appears all of those places would easily handle a
> > tagged version.
> >
> > For release candidates in particular I think it would be saner
> > to show the user the actual version the release is about to become,
> > rather than the previous release's version. This would make the
> > reported version match the rc tarball naming too which would be
> > nice.
> 
> I think the theory behind the VERSION file is that we want
> to be able to express the version:
>  * purely numerically
>  * in a strictly ascending order
> 
> We expose the assumption of numeric versions in places like
> QMP's query-version command, which reports it as a set of ints.

Right, we have:

#     -> { "execute": "query-version" }
#     <- {
#           "return":{
#              "qemu":{
#                 "major":0,
#                 "minor":11,
#                 "micro":5
#              },
#              "package":""
#           }
#        }


We could add an extra field to it thus:


#     -> { "execute": "query-version" }
#     <- {
#           "return":{
#              "qemu":{
#                 "major":0,
#                 "minor":11,
#                 "micro":5,
#                 "tag": "rc2"
#              },
#              "package":""
#           }
#        }

arguably we are still in strictly ascending order for the
numeric part, we merely didn't bump the numeric part of
the value at rc releases.

> I think there's probably scope for making the "human friendly"
> version string be surfaced instead of the strictly-numeric
> one in more places, but I worry that breaking the "always
> numeric and ascending" rule might have subtle breakage for
> us or for downstream uses...

Downstream I see no issues. There are already many projects which
use a '-dev' or '-rcNN' suffix for tarballs of unreleased versions,
and distros have guidelines on how they deal with this.

In fact downstream already deals with it for QEMU, because they will
typically set packaging versioning based on the version as seen in
the tarball name, not the different version seen in the VERSION file
(and thus QMP).

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



      reply	other threads:[~2024-05-03 12:36 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-01 18:27 [PATCH 00/14] hw: define and enforce a standard lifecycle for versioned machines Daniel P. Berrangé
2024-05-01 18:27 ` [PATCH 01/14] include/hw: add helpers for defining versioned machine types Daniel P. Berrangé
2024-05-02 10:34   ` Thomas Huth
2024-05-09 14:39     ` Daniel P. Berrangé
2024-05-02 14:57   ` Eric Blake
2024-05-02 16:54     ` Thomas Huth
2024-05-09 14:39     ` Daniel P. Berrangé
2024-05-01 18:27 ` [PATCH 02/14] hw/arm: convert 'virt' machine definitions to use new macros Daniel P. Berrangé
2024-05-02 12:11   ` Thomas Huth
2024-05-01 18:27 ` [PATCH 03/14] hw/s390x: convert 'ccw' " Daniel P. Berrangé
2024-05-02 11:12   ` Thomas Huth
2024-05-01 18:27 ` [PATCH 04/14] hw/ppc: convert 'spapr' " Daniel P. Berrangé
2024-05-02 11:57   ` Thomas Huth
2024-05-01 18:27 ` [PATCH 05/14] hw/m68k: convert 'virt' " Daniel P. Berrangé
2024-05-02 12:00   ` Thomas Huth
2024-05-01 18:27 ` [PATCH 06/14] hw/i386: convert 'i440fx' " Daniel P. Berrangé
2024-05-01 18:27 ` [PATCH 07/14] hw/i386: convert 'q35' " Daniel P. Berrangé
2024-05-01 18:27 ` [PATCH 08/14] include/hw: add macros for deprecation & removal of versioned machines Daniel P. Berrangé
2024-05-02 10:59   ` Thomas Huth
2024-05-09 14:42     ` Daniel P. Berrangé
2024-05-01 18:27 ` [PATCH 09/14] hw: temporarily disable deletion of versioned machine types Daniel P. Berrangé
2024-05-02 11:05   ` Thomas Huth
2024-05-02 11:13     ` Daniel P. Berrangé
2024-05-01 18:27 ` [PATCH 10/14] hw: set deprecation info for all " Daniel P. Berrangé
2024-05-02 11:06   ` Thomas Huth
2024-05-01 18:27 ` [PATCH 11/14] hw: skip registration of outdated " Daniel P. Berrangé
2024-05-02 12:02   ` Thomas Huth
2024-05-01 18:27 ` [PATCH 12/14] hw/ppc: remove obsolete manual deprecation reason string of spapr machines Daniel P. Berrangé
2024-05-02 12:04   ` Thomas Huth
2024-05-01 18:27 ` [PATCH 13/14] hw/i386: remove obsolete manual deprecation reason string of i440fx machines Daniel P. Berrangé
2024-05-02 12:08   ` Thomas Huth
2024-05-02 12:15     ` Daniel P. Berrangé
2024-05-01 18:27 ` [PATCH 14/14] docs: document special exception for machine type deprecation & removal Daniel P. Berrangé
2024-05-02  9:47   ` Thomas Huth
2024-05-02  9:53     ` Daniel P. Berrangé
2024-05-03 11:46 ` [PATCH 00/14] hw: define and enforce a standard lifecycle for versioned machines Cédric Le Goater
2024-05-03 12:14 ` Peter Maydell
2024-05-03 12:34   ` Daniel P. Berrangé [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZjTZ8YrxElWp1A8x@redhat.com \
    --to=berrange@redhat.com \
    --cc=borntraeger@linux.ibm.com \
    --cc=clegoate@redhat.com \
    --cc=danielhb413@gmail.com \
    --cc=david@gibson.dropbear.id.au \
    --cc=david@redhat.com \
    --cc=eduardo@habkost.net \
    --cc=farman@linux.ibm.com \
    --cc=harshpb@linux.ibm.com \
    --cc=iii@linux.ibm.com \
    --cc=laurent@vivier.eu \
    --cc=marcel.apfelbaum@gmail.com \
    --cc=mst@redhat.com \
    --cc=npiggin@gmail.com \
    --cc=pasic@linux.ibm.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=philmd@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    --cc=qemu-s390x@nongnu.org \
    --cc=richard.henderson@linaro.org \
    --cc=thuth@redhat.com \
    --cc=wangyanan55@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).