[oi-dev] Distribution build system
aszeszo at gmail.com
Wed Mar 16 11:35:58 UTC 2011
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!
More information about the oi-dev