[oi-dev] Distribution build system

Andrzej Szeszo aszeszo at gmail.com
Wed Mar 16 11:35:58 UTC 2011


Hi All

The project is moving forward very slowly. I my opinion one of the main 
reasons behind it is lack of unified distribution build system.

Previous releases were put together manually. Probably one or two core 
contributors would be be able to repeat the whole process at this point 
without investing significant amount of time into learning how things 
fit together. We need distribution release and publishing process to be 
automated and repeatable.

There is a significant amount of bug reports in OpenIndiana bug tracker. 
Many of bugs require very simple changes to get fixed. URL updates or 
branding updates for example. Many contributors are more than capable of 
fixing such bugs. Because it is not clear what goes where, and also how 
to build and then test things many contributors simply don't bother 
looking at bugs at all.

I am proposing creating a unified distribution build system. A system 
that would build the whole distribution after issuing a single "make 
publish" or similar command.

Having such system will let us to release early, release often. It 
should improve the development progress in general. Bugfixes and 
security updates would get integrated in no time. New users would have 
an easy start. We could point new contributors at the build system and 
simply ask them to start hacking. Having all consolidations referenced 
from a single build system would make it clear to them where things go. 
Base system changes, etc. - core consolidations, new software - add-on 
consolidation directory, and so on.

Continuous build system could be implemented using the same tools on the 
OpenIndiana build machines, including the SPARC ones.

Many people will say that this is not possible and that even Oracle is 
not doing it. I say such system is possible but will require significant 
amount of work and significant amount of time to prepare. It will be 
worth the effort if done right. All major open source OS distributions 
have the release process automated in one way or another. I think this 
is the key to our success. Splitting the build and release engineering 
process between consolidation maintainers/owners based on Oracle model 
proved to not to work well for us.

I would like to start a dialog between the core contributors about such 
build system. Discuss whether it is needed or not. And if the decision 
is made that it is needed - discuss requirements, technical details and 
then actually implement it!

Andrzej




More information about the oi-dev mailing list