Updating / building GNOME-2.32 before moving on to GNOME-3,0

Duncan Gibson duncan.gibson at xs4all.nl
Tue May 3 01:04:04 CEST 2011


I just want to throw this work in progress into the ring because I
might not have time to work on it again for a while, but maybe it can
benefit someone else.

1. I ran into a problem when trying to 'lin gnome2' on a fresh install,
   where there are so many modules that have optional_depends on other
   key modules, not yet installed. The first such module asks for the
   settings of the optional_depends module, but just queues it up ready
   to be installed, but doesn't actually install it. Then the next one
   asks for the same settings, and so on.

   That's one flaw in the tools. Another is that there is no way of
   handling the case where module A depends on B with XYZ enabled,
   but module C depends on B with XYZ disabled.

   Oh, and lin returns 0 even if the module failed to install, so you
   can't rely on "lin -rc module || exit 0" to do the right thing :-(

2. To get round this, I wanted to try and build the GNOME-2.32 modules
   one at a time, in the right order, and not rely on explicit depends
   which can pull things in out of order, and implicitly enable options.

   I downloaded GNOME's jhbuild system, struggled to wind the git back
   to the right commit and find the gnome-2.32 moduleset configuration.
   I then ran 'jhbuild list' to get the list of modules to build, and
   the order to build them in. 'jhbuild update' tries to download all
   of the sources for the packages.

   Several bits of bad news here:
   - many of the recent/new packages don't seem to have homepages
     that describe them, or offer tarballs for download
   - many of the packages have switched over to using git, and the
     'jhbuild update' just downloads the current HEAD (I think)
   - there doesn't seem to be an easy way to get a listing of package
     and version/commit number so you know you have a consistent set
     (there used to be a web page somewhere with this info, no?)
   - maybe I screwed up the jhbuild checkout, but there seems to be
     a mix of 2.32.x and 3.0 packages in the list
   - in many cases 'jhbuild info package' shows that the package is
     not in sync with the Lunar module equivalent (some older/newer).
   - and of course there are some packages with no Lunar equivalents.

3. I used the 'jhbuild list' of modules to generate a big DEPENDS for
   my gnome2 module, but that didn't work too well as I had already
   tried to install gnome2 once before, so I had a mix of settings.
   Therefore I generated the attached "gnome-2.32.sh" script to just
   run "lin -rc" on each module in turn.

4. This has been mostly successful. Where modules are unavailable or
   have failed to build, I have commented them out using "echo".

I will need to try this again on a fresh install with X, but if someone
else wants to give it a go and help iron out any problems, please do.

We probably need to go through the modules one at a time, checking that
they are at least as up-to-date as the version given by "jhbuild info".
Either that or check what versions are used in Gentoo, Arch, SM, etc.

Before we rinse and repeat for GNOME-3, do we need to consider how to
separate low-level GTK-2 libraries from the GTK-3 versions so that XFCE
and the other non-GNOME-3 clients can still use them?

Cheers
Duncan / engelsman


-------------- next part --------------
A non-text attachment was scrubbed...
Name: gnome-2.32.sh
Type: application/octet-stream
Size: 8335 bytes
Desc: not available
URL: <http://foo-projects.org/pipermail/lunar-dev/attachments/20110503/4e02ac88/attachment.obj>


More information about the Lunar-dev mailing list