summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/README.build46
-rw-r--r--docs/README.package_lists44
2 files changed, 54 insertions, 36 deletions
diff --git a/docs/README.build b/docs/README.build
index eae43fe..4b4a542 100644
--- a/docs/README.build
+++ b/docs/README.build
@@ -125,20 +125,11 @@ Note that the ISOs can built by an unprivileged user with sudo but all files und
* master - Profile branch a.k.a "releng". Branch rebrand/releng with Parabola customizations. The files outside configs/ which are common to all variants are packaged from this branch.
-NOTE: This distinction is in the process of being deprecated or reverted. In the future, there will be only one 'releng' profile which is capable of building any of the variant editions via command-line options a single ./build.sh script on the master branch. See the "Package Lists" section the '-E' ./build.sh option below.
+NOTE: This distinction is in the process of being deprecated or reverted. In the future, there will be only one 'releng' profile; which is capable of building any of the variant editions via command-line options to a single ./build.sh script on the master branch. See README.package_lists and the '-E' ./build.sh option below for more information.
** Package Lists
-For each valid edition, a file named 'packages/packages-<WM>.both' must exist, even if empty
-where: <WM> is 'cli' by default, or:
- <WM> corresponds to the part of the '-E' CLI option after the '/'
-This file lists the packages that are to be installed
-in one specific edition of live system for all architectures;
-but are not shared by other editions and are not coupled to a particular init system
-Files named 'packages-<WM>.<ARCH>' cat exist optionally to specify the packages
-that are to be installed for that same edition but only for specific architectures
- e.g. 'packages-lxde.x86_64'
-All packages/packages-* files must be named in lowercase.
+See README.package_lists for information regarding the package lists files schema.
*** Building Parabola GNU/Linux-libre Live ISOs.
@@ -158,22 +149,29 @@ All packages/packages-* files must be named in lowercase.
# cd parabolaiso/configs/releng
* Build one or more ISOs.
- # ./build.sh # dual-architecture SystemD/CLI
- # ./build.sh -T i686 # 32-bit x86 target SystemD/CLI
- # ./build.sh -T x86_64 # 64-bit x86 target SystemD/CLI
- # ./build.sh -E OpenRC/CLI -O # OpenRC/CLI for offline install
- # ./build.sh -E OpenRC/LXDE -O # OpenRC/LXDE for offline install
- # ./build.sh -E SystemD/Talking # SystemD/TalkingParabola
- # ./build.sh -T x86_64 -V "`date +%Y.%m.%d.%H.%M`-alpha" # development filename
-
-Note: See build.sh -h for more options.
-Note: This script needs to be run on an x86_64 ArchLinux derrivative
-Note: Specifying a single architecture with the -T option builds in half of the time
+ # ./build.sh # dual-architecture SystemD/CLI
+ # ./build.sh -T i686 # 32-bit x86 target SystemD/CLI
+ # ./build.sh -T x86_64 # 64-bit x86 target SystemD/CLI
+ # ./build.sh -E OpenRC/CLI -O # OpenRC/CLI for offline install
+ # ./build.sh -E OpenRC/LXDE -O # OpenRC/LXDE for offline install
+ # ./build.sh -E SystemD/LXDE # SystemD/LXDE for net-install
+ # ./build.sh -E SystemD/MATE -S # SystemD/MATE with speech and braille
+ # ./build.sh -V "`date +%Y.%m.%d.%H.%M`-alpha" # development filename
+
+NOTE: The commands above are only some examples. Run `build.sh -h` for the complete options.
+NOTE: This script needs to be run on an x86_64 ArchLinux derrivative
+NOTE: Specifying a single architecture with the -T option builds in half of the time
and results in the ISO being about half of the size as the dual-architecture ISO.
-Note: The argument to the -E option must consist of an init/wm pair separated by a '/' slash.
+ If the -T option is omitted, the default value of 'dual' will be assumed.
+NOTE: Omitting the -O option results in the ISO being about half of the size yet again;
+ but will require an internet connection to install the target system.
+NOTE: The argument to the -E option must consist of an init/wm pair separated by a '/' slash,
+ and must correspond to one each of the 'VALID_INITS' and 'VALID_GUIS'
+ as defined in the 'build.sh' script. If the -E option is omitted,
+ the default value of 'SystemD/CLI' will be assumed.
This will determine which package lists will be used. Although the package lists
files are named in lowercase, this argument may contain captial letters.
It will be printed verbatim in the titles of the boot menu and the MOTD.
-Note: The rebuild.sh script can be handly during development. Among other things,
+NOTE: The rebuild.sh script can be handly during development. Among other things,
it can delete the work directory while retaining the chroot package caches
(the 'wipe' option); which will speed up repeated clean re-builds.
diff --git a/docs/README.package_lists b/docs/README.package_lists
index e8bda32..e651d77 100644
--- a/docs/README.package_lists
+++ b/docs/README.package_lists
@@ -1,24 +1,41 @@
*** Package Lists Schema
The configs/profile/packages/ directory contains the package declarations for all ISOs.
-The filename extension specifies the applicable target architecture (or '.all').
-The package lists with filenames ending in '.all' will be installed for all architectures
-whereas the architecture-specific package lists will be installed only for that architecture.
-In any case, these packages will be installed only where the filename prefix applies.
-An analagous set of package list files with the filename prefix 'cache-' repalcing 'packages-'
-are supported for packages that are to be cached (but not installed)
-in the /isorepo directory of offline-install ISOs (arg: '-O').
+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.
-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).
+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-all-gui.<ARCH>
+* packages-gui.<ARCH>
=> Installed in all graphical ISOs exclusively.
=> e.g. args: '-E OpenRC/LXDE', '-E SystemD/Mate'
@@ -49,3 +66,6 @@ an ISO with only the specified base package group installed ('base' by default).
* 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')