summaryrefslogtreecommitdiffhomepage
path: root/subr/build_init.subr
AgeCommit message (Collapse)AuthorFilesLines
2021-05-10Implements {fetch,configure,build,install}_clean.Lucio Andrés Illanes Albornoz1-155/+16
build.sh:buildp_dispatch_fail_pkg(): print NL when writing to ${DEFAULT_BUILD_LAST_FAILED_PKG_FNAME}. etc/{README.md,build.usage}: updated. midipix.env: updated. subr.rtl/rtl_complex.subr:rtl_sunset(): initial implementation. subr.rtl/rtl_list.subr:rtl_l{filter[23],length2,lift[23]}(): initial implementation. subr.rtl/rtl_state.subr:rtl_state_test(): take ${_build_steps} vs. ${_build_step}. subr/{build_init,ex_pkg_restart}.subr: splits extended restart syntax processing logic. subr/ex_pkg_exec.subr:ex_pkg_exec(): filter "start". subr/pkg_{build,configure,fetch,install}_clean.subr: initial implementation.
2021-05-07Implements extended -r syntax.Lucio Andrés Illanes Albornoz1-79/+187
build.sh:buildp_ast(): only reset package build step state if ${ARG_RESET_PKG} is 1. etc/{build.usage,README.md}: updated. etc/build.usage.short, subr/build_init.subr: implement short help screen. midipix.env: correctly escape multi-line variable assignment expressions. subr.rtl/rtl_list.subr: updated. subr.rtl/rtl_state.subr:rtl_state_set(): correctly implement invalidation. subr.rtl/rtl_state.subr:rtl_state_test(): honour `LAST'. subr/build_init.subr:buildp_init_getopts(): implements --reset-pkg. subr/build_init.subr:buildp_{expand_restart_{at,recursive},process_restart_spec}(): initial implementation. subr/ex_pkg_{dispatch,env}.subr: updated. subr/ex_pkg_exec.subr:ex_pkg_exec(): honour `ALL' and `LAST'. vars/gcc.vars: updated.
2021-04-06subr/build_init.subr:buildp_init_args(): check both automatic as well as ↵Lucio Andrés Illanes Albornoz1-4/+13
non-automatic build groups. subr/ex_pkg.subr(:ex_pkg_load_vars(): return both automatic as well as non-automatic build groups.
2021-04-06subr/build_init.subr:buildp_init_args(): correctly concatenate ↵Lucio Andrés Illanes Albornoz1-2/+2
${DEFAULT_WGET_ARGS}.
2020-12-30subr/rtl*.subr, subr.rtl/: moved.Lucio Andrés Illanes Albornoz1-1/+1
subr/build_init.subr:buildp_init_env(): updated. subr/pkgtool_init.subr:pkgtoolp_init_env(): updated.
2020-12-24subr/build_init.subr:buildp_init_getopts(): fix -F.Lucio Andrés Illanes Albornoz1-3/+3
2020-11-26subr/build_init.subr:buildp_init_files(): export TMP{,DIR}=${BUILD_WORKDIR}.Lucio Andrés Illanes Albornoz1-1/+2
subr/pkgtool_init.subr:pkgtoolp_init_args(): export TMP{,DIR}=${BUILD_WORKDIR}.
2020-05-26etc/README.md: updated.Lucio Andrés Illanes Albornoz1-0/+15
2020-05-11subr/build_init.subr:buildp_init_getopts(): allow mixing non-option ↵Lucio Andrés Illanes Albornoz1-29/+23
arguments w/ options. subr/pkgtool_init.subr:pkgtoolp_init_getopts(): allow mixing non-option arguments w/ options.
2020-05-11subr/build_init.subr:buildp_init_{args,getopts}(): call rtl_fileop_set_log() ↵Lucio Andrés Illanes Albornoz1-10/+8
as soon as possible. subr/ex_pkg.subr:ex_pkg_load_vars(): log variable file names at `notice' level. subr/rtl_fileop.subr:rtl_fileop(): implements `source'.
2020-04-29subr/build_init.subr: ensure awk(1) in $PATH is GNU Awk.Lucio Andrés Illanes Albornoz1-0/+2
2020-04-29Designate {debug,release} build as build kind.Lucio Andrés Illanes Albornoz1-2/+2
etc/{{build,pkgtool}.usage,README.md}: updated.
2020-04-12subr/build_init.subr:buildp_init_args(): skip unknown packages check given ↵Lucio Andrés Illanes Albornoz1-1/+1
-r ALL|LAST (via duvallj.)
2020-04-10subr/build_init.subr:buildp_init_args(): don't filter `host_deps_rpm' build ↵Lucio Andrés Illanes Albornoz1-2/+4
group given either of --dump-{in,on-abort}.
2020-04-09subr/build_init.subr:buildp_init_files(): trap SIG{HUP,INT,TERM,USR[12]} ↵Lucio Andrés Illanes Albornoz1-1/+1
during prefix cleaning, if requested.
2020-04-09subr/build_init.subr:buildp_init_files(): trap SIG{HUP,INT,TERM,USR[12]} ↵Lucio Andrés Illanes Albornoz1-0/+2
during prefix cleaning, if requested.
2020-04-09subr/build_init.subr:buildp_init_getopts(): exit w/ error on attempt to ↵Lucio Andrés Illanes Albornoz1-1/+5
specify maximum parallelisation job count w/ -P vs. -p jobs.
2020-04-08subr/build_init.subr:buildp_init_args(): move ${BUILD_HNAME} check & default ↵Lucio Andrés Illanes Albornoz1-3/+4
from buildp_init_env(). midipix.env:${DEFAULT_CLEAR_ENV_VARS_EXCEPT}: adds BUILD_HNAME. etc/README.md: updated.
2020-04-04subr/rtl_complex.subr:rtl_is_newer(): reimplemented w/ stat(1).Lucio Andrés Illanes Albornoz1-1/+1
subr/build_init.subr:buildp_init_prereqs(): adds stat(1).
2020-03-19subr/{build,pkgtool}_init.subr: minor cleanup.Lucio Andrés Illanes Albornoz1-18/+20
subr/rtl_complex.subr:rtl_{check_prereqs,prompt,rc}(): initial implementation.
2020-03-15Set -o nounset in addition to +o errexit -o nounset.Lucio Andrés Illanes Albornoz1-74/+76
groups/000.host_tools.group:libtool_host:${PKG_LIBTOOL}: build w/ `none'. subr/build_init.subr:buildp_init_getopts(): set ${DEFAULT_BUILD_CPUS} prior to ex_pkg_load_vars() call. subr/pkg_{build,install_make}.subr: only pass `LIBTOOL=${PKG_LIBTOOL}' if set and not `none'. vars/libtool_host.vars: removes obsolete vars file.
2020-03-15General cleanup.Lucio Andrés Illanes Albornoz1-158/+116
2020-03-12Reduce awk(1), grep(1), seq(1), and stat(1) usage.Lucio Andrés Illanes Albornoz1-24/+22
subr/build_init.subr:buildp_init_files(): replace timestamp w/ running total log filename suffix. subr/build_init.subr:buildp_init_prereqs(): ensure sed(1) supports -i option. subr/rtl_complex.subr:rtl_{get_cpu_count,is_newer}(): initial implementation. subr/rtl_string.subr:rtl_match(): initial implementation.
2020-03-11subr/build_init.subr:buildp_init_getopts(): --dump-on-abort excludes -R.Lucio Andrés Illanes Albornoz1-11/+15
etc/{build.usage,README.md}: updated.
2020-03-11pkgtool.sh, subr/{build_init,ex_pkg_exec}.subr: rebuild package, dump & exit ↵Lucio Andrés Illanes Albornoz1-4/+11
if package dump is unavailable. build.sh:buildp_dispatch_fail_pkg(): log --dump-{in,on-abort} messages at `info' level.
2020-03-11Initial implementation of pkgtool.sh.Lucio Andrés Illanes Albornoz1-8/+10
build.sh:build(): move cd(1) to $(dirname "${0}"). etc/{build.usage,README.md}: updated. midipix.env:${DEFAULT_CLEAR_ENV_VARS_EXCEPT}: allow inheriting ARCH, BUILD, BUILD_DLCACHEDIR, BUILD_WORKDIR, and PREFIX* from the environment. pkgtool.sh: initial implementation. subr/build_init.subr:buildp_init_defaults(): allow inheriting ARCH, BUILD, BUILD_DLCACHEDIR, BUILD_WORKDIR, and PREFIX* from the environment. subr/build_init.subr:buildp_init_env(): move cd(1) to $(dirname "${0}"). subr/build_init.subr:buildp_init_files(): correctly pass ${_status} from rtl_check_path_vars(). subr/ex_pkg_exec.subr:ex_pkg_exec(): dump subset of variables and exported variables on build failure and --dump-on-abort. subr/pkgtool_init.subr: adapted from subr/build_init.subr. subr/rtl_complex.subr:rtl_filter_vars(): initial implementation. subr/rtl_string.subr:rtl_subst(): initial implementation.
2020-03-05subr/ex_pkg_dispatch.subr: implement *<group>: inhibit group-group ↵Lucio Andrés Illanes Albornoz1-47/+56
dependency expansion. etc/{build.usage,README.md}, subr/build_init.subr: updated.
2020-03-05subr/ex_pkg{,_dispatch}.subr: implement -r ***name[,..][:step,..]: forcibly ↵Lucio Andrés Illanes Albornoz1-1/+3
rebuild all packages that depend on the specified package(s). etc/{build.usage,README.md}, subr/build_init.subr: updated.
2020-03-04subr/build_init.subr:build_init(): call buildp_init_prereqs() after ↵Lucio Andrés Illanes Albornoz1-20/+25
buildp_init_getopts(). subr/build_init.subr:buildp_init_prereqs(): split from buildp_init_env(). etc/README.md: updated.
2020-03-04subr/build_init.subr:buildp_init_env(): source subr/*.subr as early as ↵Lucio Andrés Illanes Albornoz1-7/+8
possible (via duvallj.) subr/build_init.subr:buildp_init_env(): correctly emit errors & exit given early initialisation failure. etc/README.md: updated.
2020-03-02subr/build_init.subr:buildp_init_args(): reduce sed(1) usage.Lucio Andrés Illanes Albornoz1-2/+2
subr/rtl_list.subr:rtl_llift(): added.
2020-03-02build.sh:build(): iteratively print list of unknown packages, if any.Lucio Andrés Illanes Albornoz1-1/+1
subr/build_init.subr:buildp_init_args(): correctly parse -r package[,...]:step[,...]. subr/ex_pkg{,_dispatch}.subr: minor cleanup. subr/ex_pkg_dispatch.subr:ex_pkg_dispatch(): don't reset ${EX_PKG_DISPATCH_UNKNOWN} on entry. subr/ex_pkg_dispatch.subr:ex_pkg_dispatch(): correctly check ${_pkg_names} for ${_pkg_name} when updating ${EX_PKG_DISPATCH_UNKNOWN}.
2020-02-29subr/build_init.subr:buildp_init_env(): don't use unavailable rtl_lconcat() ↵Lucio Andrés Illanes Albornoz1-1/+1
(via Redfoxmoon.)
2020-02-29midipix.env: renamed from vars/env.vars.Lucio Andrés Illanes Albornoz1-1/+1
subr/build_init.subr:buildp_init_vars(): source ./midipix.env.
2020-02-29Refactors dist packages into groups/999.dist.group and dist/dist_*.dist.Lucio Andrés Illanes Albornoz1-1/+3
build.sh:buildp_dispatch_pkg_state(): fix `missing_pkg' log message. subr/ex_pkg_env.subr:exp_pkg_env_set(): source from "dist/${_pkg_name}.dist" given `dist' group.
2020-02-29subr/build_init.subr:buildp_init_vars(): reject unknown groups.Lucio Andrés Illanes Albornoz1-9/+17
2020-02-29groups/dev_packages.group:${GROUP_AUTO}: set to 0.Lucio Andrés Illanes Albornoz1-1/+8
subr/build_init.subr:buildp_init_vars(): don't include groups in ${_default_build_groups} if ${GROUP_AUTO} is set to 0.
2020-02-26build.sh:buildp_dispatch_group_state(): fix type signature.Lucio Andrés Illanes Albornoz1-4/+4
subr/build_init.subr:buildp_init_vars(): fix ${_default_build_groups} generation.
2020-02-26General cleanup, pt. II.Lucio Andrés Illanes Albornoz1-151/+139
2020-02-25build.sh: reintroduce {disabled,skipped}_pkg messages at -v[v[v]].Lucio Andrés Illanes Albornoz1-5/+3
build.sh, subr/build_init.subr: minor cleanup. subr/ex_pkg_dispatch.subr:exp_pkg_expand_packages(): call ${_dispatch_fn} w/ {disabled,skipped}_pkg for {disabled,skipped} packages. subr/ex_pkg_dispatch.subr:exp_pkg_expand_packages(): don't mutate ${EX_PKG_NSKIPPED}. subr/ex_pkg_dispatch.subr:ex_pkg_dispatch(): don't set ${EX_PKG_NSKIPPED}.
2020-02-25General cleanup, pt. I.Lucio Andrés Illanes Albornoz1-8/+8
2020-02-21etc/README: updates build-time dependencies.Lucio Andrés Illanes Albornoz1-1/+1
subr/build_init.subr:buildp_init_prereqs(): redirect which(1) stderr to /dev/null.
2020-02-20subr/build_init.subr:buildp_init_prereqs(): adds perl (required by ↵Lucio Andrés Illanes Albornoz1-3/+3
intltool_host.) etc/README: updated.
2020-02-20subr/build_init.subr:buildp_init_prereqs(): updates prerequisite commands list.Lucio Andrés Illanes Albornoz1-5/+5
2020-02-20subr/build_init.subr:buildp_init_prereqs(): print missing prerequisite ↵Lucio Andrés Illanes Albornoz1-4/+9
package(s).
2020-02-15subr/build_init.subr:buildp_init_prereqs(): add flock to list of ↵Lucio Andrés Illanes Albornoz1-5/+5
prerequisite commands. etc/README: updated.
2020-02-15subr/build_init.subr:buildp_init_prereqs(): remove openssl from & add ↵Lucio Andrés Illanes Albornoz1-3/+3
sha256sum to list of prerequisite commands. subr/ex_rtl_fetch.subr:ex_rtl_fetch_url_wget(): use sha256sum(1) instead of openssl(1) w/ dgst -sha256. etc/README: updated.
2020-02-15subr/build_init.subr:buildp_init_getopts(): split -p jobs from -P due to ↵Lucio Andrés Illanes Albornoz1-3/+3
getopts(1) constraints.
2020-02-15subr/build_init.subr:buildp_init_getopts(): split -p jobs from -P due to ↵Lucio Andrés Illanes Albornoz1-20/+23
getopts(1) constraints. etc/build.usage: updated.
2020-02-14subr/build_init.subr:buildp_init_vars(): set ${DEFAULT_BUILD_CPUS} before ↵Lucio Andrés Illanes Albornoz1-7/+7
sourcing vars.