Re: GNOME Modulesets migrating to BuildStream
- From: Tristan Van Berkom <tristan vanberkom codethink co uk>
- To: Christian Hergert <christian hergert me>, desktop-devel-list gnome org
- Subject: Re: GNOME Modulesets migrating to BuildStream
- Date: Fri, 10 Nov 2017 17:46:14 +0900
Hi Christian,
When shaking the tree a bit more publicly, something was bound to fall
out, lets figure this out.
On my side, I can say that there is still a ton of work that needs to
be done which can only be delivered after a hard switch to BuildStream
for the GNOME modulesets - delaying this by a whopping additional six
months is a serious setback to the project, which currently has
momentum and as such; viability.
On Thu, 2017-11-09 at 13:44 -0800, Christian Hergert wrote:
On 11/09/2017 03:20 AM, Tristan Van Berkom wrote:
[...]
However, many of us plan our cycles before the cycle starts so that we
ensure we have time to implement features without burning out. We're
already two months into the 3.28 cycle and not far away from the
beginning of freezes. Doubly so when you take into account winter holidays.
This is a delicate dance, we made this decision with the release team
at GUADEC actually, to start using BuildStream only after the imminent
stable release was out the door.
At GUADEC, had I considered that you would want to have integration in
Builder before a switch (I clearly did not suspect this at all) I
should have notified you personally at the time.
I still dont think that the timing for a wider public announcement
would have been right at that time; things need to be near perfect
before we start encouraging JHBuild users to use BuildStream instead to
build GNOME.
This change will undoubtedly affect those of us working on tooling,
newcomer documentation, and worflow. So I'm somewhat concerned that I'm
having, what appears to be, a large amount of work dropped on my plate
mid-cycle if Builder is to not degrade in usefulness for GNOME developers.
How can we ensure that this change happens without breaking Builder
users using the jhbuild runtime?
I'm sorry that out of the many things I have to juggle, I had never
considered Builder compatibility to be a blocker for the GNOME release
team to start maintaining GNOME builds in a new format, this does
strike me as an unreasonable requirement.
Frankly looking back, as someone who pushed a lot for the creation of
GtkBuilder - I could not afford to consider Glade support for the new
format as a blocker to a GTK+ release with GtkBuilder, this is not
_exactly_ apples for apples, but it's fairly close I think - it's not
always realistic to expect that all tooling evolves in lock step.
After some thought, here is my suggestion:
o Discontinue usage of JHBuild modulesets in GNOME releases
around January as planned, switch the upstream modulesets to
BuildStream.
Let's not jeopardize the momentum we have, lets keep the full time
resources we actually have allocated to the project, working on
improving things.
o Keep the JHBuild modulesets on "life support" purely for the sake of
Builder needs until such a time that Builder grows the features
it needs to interact with BuildStream.
By this I mean, that any changes effected to jhbuild modulesets
are in fact backports of patches to the upstream BuildStream based
GNOME project - and are done specifically for the sake of GNOME
Builder users as a stop gap until Builder can grow the feature.
Looking at the jhbuild commit history, this looks like a relatively low
effort affair, especially if it only really needs to be done on an on
demand basis for the vector of Builder users who actually use the
JHBuild integration features. I suspect that as far as Builder using
Apps go, if they are not already using Flatpak, they are going to start
soon.
Also, if you worry about the quality of an interim life support branch
or repo to "carry you over", I would raise that with how ad-hoc JHBuild
is *currently* maintained, I cannot imagine it being worse (gvfs has
been broken for me for an entire week without anyone else even
noticing, recipes was broken with the updated meson, simply because
users are not guaranteed to actually be using the versions of
dependencies which are declared in the modulesets; it's just a mess).
[...]
Change of this magnitude is a lot of work and we all value the amount of
effort you're putting into this.
Thank you for the kind words.
I will in turn make an effort to give you more of a heads up on what is
coming up, because these things are coming soon, and might very well
effect Builder:
o Starting now, I am working on deprecating the org.gnome.Sdk JSON
entirely, my hope would be to have it working almost immediately
when we do the switch in January, so that we could also release
the 3.28 GNOME SDK from the same upstream modulesets, and at least
put this problem behind us right away.
It is realistically possible that we miss that mark for some
reason though, and that the migration of the GNOME Flatpak SDK
get postponed.
o The org.freedesktop.Sdk runtime and org.freedesktop.BaseSdk
runtimes are in the process of being migrated and will be generated
from BuildStream build metadata for the 1.8 releases, this is the
plan, and is being taken care of simultaneously.
For this, we've created a separate project; because there are more
interested parties in this runtime build than only Flatpak,
currently all we have going in terms of infra is:
- #freedesktop-sdk channel on freenode
- f.d.o mailing list: https://lists.freedesktop.org/mailman/listinfo/freedesktop-sdk
- git repo: https://gitlab.com/freedesktop-sdk
This repo is intended to be migrated to a freedesktop gitlab
instance once that exists.
o Bootable images of GNOME builds at least for Intel architectures
This will inevitably also depend on the freedesktop-sdk project
to provide the base runtime, which the GNOME modulesets will depend
on to produce a bootable image (_and_ to produce the GNOME SDK).
I suppose that for Builder, it might be interesting for testing
system component "Apps" (like gnome control center or clocks or
such things); such that you are testing your software against what
will really be the next generation GNOME environment at any time.
Maybe you will be interested in being able to automatically
launch a VM after a build of a given module.
Eventually, it will also be interesting to roll out bootable VMs
containing pre-installed Flatpaks, for the sake of testing your
new GNOME Flatpak and seeing how it integrates against the next
GNOME release.
Cheers,
-Tristan
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]