midipix / build / midipix_build

Forked from build/midipix_build 4 years ago
Clone
Blob Blame History Raw
usage: ./build.sh [-x] [-4|6] [-a nt32|nt64] [-b debug|release] [-c] [-h]
                  [-i] [-N] [-r package[,...][:step]] [-R] [-t[.gz|.bz2|.xz] [-v[v[v]]]
                  [<target>[ ...]]
        -x                      Set xtrace during package builds; implies -vv.
        -4|-6                   Force IPv[46] when downloading files.
        -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                      Clean ${PREFIX} before processing build scripts.
        -h                      Show this screen.
        -i                      Ignore SHA256 hash mismatches when downloading files.
        -N                      Offline mode: no {wget,git-{clone,pull}}(1) calls.
        -r package[,...][:step] Restart the specified comma-separated build(s) completely
                                or at the optionally specified step. Currently defined
                                steps are:
                                fetch_distclean, fetch_wget, fetch_git, fetch_extract,
                                configure_patch_pre, configure_autotools, configure_patch,
                                configure, build_clean, build, install_subdirs, install_make,
                                install_files, install_libs, install_pkgconfig, install_purge_la,
                                install_strip, and install.
        -R                      Ignore build failures, skip printing package logs, and continue
                                building (relaxed mode.)
        -t[.gz|.bz2|.xz]        Produce binary distribution and source tarballs containing
                                ${PREFIX} sans ${WORKDIR} and ${PREFIX}/src/midipix_build
                                and ${WORKDIR} sans top-level regular files at the end of
                                a build with zero failures. The tarballs will be compressed
                                with either gzip, bzip2, or xz and signed with GPG; the
                                default compression is xz.
        -v[v[v]]                Be verbose; -vv: always print package logs; -vvv: logs fileops.
        --debug-minipix         Don't strip(1) minipix binaries to facilitate debugging minipix.
        <target>[ ...]          One of: dev, devroot, or world, or:
                                host or host_toolchain_deps, host_toolchain,
                                native or native_toolchain_deps, native_toolchain, native_runtime,
                                packages_deps or host_packages_deps, native_packages_deps, native_packages_deps_x11,
                                packages or native_packages_cmdline, native_packages_dev, native_packages_etc, native_packages_inet,
                                or dist, dist_minipix, or dist_target.

        ${HOME}/midipix_build.vars, ../midipix_build.vars, and build.vars are sourced
        if they exist.

        Packages that are built by pkg.build will apply local patches in ${WORKDIR}
        named ${PKG_SUBDIR}.local.patch.

        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 -r psxscl GITROOT_HEAD=... PKG_PSXSCL_CFLAGS_CONFIGURE_EXTRA=-DPSX_INTERNAL_STRACE
        Build psxscl from the internal repository with strace enabled.

        ./build.sh -c -r ALL GITROOT_HEAD=...
        Clean ${PREFIX} and forcibly rebuild everything.

This script has been tested on the following platforms:
Alpine v3.4 (20160917_17:50) (x86_64)
Arch Linux 2016.02.01 (x86_64)
CentOS v7.2.1511 (Core) (x86_64)
Debian GNU/Linux v8.5 (stable) (jessie) (x86_64)
Exherbo Linux (x86_64-pc-linux-musl) (x86_64)
openSUSE 20150612 (Tumbleweed) (x86_64)