From bf9edfaed49c4387e181be454602e0cc65fe4382 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lucio=20Andr=C3=A9s=20Illanes=20Albornoz?= Date: Sun, 1 Mar 2020 21:09:37 +0000 Subject: 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. --- etc/README.md | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ etc/build.usage | 24 +++++------------------- 2 files changed, 55 insertions(+), 19 deletions(-) (limited to 'etc') 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] [[ ..]] + + -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. + [ ..] 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] [[ ..]] + -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. [ ..] 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. -- cgit v1.2.3