summaryrefslogtreecommitdiffhomepage
path: root/subr/ex_pkg_dispatch.subr
AgeCommit message (Collapse)AuthorFilesLines
2021-05-07Implements extended -r syntax.Lucio Andrés Illanes Albornoz1-4/+4
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.
2020-05-15Include percentage and group counts in group status informationals.Lucio Andrés Illanes Albornoz1-10/+19
2020-05-15subr/rtl_complex.subr:rtl_percentage(): initial implementation.Lucio Andrés Illanes Albornoz1-10/+4
subr/ex_pkg_dispatch.subr:exp_pkg_dispatch_{expand_packages,group}(): use rtl_percentage().
2020-05-15Include percentage and package counts in build status informationals.Lucio Andrés Illanes Albornoz1-8/+8
2020-05-15Include percentage and package counts in build status informationals.Lucio Andrés Illanes Albornoz1-11/+19
2020-05-11subr/ex_pkg.subr:ex_pkg_check_depends(): check for and exit on first unknown ↵Lucio Andrés Illanes Albornoz1-1/+1
dependent package. subr/ex_pkg_dispatch.subr():exp_pkg_dispatch_packages(): don't pass ${EX_PKG_DISPATCH_WAIT} to ex_pkg_check_depends().
2020-05-11subr/ex_pkg.subr:ex_pkg_check_depends(): check for and exit on first unknown ↵Lucio Andrés Illanes Albornoz1-4/+4
dependent package. subr/ex_pkg_dispatch.subr:exp_pkg_dispatch_packages(): pass ${EX_PKG_NAMES} to ex_pkg_check_depends().
2020-05-07Revert "build.sh:buildp_dispatch_pkg_state(): include percentage and package ↵Lucio Andrés Illanes Albornoz1-1/+1
counts in `finish_pkg' informational." This reverts commit 08f57a8d88e4ec4f2705bfd2c69abda752f03907.
2020-05-07build.sh:buildp_dispatch_pkg_state(): include percentage and package counts ↵Lucio Andrés Illanes Albornoz1-1/+1
in `finish_pkg' informational. subr/ex_pkg_dispatch.subr:exp_pkg_dispatch_group(): include package counts in `finish_pkg' message.
2020-03-15Set -o nounset in addition to +o errexit -o nounset.Lucio Andrés Illanes Albornoz1-2/+2
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-48/+53
2020-03-13Implements ./pkgtool.sh -[irt] options.Lucio Andrés Illanes Albornoz1-28/+52
etc/{README.md,pkgtool.usage}: updated. subr/ex_pkg.subr:ex_pkg_{find_package,get_packages}(): initial implementation. subr/ex_pkg.subr:ex_pkg_unfold_{,r}depends(): split from ex_pkg_expand_packages(). subr/ex_pkg{,_dispatch}.subr: removes ${EX_PKG_COMPLETE} scoped global. subr/ex_pkg_dispatch.subr:exp_pkg_dispatch_expand_packages(): split from subr/ex_pkg.subr. subr/rtl_list.subr:rtl_lsort(): initial implementation.
2020-03-12Reduce awk(1), grep(1), seq(1), and stat(1) usage.Lucio Andrés Illanes Albornoz1-3/+7
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-05subr/ex_pkg_dispatch.subr: implement *<group>: inhibit group-group ↵Lucio Andrés Illanes Albornoz1-3/+7
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-2/+2
rebuild all packages that depend on the specified package(s). etc/{build.usage,README.md}, subr/build_init.subr: updated.
2020-03-02build.sh:build(): iteratively print list of unknown packages, if any.Lucio Andrés Illanes Albornoz1-3/+3
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-03-01General cleanup, pt. III.Lucio Andrés Illanes Albornoz1-3/+3
dist/dist_digest.dist: removes obsolete dist file. etc/{build.usage,README.md}: updated. groups/000.host_tools.group:{autoconf,automake,gettext_tiny,install_strip,libtool,m4}_host: moved from groups/010.host_deps.group. groups/221.native_packages_dev.group:lua: moved from groups/231.native_packages_etc.group. groups/221.native_packages_dev.group:lua:${PKG_FORCE_AUTORECONF}: set. groups/231.native_packages_etc.group:{mlogin,tdnf}:${PKG_FORCE_AUTORECONF}: set. groups/241.native_packages_inet.group:nullmailer:${PKG_FORCE_AUTORECONF}: set. groups/251.native_packages_lib.group:lib{asr,gpg_error}:${PKG_FORCE_AUTORECONF}: set. midipix.env, etc/README.md, subr/pkg_configure_autotools.subr: adds FORCE_NO_AUTORECONF. subr/rtl_fileop.subr: adds ch{mod,own} fileops. vars/{check_updates,jamvm,lib{asr,gpg_error},lua,mlogin,tdnf}.vars: removes obsolete vars file.
2020-03-01build.sh:buildp_ast(): reset package state of in-progress packages at EXIT ↵Lucio Andrés Illanes Albornoz1-10/+10
signal time. subr/ex_pkg_dispatch.subr: convert ${EXP_PKG_DISPATCH_WAIT} to unscoped global ${EX_PKG_DISPATCH_WAIT}.
2020-02-29build.sh:buildp_dispatch{,_pkg_state}(): forward `msg_pkg' messages to ↵Lucio Andrés Illanes Albornoz1-0/+2
stdout given -v. subr/ex_pkg_dispatch.subr:exp_pkg_dispatch_group() forward `msg_pkg' to ${_dispatch_fn}. vars/invariants_zipdist.vars: log progress w/ `msg_pkg' messages in addition to rtl_log_msg().
2020-02-26Implements group-group dependencies.Lucio Andrés Illanes Albornoz1-1/+1
2020-02-26General cleanup, pt. II.Lucio Andrés Illanes Albornoz1-132/+162
2020-02-25build.sh: reintroduce {disabled,skipped}_pkg messages at -v[v[v]].Lucio Andrés Illanes Albornoz1-5/+7
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-25subr/ex_pkg_dispatch.subr:exp_pkg_check_depends(): apply ex_rtl_uniq() to ↵Lucio Andrés Illanes Albornoz1-22/+3
expanded package list. subr/ex_{pkg_dispatch,rtl_list}.subr: splits ex_rtl_lunfold_depends().
2020-02-25General cleanup, pt. I.Lucio Andrés Illanes Albornoz1-116/+159
2020-02-15subr/ex_pkg_dispatch.subr:exp_pkg_dispatch_{group,package}(): correctly ↵Lucio Andrés Illanes Albornoz1-0/+1
register {disabled,skipped} packages in ${_pkgs_found}.
2020-02-14groups/2*.native_packages_*.group: adds dependencies.Lucio Andrés Illanes Albornoz1-4/+8
subr/ex_pkg_dispatch.subr: fix -r *[ ... ].
2020-02-14groups/2*.native_packages_*.group: adds dependencies.Lucio Andrés Illanes Albornoz1-4/+3
subr/ex_pkg_dispatch.subr:exp_pkg_dispatch_{group,package}(): correctly register {disabled,skipped} packages in ${_pkgs_found}.
2020-02-14subr/ex_pkg_dispatch.subr:exp_pkg_dispatch_package(): correctly reference ↵Lucio Andrés Illanes Albornoz1-1/+1
${ARG_RESTART_RECURSIVE}.
2020-02-14groups/2*.native_packages_*.group: adds dependencies.Lucio Andrés Illanes Albornoz1-1/+1
subr/ex_pkg_dispatch.subr:exp_pkg_check_depends(): forcibly rebuild all dependencies w/ -r **[ ...] vs. -r *[ ... ].
2020-02-14build.sh: minor cleanup.Lucio Andrés Illanes Albornoz1-7/+10
groups/2*.native_packages_*.group: adds dependencies. subr/{build_init,ex_pkg_dispatch}.subr, etc/build.usage: forcibly rebuild all dependencies w/ -r **[ ...] vs. -r *[ ... ]. subr/ex_pkg_dispatch.subr:exp_pkg_get_packages(): log message before and after resolving dependencies.
2020-02-13build.sh: change working directory to "$(dirname "${0}")" at startup.Lucio Andrés Illanes Albornoz1-4/+3
etc/build.usage: updated. groups/2*.native_packages_*.group: adds dependencies. vars/env.vars, groups/{010.host_deps,120.native_runtime}.group: removes ${PKG_SRC_TARBALL_DISABLE}. groups/999.invariants.group b, vars/{env,invariants_tarballs}.vars: removes tarball generation. subr/build_args.subr: reimplemented using getopts(1). subr/{build_args,ex_pkg_dispatch}.subr: don't inhibit dependency processing if ${ARG_RESTART_RECURSIVE} is set.
2020-02-12{build.sh,subr/ex_pkg_dispatch.subr}: prepend {disabled,skipped,start}_pkg ↵Lucio Andrés Illanes Albornoz1-11/+16
messages w/ {current,maximum} count of packages in build group.
2020-02-12subr/ex_pkg_dispatch.subr: fix typo.Lucio Andrés Illanes Albornoz1-3/+3
2020-02-12vars/build.vars:{host,native}_toolchain: merges {host,native}_toolchain_mingw32.Lucio Andrés Illanes Albornoz1-4/+4
vars/build.vars:native_toolchain: fix group variables. vars/build.vars:ncurses: moved into native_packags_deps_deps. vars/build.vars:{bzip2,expat,lib{elf,ffi,readline,z}}: moved into native_packages_deps. vars/build.vars:{gdb,python2}: moved into native_packages. vars/gcc.vars: minor cleanup. etc/build.usage: updated. subr/ex_pkg_dispatch.subr: disable dependency expansion given -r.
2020-02-11vars/build.vars:{host_toolchain,invariants,native_{runtime,tools,toolchain_m ↵Lucio Andrés Illanes Albornoz1-9/+12
ingw32}}: adds dependencies. vars/build.vars:native_toolchain: merges native_toolchain_deps, adds dependencies. vars/build.vars:{bzip2,expat,gdb,python2}: moved into native_toolchain, adds dependencies. vars/build.vars:native_packages_deps{,_{deps,x11}}:${PKG_IN_TREE}: set. vars/env.vars:${DEFAULT_BUILD_VARS}: adds IN_TREE. vars/gcc.vars: continuously echo build status messages to pipe fd #3. etc/build.usage: updated. subr/ex_pkg_dispatch.subr: enforce in-order building given ${PKG_IN_TREE} set on group.
2020-02-11subr/ex_pkg_dispatch.subr: disable dependency expansion given -r.Lucio Andrés Illanes Albornoz1-9/+13
2020-02-11subr/ex_pkg_dispatch.subr: correctly update ${_pkg_names}.Lucio Andrés Illanes Albornoz1-1/+3
2020-02-11Implements package-package dependencies.Lucio Andrés Illanes Albornoz1-54/+80
2020-02-09Rename build targets to build groups to avoid confusion w/ target architectures.Lucio Andrés Illanes Albornoz1-17/+17
2019-01-27subr/ex_pkg_dispatch.subr:ex_pkg_dispatch(): correctly amend ${_pkgs_found_new}.Lucio Andrés Illanes Albornoz1-0/+1
2019-01-20subr/ex_pkg_dispatch.subr:ex_pkg_dispatch(): amend vs. set ↵Lucio Andrés Illanes Albornoz1-3/+4
${${_pkgs_found_vname}}.
2019-01-19build.sh, subr/{build_args,ex_pkg_dispatch}.subr: fix -r LAST.Lucio Andrés Illanes Albornoz1-13/+5
2019-01-19build.sh:buildp_dispatch(): correctly call ex_pkg_dispatch().Lucio Andrés Illanes Albornoz1-1/+3
subr/ex_pkg_dispatch.subr:ex_pkg_dispatch(): only set ${${_pkgs_found_vname}} if non-zero.
2019-01-19build.sh, etc/build.usage, subr/ex_pkg_dispatch.subr: adds -r LAST.Lucio Andrés Illanes Albornoz1-7/+16
subr/ex_rtl_state.subr: adds ex_rtl_state_clear(). vars/midipix.vars: adds ${DEFAULT_BUILD_LAST_FAILED_PKG_FNAME}.
2018-04-30Correctly (zero-)initialise all locals.Lucio Andrés Illanes Albornoz1-4/+4
2017-12-22build.sh:fail_pkg: terminate pending builds given build failure, -P, and ↵Lucio Andrés Illanes Albornoz (arab, vxp)1-5/+0
absence of -R. etc/build.usage: clarify the consequences of parallelising builds to guide the perplexed and to confuse the people of the tribe of certainty into enlightenment (or not?) subr/ex_pkg_dispatch.subr:exp_pkg_dispatch(): moved traps. subr/ex_pkg_exec.subr:ex_pkg_exec(): forcibly pkill(1) child processes on failure.
2017-12-06subr/ex_pkg_dispatch.subr:ex_pkg_dispatch(): don't launch new jobs if at ↵Lucio Andrés Illanes Albornoz (arab, vxp)1-10/+12
least one package failed.
2017-12-05subr/build_init.subr: touch ${DEFAULT_BUILD_LOG_FNAME} and set ↵Lucio Andrés Illanes Albornoz (arab, vxp)1-1/+1
${BUILD_IS_PARENT=1}. subr/ex_pkg_dispatch.subr:exp_pkg_dispatch(): set ${BUILD_IS_PARENT=0} within child process context. subr/ex_rtl_log.subr:exp_rtl_log_printf(): append message sans attributes to ${DEFAULT_BUILD_LOG_FNAME} given ${BUILD_IS_PARENT}.
2017-12-05etc/build.usage: adds -P [jobs].Lucio Andrés Illanes Albornoz (arab, vxp)1-1/+2
subr/build_args.subr: adds `optarg' arg type & ARG_PARALLEL:optarg:-P:auto. subr/build_init.subr: default ${ARG_PARALLEL} ([jobs]) to ${DEFAULT_BUILD_CPUS}. subr/ex_pkg_dispatch.subr: honour ${ARG_PARALLEL}, defaulting to no parallelisation.
2017-12-05subr/ex_pkg_dispatch.subr:ex_pkg_dispatch(): dispatch ${_njobs_max} jobs ↵Lucio Andrés Illanes Albornoz (arab, vxp)1-4/+10
prior to entering FIFO loop.