Re: Cairo-1.2.6 required



On 1/31/07, Carl Worth <cworth cworth org> wrote:
Though I am still a bit confused as to what's going on with cairo
versions in the freedesktop-2.x.y.modules files here:

http://ftp.gnome.org/pub/GNOME/teams/releng/

Here are the things I see:

Gnome version   cairo version
2.16.1          1.2.4
2.16.2          1.2.6
2.16.3          1.2.6

That much looks just fine. Cairo 1.2.6 fixed a lot of bugs that 1.2.4
had, so it's good the change was made. But here's where I'm lost:

Gnome version   cairo version
2.17.1          1.2.4
2.17.2          1.2.4
2.17.3          1.3.6
2.17.4          1.2.6
2.17.5          1.2.4
2.17.90         1.2.4

Can you explain what's happening there? It looks like GNOME is
regressing into old cairo versions with lots of known bugs.

Short version:

The version bumping in 2.17.3 and 2.17.4 was erroneous, not the return
to 1.2.4 in later releases (since 1.2.4 was explicitly specified in
the ExternalDependencies wiki page).  The bumping in 2.17.3 was due to
an error/misunderstanding, and the drop to 1.2.6 looks like an error
was made while meaning to drop back to 1.2.4.


The long and boring explanation for the curious:

Basically, those modulesets are automatically generated[1] with a
script.  The script takes either the existing gnome-2.16.modules or
gnome-2.18.modules file and tries to find the appropriate tarballs to
go with them (which also involves other included modulesets, i.e.
gnutls.modules and freedesktop*.modules).  The script is far from
perfect, but it definitely beats manually finding over 100 tarballs.
The release team member in charge of the given release will look over
the created moduleset, build it, run the resulting build, and make any
modifications that appear necessary during that process (e.g. busted
tarball build requiring us to request a new version from the
maintainer or downgrade).

The fact that the 2.16 sets always got the latest stable release of
cairo can be attributed to the fact that gnome-2.16.modules depends on
freedesktop.modules which still uses git versions of cairo; in such
cases the script always looks for the latest tarball (up to a limit; <
1.3.x for the stable version in this case).

The anomaly with the 2.18 set is due to a couple of factors.  (1)
gnome-2.18.modules depends on freedesktop-2.18.modules, which
explicitly used the cairo-1.2.4 tarball (as specified in the
ExternalDependencies wiki) instead of git.  In such cases, the script
simply uses the tarball version already appearing in the moduleset.
So everything so far is correct.  (2) However, it appears that Kjartan
thought we had already agreed/decided to switch to 1.3.x, so Kjartan
manually switched over to 1.3.6 when he did the 2.17.3 release.  He
also updated freedesktop-2.18.modules to use git again (instead of
newer tarballs; bad Kjartan!).  (3) I don't remember what happened
anymore when I made the 2.17.4 release, but I'm guessing: I ran the
script with Kjartan's git-using freedesktop-2.18.modules file (i.e.
the official version as checked in to cvs/svn), noticed the error,
copy-and-pasted from the handy 2.16.2 moduleset file to drop the cairo
version to 1.2.x (getting 1.2.6 instead of 1.2.4), reverted Kjartan's
change in freedesktop-2.18.modules, and then forgot to follow up with
Kjartan on the issue.  (Ooops, double bad on my part: 1.2.6 vs 1.2.4,
and not following up.  I blame my brain fried state from trying to
finish up my dissertation changes)

Meanwhile, I'd really like to see GNOME people testing recent cairo
snapshots, (such as 1.3.12), so we can have as much assurance as
possible that the things that GNOME cares about get fixed before cairo
makes a 1.4 release.

Since jhbuild/modulesets/freedesktop-2.18.modules specifies
cairo-1.3.12, it will be the version that automatically appears in the
2.17.91, 2.17.92 and 2.18.0 modulesets unless a release team member
manually modifies the automatically generated moduleset (or
freedesktop-2.18.modules gets modified).  So, using newer versions of
cairo should happen automatically.  :)


Hope that helps,
Elijah



[1] See http://live.gnome.org/ReleasePlanning/MakingARelease for full details.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]