midipix / build / midipix_build

Forked from build/midipix_build 4 years ago
Clone
Blob Blame History Raw
usage: ./build.sh [-x] [-a nt32|nt64] [-b debug|release] [-c] [-d] [-e] [-h] [-pi level.name.build]
                  [-pr level.name.build] [-r ALL|level.name.build[:diff|:step[,...]]]
                  [-t[.gz|.bz2|.xz]
        -a nt32|nt64           Selects 32-bit or 64-bit architecture; defaults to nt64.
        -b debug|release       Selects debug or release build; defaults to debug.
                               This currently only controls CFLAGS.
        -c                     Clean ${PREFIX} before processing build scripts.
        -d level.name.build    Disables the specified build script.
        -e level.name.build    Enables the specified build script.
        -h                     Show this screen.
        -pi level.name.build   Insert link to pkg.build for the specified build script.
                               All consecutive scripts with higher build levels will
                               be renamed automatically.
        -pr level.name.build   Remove the specified build script. As with -pi, all con-
                               secutive scripts with higher build levels will be renamed
                               automatically.
        -r ALL|level.name.build[:step[,...]]
                               Restart all or the specified build script(s) completely
                               or at the optionally specified build step. Currently defined
                               build steps are: fetch extract build_dir autoconf patch
                               configure clean build install.
        -r level.name.build:diff
                               Automatically produce diff(1).
        -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                     Be verbose; this currently only affects secure_{cd,rm}() and insecure_mkdir().
        -x                     Set the xtrace sh(1)ell option for debugging purposes.

        ${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 ALL
        Forcibly restart the entire build.

        ./build.sh -r 301.coreutils.build
        Completely restart the coreutils build.

        ./build.sh -r 301.coreutils.build:configure,build,install
        Restart the configure, build, and install steps of the coreutils build script.

        ./build.sh -r 205.psxscl.build 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)