[oi-dev] OI project reboot required

Jim Klimov jimklimov at cos.ru
Thu May 9 09:53:53 UTC 2013


On 2013-05-09 10:01, Andrzej Szeszo wrote:
> Hi All
>
> (Instead of replying to a message in one of the other threads
> I thought I will create a new one.)
>
> Just wanted to say that I don't see a future for the project in its
> current form. There is simply too many packages and too much baggage for
> a handful of people to look after.
>
> I think the project needs a new vision and a reboot. If you have any
> ideas for the project and can write scripts/makefiles to generate a
> distro/live CDs/etc. - speak up! You don't have to be a leader if you
> don't want to :)


You're probably right. I would like to help, though have limited time
lately, and without docs similar to "Building illumos" won't really
know where to start beside the illumos-gate. I guess many potential
and active contributors are in the same boat.

I think it would be proper to maintain a page (hosted on OI wiki)
with copies of notes, caveats and other informational snippets about
building the OI distro components. We have many talented people who
can turn that knowledge into more polished narrative text, scripts
and makefiles, paragraph at a time - but too few people who know
what should actually be done (the content to polish). After all, you
know how many man-months were invested into untangling this know-how
from sources, comments, ARCs and whatnot. Please share the result :)

I might guess that Martin Bochnig, who made the SPARC port last year
single-handedly (and SVR4 backport at the same time), might also be
quite in the know of the intricacies for the build. Possibly, he is
now the only single person that knows it all. His contribution of the
distro building know-how would be just as invaluable as the resulting
distribution itself ;)

Recently, it was noted that there is no equivalent for a "make world"
in OI. I do believe that after years of development, each consolidation
in the distro has some equivalent command to build it, as well as a
specified build environment (such as CBE, or just particular GCC/SS12u1,
perl, Python and other tool-chain tool versions). The consolidations
would likely be built each with its own "make sub-world", thus a global
"make world" for OI would run a dozen make's for the sub-worlds...
Right? :)

The build environments could be made in zones, and provisioning of
those can be easily scripted (I think I might help in that direction).
The build could be executed by i.e. logging in from GZ into the zones
(or somehow harnessing the dmake's distributed properties natively,
or by automating with CI/Hudson and its ssh-login capabilities onto
many hosts with pieces of the code puzzle), culminating with a call to
the distro constructor. This is all a job for a master makefile to be
called in the GZ, and waiting a few days for it to complete.

Quite possibly, the "master-builder" automations (scripts to provision
standardized build zones, compilation environments on top of them, and
local package servers for resulting packages accumulated from those
zones, etc.) - these scripts and makefiles would deserve a repository
of their own, even if just a small one for starters. This way people
would be able to install OI (or real iron or in a VM), fetch a script
to provision build zones, download/update source codes, clone the
per-bug workspace, etc. all in the same standardized and well-tested
manner, and easily start helping the project move on in whatever way
they can.

//Jim Klimov




More information about the oi-dev mailing list