Sorting out external dependencies

External dependencies were created so we could build GNOME on a stable
ground, instead of an ever moving serie of libraries; later on it got
diverted to include libraries that didn't want to be part of GNOME
(desktop or platform) but that we needed nevertheless.

This seriously helped, but the way it was diverted made it awkward at
times; later on the moduleset reorg totally removed the notion of
external dependencies, and it's not clear which modules are now taken
from tarballs, or from Git.

Here comes a first rendition of my thoughts on the subject.

** 1st level : established, stable, system modules, they have been in
place for a long time, with stable API and ABI, and they exist in
sufficient versions in the distributions commonly used by GNOME
hackers, even in older but still used versions (Fedora 13 for

Examples : libxml2, libpng, dbus...

Proposed guideline : mentioned as dependencies with a base version,
not built by default by jhbuild.

Rationale : we want to reduce the number of modules that need to be
built to start developing on GNOME.

** 2nd level : modules developed outside GNOME, with little attention
to our schedule, but with an active development, and where we want to
track recent code.

Examples : mozilla (js-185 nowadays), poppler.

Proposed guideline : built from tarballs, version bumps whenever a
module need a new version.

Rationale : we need recent code, but we do not want to arrive on a
release days with modules failing to build because they require some
code only available in $DVCS.

** 3rd level : libraries developed outside GNOME, with attention to
our schedule (i.e. we can ask for a tarball and get it in two days).

Examples : webkitgtk, polkit.

Proposed guideline : treated like any other GNOME module, built from
latest git.

Rationale : we do not need to put extra burden on modules that are
close to us.

A glaring omission is the process required to get into one of those
classification, I left it out because I think it should be discussed
at the same time as the changes to our "new module proposals" process.

Thoughts? (or we put that on the meeting agenda?)


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