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. -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. 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. ${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.