[PATCH weston 1/2] releasing: how to handle libweston

Pekka Paalanen ppaalanen at gmail.com
Mon Aug 15 11:24:27 UTC 2016


On Mon, 15 Aug 2016 17:06:02 +0800
Jonas Ådahl <jadahl at gmail.com> wrote:

> On Wed, Aug 10, 2016 at 03:01:12PM +0300, Pekka Paalanen wrote:
> > From: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
> > 
> > libweston has separate version numbering from weston because of
> > development needs.
> > 
> > During development, weston version is major.minor.90 which will never be
> > a release version number. While developing, we may break the libweston
> > backward-compatibility, in which case libweston_major_version will be
> > bumped. This means that libweston_major_version > weston_major_version
> > but only during the development period and for the pre-releases. When
> > the official x.y.0 release is made, weston and libweston versions will
> > get synchronized as explained in releasing.txt.
> > 
> > The reason we do this is that e.g. during the weston 3.0.90 development
> > period we must be able to install libweston-4.so because the development
> > has broken the compatibility and so we cannot install it as libweston-3.so
> > anymore. However, we cannot bump weston to 4.0.90, because then the
> > official release would go backwards in numbers to 4.0.0.
> > 
> > This also means that weston pre-releases major.minor.9x may install
> > libweston-(major+1).so. There is also libweston-(major+1).pc file but it
> > will give the weston version as the version number. IOW, pkg-config
> > check for 'libweston-M < M.0.0' matches only the pre-releases of the
> > libweston major version M. Hence, 'libweston-M >= M.0.0' cannot be
> > satisfied by pre-releases.
> > 
> > The weston and libweston version numbers MUST be identical in all
> > releases except the pre-releases major.minor.9x.
> > 
> > When the 1.11.91 pre-release is made, the rules imply that libweston
> > version will be bumped from 0.0.0 to 1.11.91. The bumping will continue
> > up to the 1.12.0 release. After the bump to 1.12.90, the libweston
> > version may be bumped to 2.0.0. Then the rules imply that:
> > - 1.12.9x pre-releases install libweston 2.0.0
> > - the next .0 release is 2.0.0 containing libweston 2.0.0
> > 
> > If the 1.12 stable branch will see additional releases, those will be
> > numbered 1.12.1, 1.12.2, etc. with the libweston version being the same
> > as the release version number.
> > 
> > If we have release 2.0.91 without libweston major bump, then libweston
> > version will match the release version, leading up to 2.1.0.
> > 
> > Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>  
> 
> I tried to go through the various scenarious and apply the rules added
> below and it seems to hold up. Some things could be made more obvious,
> but maybe not in the text below. For example, do we ever document how
> "bumping" works, and that it may only be done at most once per major
> stable release?

You asked in irc also about major bump setting minor and patch to zero.
I think I have managed to enforce all that with the version consistency
checks I am about to send a patch for.

> Reviewed-by: Jonas Ådahl <jadahl at gmail.com>

Cool.


Thanks,
pq


> > ---
> >  releasing.txt | 15 ++++++++++++++-
> >  1 file changed, 14 insertions(+), 1 deletion(-)
> > 
> > diff --git a/releasing.txt b/releasing.txt
> > index 0aae23a..b30991f 100644
> > --- a/releasing.txt
> > +++ b/releasing.txt
> > @@ -10,7 +10,20 @@ To make a release of Weston and/or Wayland, follow these steps.
> >        release with any needed protocol updates.
> >  
> >    2.  Update the first three lines of configure.ac to the intended
> > -      version, commit.  Then commit your changes:
> > +      version.
> > +
> > +      For Weston's x.y.0 releases, if libweston_major_version is greater than
> > +      weston_major_version, bump the Weston version numbers (major, minor,
> > +      micro) to match the libweston version numbers (major, minor, patch).
> > +
> > +      Additionally for all Weston releases, if libweston version
> > +      major.minor.patch is less than Weston version major.minor.micro, bump
> > +      libweston version numbers to match the Weston version numbers.
> > +
> > +      Weston releases are made with the Weston version number, not with the
> > +      libweston version number.
> > +
> > +      Then commit your changes:
> >  
> >        $ export RELEASE_NUMBER="x.y.z"
> >        $ export RELEASE_NAME="[alpha|beta|RC1|RC2|official|point]"
> > -- 
> > 2.7.3
> > 
> > _______________________________________________
> > wayland-devel mailing list
> > wayland-devel at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/wayland-devel  

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 811 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/wayland-devel/attachments/20160815/1dcb3ad2/attachment.sig>


More information about the wayland-devel mailing list