summaryrefslogtreecommitdiffhomepage
path: root/etc/build.usage
blob: da58fcc9d390572b37a25c2705f4bbe63d0d9e38 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
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.