Mon Jan 29 18:20:06 2018 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 holded in a collection.

A collection include 3 fondamentals properties:

  • Independant
  • Hierachy
  • Interdepencies between thems
Even if thoses 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 certains functionnalities. Those functionnalities are organised as follow:
  • 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)
  • Extras librairies and utilities for a command line interface (CLI)
  • Extras librairies and utilities for a graphical user interface (GUI)
  • Graphical interface XXX
  • Extra graphical interface XXX-extra
  • Non open Sources Ports
At the moment, are availables as collections, following graphical interfaces:
  • XFCE4
  • KDE5
  • MATE
  • LXDE
  • LXQT

Collections management via cards

Because of they concept, each collection contains it's own meta-data files. When adding / removing a package from a collection, only the meta-datas file of this collection will be modify. This property offer a maximal flexibility to the users and to the Package manager.

Collections hierachy

The hierachy of thoses collections is an important concept.

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

Here is the fondamental 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.
Same principle for the others graphical interfaces lxde, lxqt, kde5 and xfce4

Interdependancies

The NuTyX collections are inter dependends in the following way:
  • base: The base collection is the set of a minimum base system, it will be always needed. All the others collections depends then on this 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 the dependancies 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 dependancies 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 et 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 dependancies of the mate-extra collection.

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

The groups of collection

A. The base system collection

The base system is located in a dedicated GIT project on the github.com website: https://github.com/NuTyX/base-sysV

The collection consisting of the base system is:

  • base

B. The core system collections

The core of the system is group in a GIT project on github.com website: https://github.com/NuTyX/core

The collections consisting of the core system are:

  • cli
  • gui

C. The Extra collections

The 'extra' collection is group in a GIT project on github.com website: https://github.com/NuTyX/extra

The 'extra' collections are:

  • cli-extra
  • gui-extra

D. The graphical interfaces collections

The graphical intefaces collections are group per project on the github.com website at the following adresses:

https://github.com/NuTyX/mate for mate.

https://github.com/NuTyX/kde5 for kde5.

https://github.com/NuTyX/xfce4 for xfce4.

https://github.com/NuTyX/lxqt for lxqt.

https://github.com/NuTyX/lxde for lxde.

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 'Non Open Source" collection is located on the github.com website at the adress: https://github.com/NuTyX/nos

The collection is made of:

  • nos

And now ?

Collections have no secrets for you anymore, time to try to compile in an isolated chroot.