summaryrefslogtreecommitdiff
path: root/docs/README.package_lists
blob: e651d778a57cf7324c020de5501611cee66431e1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
*** Package Lists Schema

The configs/profile/packages/ directory contains the package declarations for all ISOs.

When building ISOs, each ISO edition is characterized by an init/WMDE pair such as 'OpenRC/LXDE', that is optionally passed into the 'build.sh' script via the '-E' CLI option (or 'systemd/cli' by default), and by the architecture(s) that it targets, as optionally passed into the 'build.sh' script via the '-T' CLI option (or 'dual' by default). The valid INIT/WMDE combinations are specified in the VALID_INITS and VALID_GUIS arrays in the 'build.sh' script.

The filename extension specifies the applicable target architecture (or '.all'). The package lists with filenames ending in '.all' will be installed in the live environments for all architectures; whereas the architecture-specific package lists will be installed only in the live environments for that architecture. In any case, these packages will be installed only in the live environments where the filename prefix applies semantically. The valid architectures ('i686' and 'x86_64') are currently hard-coded into the 'build.sh' script. The '-T dual' option merely repeats each build stage over each valid architecture.

During the package installation stage, the following package list files will be loaded if they exist, and if they correspond to the current target INIT/WMDE/ARCH:
  'packages/package-all.all'        - loaded for all targets
  'packages/package-gui.all'        - loaded for all WMDE other than 'cli'
  'packages/package-<INIT>.all'     - loaded for the corresponding INIT (default: 'systemd')
  'packages/package-<WMDE>.all'     - loaded for the corresponding WMDE (default: 'cli')
  'packages/package-<INIT>-gui.all' - loaded for the corresponding INIT, if WMDE other than 'cli'
where:
  <INIT> is any of 'VALID_INITS' as defined in the 'build.sh' script
         and corresponds to the part of the '-E' CLI option before the '/'
  <WMDE> is any of 'VALID_GUIS' as defined in the 'build.sh' script
         and corresponds to the part of the '-E' CLI option after the '/'

These files specify the packages that are to be installed into "live" system. An analogous set of package list files may exist, named with 'package' replaced by 'cache', e.g.
  'packages/cache-all.all' - cached for all targets
  'packages/cache-gui.all' - cached for all targets if WMDE other than 'cli'
The packages specified in these 'cache' package lists will not be installed into any "live" system; but will be downloaded and stored in the /isorepo directory on the ISO for offline install; but only if the '-O' CLI option was passed into the 'build.sh' script.

As a supplement to any of the above mentioned files named ending with '.all', optional files may exist with corresponding names ending with '.<ARCH>', to specify the packages intended only for specific architectures, e.g.
  'packages/package-lxde.x86_64' - loaded for x86_64 targets if 'lxde' WMDE
  'packages/cache-gui.i686'      - cached for i686 targets if WMDE other than 'cli'

All of these package list files are strictly optional. Any applicable package list files will be considered if they are found to exist at runtime. Building with an empty configs/profile/packages/ directory would result in an ISO with only the specified base package group installed ('base' by default).


Package/cache list filename schema/semantics:

* packages-all.<ARCH>
  => Installed in all ISOs.

* packages-gui.<ARCH>
  => Installed in all graphical ISOs exclusively.
  => e.g. args: '-E OpenRC/LXDE', '-E SystemD/Mate'

* packages-cli.<ARCH>
  => Installed in all CLI ISOs exclusively.
  => e.g. args: '-E OpenRC/CLI', '-E SystemD/CLI'

* packages-lxde.<ARCH>
  => Installed in all LXDE ISOs exclusively.
  => e.g. args: '-E OpenRC/LXDE', '-E SystemD/LXDE'

* packages-mate.<ARCH>
  => Installed in all Mate ISOs exclusively.
  => e.g. args: '-E OpenRC/Mate', '-E SystemD/Mate'

* packages-openrc.<ARCH>
  => Installed in all OpenRC ISOs exclusively.
  => e.g. args: '-E OpenRC/CLI', '-E OpenRC/LXDE'

* packages-openrc-gui.<ARCH>
  => Installed in all graphical OpenRC ISOs exclusively.
  => e.g. args: '-E OpenRC/LXDE', '-E OpenRC/Mate'

* packages-systemd.<ARCH>
  => Installed in all SystemD ISOs exclusively.
  => e.g. args: '-E SystemD/CLI', '-E SystemD/LXDE'

* packages-systemd-gui.<ARCH>
  => Installed in all graphical SystemD ISOs exclusively.
  => e.g. args: '-E SystemD/LXDE', '-E SystemD/Mate'

where:
  <ARCH> is one of ('i686', 'x86_64', 'all')