System Development Environment

From Wikipedia, the free encyclopedia

A System Development Environment (SDE) is a generic name give to frameworks (and toolkits) to create and maintain operating systems based on Open-source software. An SDE is, in short, a tool to let users create and maintain their own Linux distributions. The goal is to help distribution maintainers to found their projects over this framework so they do not need to worry about computer architecture support or software package updates.

The concept was inspired by the BSD ports collection.

Contents

[edit] History

The first known implementation was started by Clifford Wolf in 1997, known as ROCK Linux, a project inspired by Linux From Scratch and the BSD Ports, as a Distribution Build Kit more like a source-based Linux distribution with the capability of creating sub-distributions, or target distributions as they were named.

The term System Development Environment was invented and formed by René Rebe when he created the T2 SDE Project out of ROCK Linux in 2004. The goal was to propagate a more professional name for the term Distribution Build Kit as it is used by ROCK Linux and to strip the word distribution as the resulting operating systems must not necessarily be distributed in form of CD or DVD as usual Linux distributions are but merely live in special appliances and embedded devices.

[edit] Philosophy

And because of that it has to automate the common tasks on maintaining any distribution, and make it as easy as possible for the distribution maintainer to integrate and customize the packages and components.

  • automated
  • honor upstream decisions
  • minimize patching and arbitrary modifications to the default behavior
  • pre-integrate intelligently according to what is being built and configured
  • provide transparent ways to get the distributions built for different architectures

[edit] Packages

On one hand the System Development Environment should provide the distribution maintainer an up to date set of package, compiling and pre-integrated, as close to what was released by the original author (upstream), and on the other it should provide the Powered-by distributions with a package management system.

[edit] Architectures

One of the benefits of the usage of a System Development Environment for a Linux distribution is that they make transparent the change from one architecture to another. It is the framework which makes the needed adoptions during the building process instead of the distribution maintainer.

In theory every architecture supported by the chosen compiler/kernel should be available for the distribution maintainer to be simply selected.

[edit] Known implementations

Since the first Distribution Build Kit was invented at 1997, for different reasons and different goals, the original code has been forked several times.

Some of them, in chronological order, are:

  • ROCK Linux, original Distribution Build Kit which made it's third mayor release at 2006-07-26.
  • T2 SDE, fork of ROCK Linux made in 2004 because of (in the view of some developers) inconvenient development cycle.[1]
  • OpenSDE, fork of T2 SDE made in 2006 aiming to have a team-led project.

[edit] Powered-by distributions

By Powered-by distribution it is understood a distribution which is maintained using a System Development Environment.

Some relevant examples are:

  • Since version 2.10 Puppy Linux internally[2] utilizes the T2 SDE to build the binary packages.

[edit] References