doc: small snippet about operating system elements

Add a small documentation paragraph about the operating system elements,
what they are required to provide (and thus what other elements can rely
on).

This makes DISTRO_NAME a prime-class variable, which can now be assumed
to always exists (it was de-facto required so far).

Change-Id: Iffbc69de0516b58bfde48e87cd73073428d66b05
This commit is contained in:
Pino Toscano 2015-05-15 19:12:41 +02:00
parent df437f9b7c
commit 2a7052e8ff

View File

@ -134,7 +134,19 @@ Each element can use the following files to define or affect dependencies:
on element B and element C includes element B in its "element-provides" on element B and element C includes element B in its "element-provides"
file and A and C are included when building an image, then B is not used. file and A and C are included when building an image, then B is not used.
Operating system elements
^^^^^^^^^^^^^^^^^^^^^^^^^
Some elements define the base structure for an operating system -- for example,
the ``opensuse`` element builds a base openSUSE system. Such elements have
more requirements than the other elements:
* they must have ``operating-system`` in their element-provides, so this
indicates they are an "operating system".
* they must export the ``DISTRO_NAME`` environment variable with the name
of the distribution built, using an environment.d script. For example,
the ``opensuse`` element exports ``DISTRO_NAME=opensuse``.
Ramdisk Elements Ramdisk Elements
^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^