A little lexicon for NuTyX users

Contents

Cards

Cards which stands for 'Create, Add, Remove and Download System' packages,
is a set of utilities to manage the installed software on your NuTyX Linux system.

Cards can manage dependencies for compilation and handles runtime dependencies on its own.
This means that in 95% of all cases, runtime dependencies for a working app do not need to to be specified in the build recipe.
recipe.

A package

A package is an archive containing a set of files of various types.
It might include libraries, command line applications, graphical user interfaces, commands, configuration information, etc...

When the package is installed on your NuTyX system, it will be handled by the package manager
cards.

Package archive name syntax

name: (port-name)

.group-name: only if it is a group package archive. See configuration: 'PKGMK_GROUPS'

.locale-name: only if it is a locale package archive. See configuration: 'PKGMK_LOCALES'

build-version: 10-digit Unix timestamp of the archive build time. See also 'PKGMK_BUILDVER'

A category

A category defines a set of applications which have similar functions:
A typical example of a category is "Internet" which includes browsers, irc and mail clients, etc..

The base system

The NuTyX 'base system' defines the minimum set of packages that will never be removed.

The list of packages to keep when we want to return to a base system is defined in the /etc/cards.conf file.
The keyword at the beginning of the line is: base.

A script

A script is used (like a cinema script) to define each action that has to be executed by the interpreter.
The scripts described here specify the actions to be executed for the construction of a package.
See recipe.

A script can also be used for installing NuTyX Linux from another Linux distribution, or from an already installed NuTyX Linux system.

A recipe

A recipe is a special script which defines the construction of a package.
Under NuTyX, the recipe of a package is located in the Pkgfile file.

A port

In NuTyX, a port is a folder which contains all necessary files for the construction of a package.
It will at least contain a file named Pkgfile.

The port can also contain other required files (e.g. patch files) or port metafiles.

Port Metafile Syntax

name: (port-name)

.group-name: only if it is a group package archive. see configuration: 'PKGMK_GROUPS'

.locale-name: only if it is a locale package archive. see configuration: 'PKGMK_LOCALES'
Followed by one of these file extentions:

.pre-install, or : TODO add more info: what it does, when is this script executed.

.post-install: TODO add more info: what it does, when is this script executed.

.README: a file describing various options, actions, configurations of the port.

`Mandatory information`: for the construction of the package: Name, version, release

`Required build function`: The "build" function defines the construction itself of the package

NOTE: the above outlines only the most general situation. See also package family for exceptions.

It is highly recommended to put the Pkgfile file in a folder with the same name as the name variable defined in the Pkgfile.
The folder name will be treated the default name of the base binary package if it is not (re)defined by the name variable.

Branchs

This is the stable version of NuTyX. Every packages are frozen at the time of it's release, only security updates will be apply.

New packages can still be added

The "current" branch

The "base" is frozen, only security updates will be apply.

The "cli" and "gui" collections will receives updates in cases they are dependencies that need to be update for any final package.
Security updates will be apply

The others collections will get updates as normal.

The "current" branch stay compatible with the "stable" one, they will be both used for minor updates of NuTyX (10.1, 10.2, etc).

The "development" (or "master") branch

It's the main line (master) of the GIT project for every available collections

The update process is a "rolling release" mode during the all life of the stable version and it's minor versions (about one year)

Since all updates are very big and very often, the "development" branch is most of the time not compatible with the stable version of NuTyX.
In this case merging into the "stable" branch is never possible.

The "stable" and "current" brannchs have a "limited lifetime" corresponding to the lifetime of the stable version of NuTyX at that time.

A chroot

A chroot is a way of isolating our working environment while using the recipes
coming from various ports.

It is also needed to assure that no dependency will be installed from the host operating system.

Alias

It is worth knowing that some commands are actually aliases used to simplify things.
An alias is a kind of shortcut to the original command.
To know all the aliases available to you, just type alias in your terminal.

alias

If you want to modify defined alias in your NuTyX, you need to edit the .bashrc file located in your home directory.