summaryrefslogtreecommitdiffhomepage
path: root/etc
diff options
context:
space:
mode:
authorLucio Andrés Illanes Albornoz <lucio@lucioillanes.de>2020-03-01 21:09:37 +0000
committerLucio Andrés Illanes Albornoz <lucio@lucioillanes.de>2020-03-01 21:09:37 +0000
commitbf9edfaed49c4387e181be454602e0cc65fe4382 (patch)
tree2bf582d4f1f0916946bc2285014b193482c52d86 /etc
parent725770754d9f53d5b41d876053a7a993b629472e (diff)
downloadmidipix_build-bf9edfaed49c4387e181be454602e0cc65fe4382.tar.bz2
midipix_build-bf9edfaed49c4387e181be454602e0cc65fe4382.tar.xz
General cleanup, pt. III.
dist/dist_digest.dist: removes obsolete dist file. etc/{build.usage,README.md}: updated. groups/000.host_tools.group:{autoconf,automake,gettext_tiny,install_strip,libtool,m4}_host: moved from groups/010.host_deps.group. groups/221.native_packages_dev.group:lua: moved from groups/231.native_packages_etc.group. groups/221.native_packages_dev.group:lua:${PKG_FORCE_AUTORECONF}: set. groups/231.native_packages_etc.group:{mlogin,tdnf}:${PKG_FORCE_AUTORECONF}: set. groups/241.native_packages_inet.group:nullmailer:${PKG_FORCE_AUTORECONF}: set. groups/251.native_packages_lib.group:lib{asr,gpg_error}:${PKG_FORCE_AUTORECONF}: set. midipix.env, etc/README.md, subr/pkg_configure_autotools.subr: adds FORCE_NO_AUTORECONF. subr/rtl_fileop.subr: adds ch{mod,own} fileops. vars/{check_updates,jamvm,lib{asr,gpg_error},lua,mlogin,tdnf}.vars: removes obsolete vars file.
Diffstat (limited to 'etc')
-rw-r--r--etc/README.md50
-rw-r--r--etc/build.usage24
2 files changed, 55 insertions, 19 deletions
diff --git a/etc/README.md b/etc/README.md
index 16392edf..6450625f 100644
--- a/etc/README.md
+++ b/etc/README.md
@@ -43,11 +43,60 @@ or forcibly, respectively:
./build.sh [ ... ] -r \*\*mc,zsh
```
+Restart the ``configure``, ``build``, and ``install`` steps of the ``coreutils`` package.
+```shell
+./build.sh -r coreutils:configure,build,install
+```
+
Rebuild entire build group:
```shell
./build.sh [ ... ] -r ALL native_runtime
```
+## Fault-tolerant & highly optimised 3D laser show-equipped usage screen
+```
+usage: ./build.sh [-a nt32|nt64] [-b debug|release] [-C dir[,..]] [-D kind[,..]] [-F ipv4|ipv6|offline]
+ [-h] [-p jobs] [-P] [-r [*[*]]ALL|LAST|name[,..][:step,..]] [-R] [-v[v[v[v]]]]
+ [--as-needed] [--debug-minipix] [<group>[ ..]]
+
+ -a nt32|nt64 Selects 32-bit or 64-bit architecture; defaults to nt64.
+ -b debug|release Selects debug or release build; defaults to debug.
+ -C dir[,..] Clean build directory (build,) ${PREFIX} before processing build
+ scripts (prefix,) source directory (src,) and/or destination directory
+ (dest) after successful package builds.
+ -D kind[,..] Produce minimal midipix distribution directory (minipix,) RPM binary
+ packages (rpm,) and/or deployable distribution ZIP archive (zipdist.)
+ zipdist implies minipix.
+ -F ipv4|ipv6|offline
+ Force IPv4 (ipv4) or IPv6 (ipv6) when downloading package archives
+ and/or Git repositories or don't download either at all (offline.)
+ -h Show this screen.
+ -p jobs Enables parallelisation at group-level, whenever applicable.
+ -P The maximum count of jobs defaults to the number of logical
+ processors on the host system divided by two (2.)
+ If -R is not specified and at least one (1) package fails to build,
+ all remaining package builds will be forcibly aborted for convenience.
+ -r [*[*]]ALL[:step,..]|LAST|name[,..][:step,..]
+ Restart all packages/the specified comma-separated package(s)
+ completely or at optionally specified comma-separated step(s)
+ or restart the last failed package and resume build.
+ Prepend w/ `*' to automatically include dependencies and `**' to
+ forcibly rebuild all dependencies.
+
+ Currently defined steps are:
+ fetch_wget, fetch_git, fetch_extract,
+ configure_patch_pre, configure_autotools, configure_patch, configure,
+ build,
+ install_subdirs, install_make, install_files, install_libs, install, and install_rpm.
+ -R Ignore build failures, skip printing package logs, and continue
+ building (relaxed mode.)
+ -v[v[v[v]]] Be verbose; -vv: always print package logs; -vvv: set xtrace during package builds; -vvvv: logs fileops.
+ --as-needed Don't build unless the midipix_build repository has received new commits.
+ --debug-minipix Don't strip(1) minipix binaries to facilitate debugging minipix.
+ <group>[ ..] One of: host_deps, host_deps_rpm, host_toolchain, host_tools, minipix,
+ native_packages, native_runtime, native_toolchain, and/or native_tools.
+```
+
## Non-exhaustive list of build variables
The following variables are primarily defined in ``midipix.env`` and may be overriden
on a per-build basis on the command-line after the last argument, if any, e.g.:
@@ -109,6 +158,7 @@ and ``URLS_GIT``, respectively.
| DISABLED | Disable package |
| ENV_VARS_EXTRA | List of double colon-separated environment variable equality sign-separated name-value pairs to set during package build |
| FNAME | Filename of package archive file |
+| FORCE_AUTORECONF | Forcibly run autoreconf -fiv prior to package (GNU autotools or similar) configuration |
| GITROOT | midipix packages Git URL prefix |
| INHERIT_FROM | Inherit variables from named package |
| INSTALL_FILES | Whitespace-separated list of files to manually install into the package installation destination directory beneath ${PKG_BASE_DIR} |
diff --git a/etc/build.usage b/etc/build.usage
index da58fcc9..8a2fda19 100644
--- a/etc/build.usage
+++ b/etc/build.usage
@@ -1,23 +1,22 @@
usage: ./build.sh [-a nt32|nt64] [-b debug|release] [-C dir[,..]] [-D kind[,..]] [-F ipv4|ipv6|offline]
[-h] [-p jobs] [-P] [-r [*[*]]ALL|LAST|name[,..][:step,..]] [-R] [-v[v[v[v]]]]
[--as-needed] [--debug-minipix] [<group>[ ..]]
+
-a nt32|nt64 Selects 32-bit or 64-bit architecture; defaults to nt64.
-b debug|release Selects debug or release build; defaults to debug.
-C dir[,..] Clean build directory (build,) ${PREFIX} before processing build
scripts (prefix,) source directory (src,) and/or destination directory
(dest) after successful package builds.
- -D kind[,..] Produce minimal midipix distribution directory (minipix,) package
- tarballs (pkg,) RPM binary packages (rpm,) compressed and optionally
- signed binary and source tarballs containing ${PREFIX} sans ${BUILD_WORKDIR}
- (t{bz2,gz,xz},) and/or deployable distribution ZIP archive (zipdist.)
- {t{bz2,gz,xz},zipdist} imply minipix.
+ -D kind[,..] Produce minimal midipix distribution directory (minipix,) RPM binary
+ packages (rpm,) and/or deployable distribution ZIP archive (zipdist.)
+ zipdist implies minipix.
-F ipv4|ipv6|offline
Force IPv4 (ipv4) or IPv6 (ipv6) when downloading package archives
and/or Git repositories or don't download either at all (offline.)
-h Show this screen.
-p jobs Enables parallelisation at group-level, whenever applicable.
-P The maximum count of jobs defaults to the number of logical
- processors on the host system.
+ processors on the host system divided by two (2.)
If -R is not specified and at least one (1) package fails to build,
all remaining package builds will be forcibly aborted for convenience.
-r [*[*]]ALL[:step,..]|LAST|name[,..][:step,..]
@@ -39,16 +38,3 @@ usage: ./build.sh [-a nt32|nt64] [-b debug|release] [-C dir[,..]] [-D kind[,..]]
--debug-minipix Don't strip(1) minipix binaries to facilitate debugging minipix.
<group>[ ..] One of: host_deps, host_deps_rpm, host_toolchain, host_tools, minipix,
native_packages, native_runtime, native_toolchain, and/or native_tools.
-
- ${HOME}/midipix_build.vars, ${HOME}/.midipix_build.vars, and/or ../midipix_build.vars will be sourced if present.
- If either of ${DEFAULT_GITROOT_HEAD} and/or ${DEFAULT_ZIPDIST_SIGN_GPG_KEY} are to be set, export(1) them there.
-
- Examples:
- ./build.sh -r coreutils
- Completely restart the coreutils build.
-
- ./build.sh -r coreutils:configure,build,install
- Restart the configure, build, and install steps of the coreutils build.
-
- ./build.sh -C prefix -r ALL DEFAULT_GITROOT_HEAD=...
- Clean ${PREFIX} and forcibly rebuild everything.