#4256 NORM Never A: Killjoy, stable builds
Zarro Boogs per Child
bugtracker at laptop.org
Wed Oct 17 11:28:40 EDT 2007
#4256: Killjoy, stable builds
---------------------+------------------------------------------------------
Reporter: marco | Owner: kimquirk
Type: defect | Status: new
Priority: normal | Milestone: Never Assigned
Component: distro | Version:
Resolution: | Keywords:
Verified: 0 |
---------------------+------------------------------------------------------
Comment(by bernie):
I agree with marco's requirements and dcbw's solution.
With a minor (or major) exception: in the '''long term''', I see the
centralized model of a single koji server, or even a koji cluster, as too
restrictive.
A system where each and every developer must be given an account on
koji.laptop.org, must wait for remote builds to complete and can't easily
create personal forks of the distribution for testing... well... I don't
see it scale well. At least, it doesn't have the "massively parallel"
property which the kernel and git hackers go very proud of.
I felt the need for an xtest fork for a long time. And so had m_stone for
rainbow. And I'm sure marco and the other Sugar developers would have
benefitted from a branch where they'd be free to test their experimental
features. If we don't get this, we'd push the build master for including
half-baked and untested packages on the basis that we can't go on working
otherwise.
The good property we want from koji is a controlled build environment,
which you get by specifying what goes in the buildroot and what other
-devel packages you're pulling for the builds.
Since we're not an academia and have no time to do academic research on
build systems, my proposal is to go on and setup a centralized build
server anyway, but set a policy for creating as many integration streams
as people require.
Additionally, we could document the full-blown procedure to create custom
jffs2 images starting from source rpms. All the pieces are there: yum,
mock, koji, pilgrim... but the big picture is hard to see because it's
scattered in 10 different places.
NOTE: some people may see this model as anarchic or unregulated. On the
contrary: it's the '''strictest''' QA you can reasonably come up with
without paying a high price in terms of productivity! Each tree (or fork,
or distro...) has exactly one stakeholder and has the last word what goes
in the particular build. In contrast, the joyride model is a bazaar which
nobody feels responsible for fixing. Needless to say, one tree can be
called "release" or "stable", and whoever is in charge for it will only
bless-in the packages after they've reached reasonable quality.
Thoughts? "you suck, shut up!" would be ok too...
NOTE2: So far, we have more than enough material for discussion without
even starting to think about how we'll do version control of packages.
RedHat does it with a huge CVS tree. I'm not sure we can keep using it if
we diverge too much from Fedora, and anyway it seems to me that CVS makes
the workflow a lot heavier. But let's discuss this topic later when we've
settled the build system.
--
Ticket URL: <https://dev.laptop.org/ticket/4256#comment:11>
One Laptop Per Child <https://dev.laptop.org>
OLPC bug tracking system
More information about the Bugs
mailing list