midipix / build / midipix_build

Forked from build/midipix_build 4 years ago
Clone
Blob Blame History Raw
usage: ./build.sh [-a nt32|nt64] [-b debug|release] [-C dir[,..]] [-D kind[,..]]
                  [-F ipv4|ipv6|offline] [-h] [-P[jobs]] [-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.
                          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_pkgconfig, install_purge_la,
                          install_strip, 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.

        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.