[cairo] Time for a release ?

Bryce Harrington bryce at bryceharrington.org
Wed Nov 18 07:35:23 UTC 2020


On Mon, Nov 16, 2020 at 02:31:41PM +0000, Stuart Axon wrote:
> Is Meson the preferred way of building Cairo these days ?

It's not been used for doing releases before, so for this release may be
most expedient to stick with autotools.

Longer term, keeping two parallel build systems equally maintained is
pretty unrealistic, so ideally it would be nice if the release mechanics
can be moved to use meson with the objective of eventually deprecating
the autotools support.  (This could be a good project for a new
maintainer...)

> After briefly looking at the script it's reassuring it seems to do
> quite a bit, though I noticed that LATEST still points at 1.16.0 for
> some reason so maybe something isn't quite right.

No, it's correct.  Even version numbers like 1.16 indicate stable
releases.  Odd version numbers like 1.17 are used for development
snapshots.  LATEST points at the most recent stable release.

> Does Cairo have CI anywhere?
> I guess the tests not all passing is still an issue there?
> This seems like something people with more sporadic free time might be able to help with enabling.

While CI can be quite helpful in general, my advice is that this may be
a bit of a time sink to keep adequately maintained (as I mentioned in
earlier emails today).  It would be more valuable to the project to
focus testing time on running and analyzing test results locally.

If you're interested in doing testing work with Cairo, there are a
number of options that may be easy on-ramps for new contributors, and/or
good fits for people with only sporadic freetime:

1.  Compile with -D_FORTIFY_SOURCES=N and fix warnings
    - Use the newest version of gcc available
    - Note that just because something flags a warning, it doesn't
      necessarily mean there is an actual bug in Cairo.  Some warnings
      are ok to just ignore.

2.  Run clang on cairo
    - http://clang-analyzer.llvm.org/scan-build.html

3.  cppcheck
    - cppcheck -f --enable=warning,performance,portability -j2 .
    - See also https://github.com/pukkaone/find-unnecessary-includes
      and https://code.google.com/p/include-what-you-use/

4.  Coverity
    - https://scan.coverity.com/projects/cairo?tab=overview
    - I already went through all the coverity issues a while back, so
      this may be scraping the barrel now.
    - IIRC you have to do a special build of cairo for coverity and then
      upload the results.
    - You'll need a Coverity account.  I can add anyone interested.

5.  valgrind
    - Run valgrind against a hello-world app (e.g. fdo #52548)

I would suggest just doing these things one-off as your time & interest
allows.  In theory these are all CI-able, but in practice not worth
automating unless there are people able to follow up on issues as
they're discovered.

> Is it worth looking into funding options to support admin work like this ?

All the past Cairo maintainers were sponsored by their employers.
Finding an employer able to sponsor a part-time maintainer would thus
fit with established precident.

For other funding mechanisms, I'm unsure - just be careful of spending
more time "fundraising" than "maintaining".

Bryce

>    On Friday, November 13, 2020, 5:51:31 PM GMT, Bryce Harrington <bryce at bryceharrington.org> wrote:  
>  
>  Yes, that document is kept up to date with the release procedure,
> although it may need some changes for meson.
> 
> If you guys would like, I can look at rolling a new devel release.
> Is the codebase in a releasable state currently?
> 
> Fwiw, I've not been involved in the graphics field lately; it may make
> sense, if another established Cairo contributor has
> time/experience/inclination to take over the release management duties I
> can provide training.
> 
> Bryce
> 
> On Fri, Nov 13, 2020 at 04:45:45PM +0100, the Adib wrote:
> > Maybe Bryce Harrington can assist? Adib.
> > 
> > Heiko Lewin <hlewin at gmx.de> schrieb am Fr., 13. Nov. 2020, 12:57:
> > 
> > > There is some documentation, but I don't know how accurate it is:
> > > https://gitlab.freedesktop.org/cairo/cairo/-/blob/master/RELEASING
> > >
> > > No idea who has got the permissions/accounts to do a release or how to get
> > > them.
> > >
> > >
> > > On 11/13/20 12:31 PM, Stuart Axon wrote:
> > >
> > > This would definitely not be ideal downstream at pycairo, which is very
> > > much alive.
> > >
> > >
> > > Is the process for building / testing / releasing cairo documented
> > > anywhere ?
> > >
> > >
> > >
> > >
> > > On Thursday, November 12, 2020, 9:07:07 PM GMT, Matthias Clasen
> > > <matthias.clasen at gmail.com> <matthias.clasen at gmail.com> wrote:
> > >
> > >
> > > Ok, last call:
> > >
> > > Is there still somebody around in the cairo community who is willing and
> > > able to make a release ?
> > >
> > > I can roll a 1.18 tarball if that is what it takes, and I can put it in
> > > the same place as GTK releases
> > > (on
> > > download.gnome.org), but I cannot upload it to the usual place for cairo
> > > releases (on freedesktop.org).
> > >
> > > If I do that, though, the NEWS file in that tarball will come with a big
> > > note that cairo is dead, and advise
> > > users to look for alternatives. The current situation is untenable.
> > >
> > > --
> > > cairo mailing list
> > > cairo at cairographics.org
> > > https://lists.cairographics.org/mailman/listinfo/cairo
> > >
> > > --
> > > cairo mailing list
> > > cairo at cairographics.org
> > > https://lists.cairographics.org/mailman/listinfo/cairo
> > >
>   


More information about the cairo mailing list