Fri Aug 30 10:24:10 2019 UTC

The collections

Introduction

They are a lot of synonyms for defining a set of packages in the informatics jargon.

Under NuTyX, a set of packages is held in a collection.

A collection includes 3 fundamental properties:

  • Independent
  • Hierarchy
  • Interdepencies between them
Even if these properties could look contradictory, we will see in this tutorial why they are justified.

Definition

Under NuTyX, a collection is a set of recepts and binaries packages. This set provide certain functionalities. These functionalities are organised as follows:
  • Librairies and utilities for a base system
  • Librairies and utilities for a command line interface (cli)
  • Librairies and utilities for a graphical user interface (gui)
  • Extra librairies and utilities for a command line interface (cli-extra)
  • Extra librairies and utilities for a graphical user interface (gui-extra)
  • Graphical interface XXX (e.g. kde5)
  • Extra graphical interface XXX-extra (e.g. kde5-extra)
  • Non open Sources Ports (nos)
At the moment, all of following graphical interfaces are available as collections:
  • XFCE4
  • KDE5
  • MATE
  • LXDE
  • LXQT

Collections management via cards

Because of their concept, each collection contains it's own meta-data files. When adding / removing a package from a collection, only the meta-data files of this collection will need to be modified. This property offers maximum flexibility to the users and to the Package manager.

Collections hierachy

The hierachy of collections is an important concept.

Here the symbol "->" should be interpreted as "depends on"

Here is the fundamental rule:

XXX-extra -> XXX -> gui -> cli -> base

cli-extra -> cli -> base

gui-extra -> gui -> cli -> base

With this well established rule, the following concept is defined:

  • A package from the base collection can only use dependencies from the same base collection.
  • A package from the cli collection can only use dependencies from base or cli collections.
  • A package from the cli-extra collection can only use dependencies from base or cli collections.
  • A package from the gui collection can only use dependencies from base, cli or gui collections.
  • A package from the gui-extra collection can only use dependencies from base, cli or gui collections.
And for the graphical interfaces mate, kde5, lxde, lxqt, and xfce4, the concept is defined as follow:
  • A package from the mate collection can only use dependencies from base, cli or gui collections.
  • A package from the mate collection can only use dependencies from base, cli, gui or mate collections.
The Same principle applies for the others graphical interfaces lxde, lxqt, kde5 and xfce4

Interdependencies

The NuTyX collections are interdependent in the following ways:
  • base: The base collection is the set of a minimum base system, it will always be needed. All the others collections depend on the base collection.
  • cli: The cli collection contains all the libraries and applications used by a command line interface.

    Only the base collection is a dependencie of the cli collection.

  • gui: The gui collection contains all the libraries and applications used by a graphical interface. The base and cli collections are dependencies of the gui collection.
  • cli-extra: The cli-extra collection contains applications used by a command line interface.

    The base and cli collections are the dependencies of the gui collection.

  • gui-extra: The gui-extra collection contains apllications used by a graphical interface.

    The base, cli and gui are the dependencies of the gui-extra collection.

  • mate and mate-extra: The mate and mate-extra contains respectively a minimalist version of the interfaces and it's applications and others extensions.

    The base, cli and gui collections are the dependencies of the mate collection.

    The base, cli, gui and mate are the dependencies of the mate-extra collection.

  • xxx and xxx-extra: Same principle as for the mate and mate-extra collections.

The groups of collection

A. The base system collection

The collection consisting of the base system is:

  • base

B. The core system collections

The collections consisting of the core system are:

  • cli
  • gui

C. The Extra collections

The 'extra' collections are:

  • cli-extra
  • gui-extra

D. The graphical interfaces collections

The collections of thoses graphical interfaces are:

mate:

  • mate
  • mate-extra

kde5:

  • kde5
  • kde5-extra

xfce4:

  • xfce4
  • xfce4-extra

lxqt:

  • lxqt
  • lxqt-extra

lxde:

  • lxde
  • lxde-extra

E. The Non Open Source collection

The collection is made of:

  • nos

And now ?

Collections have no more secrets for you. Now is the time to try to compile in an isolated chroot.