6.2. Review of existing packages

To review all build stuff of the project, one may have a look into the ports/packages/ dir:

ls ports/packages/
Each package with directory and anybuild inside it is available for the build.

The lspkg(1) utility prints the packages which distinctly concern the project.

lspkg default
It would print the package names, included in distro and ready for the build at the current configuration. The argument default refers to the default configuration of the project.

Package sets, grouped by some relations, are kept in plain text files in the ports/list/ directory. The files are called lists. There may be arbitrary quantity of them. Comments (the beginning of the string from the symbol #) and empty strings are supported in the lists. Lists serve to assign explicitly the sets of packages with certain purposes: packages with graphics system implementation xorg.src, wayland.src, packages of desktop kde.src, packages for host environment host.src and so on.

The program lspkg(1) reads the given text files and outputs package names one at a string. With the call with single argument, as in the example above, lspkg(1) prints the content of key list ports/list/all.src. That is the file with reserved name all.src, which must contain overall package base, available for the build at the moment.

It is possible to assign another package list to output:

lspkg default tools.src
In that case packages from the list ports/list/tools.src will be printed.

The difference between the content of ports/packages/ and the file ports/list/all.src:

The list allows to set up explicitly those packages, which are included in release or the distribution of the project.
It is possible to add arbitrary stuff into ports/packages/ (for example, debugging or experimental), but the set of built packages will not be changed from that.
The changes in the content of the project will occur only after the addition or removing of something from text lists in ports/list/.