summaryrefslogtreecommitdiffhomepage
path: root/build.sh
AgeCommit message (Collapse)AuthorFilesLines
2023-02-19Reject empty variables from the command line.Lucía Andrea Illanes Albornoz1-3/+7
2023-02-18Update copyright legends.Lucía Andrea Illanes Albornoz1-1/+1
2023-02-17Make everything a bit faster.Lucía Andrea Illanes Albornoz1-76/+430
0) Issues several prayers and sacrifices to Enki under threat of a terrible deluge sent down by Ellil 1) Convert fork-write/read exprs to be non-forking 2) Pass mostly everything by reference 3) Don't bother cleaning the variable namespace because Bourne shell is an abomination 4) Removes broken ./pkgtool.sh -s, --restart-at, --update-diff & ./build.sh --dump-{in,on-abort} 5) Cleanup
2022-06-24{build,pkgtool}.sh, etc/LICENCE, midipix.env: update copyright legend.Lucía Andrea Illanes Albornoz1-1/+1
2021-09-09build.sh:build(): fix spelling.Lucio Andrés Illanes Albornoz1-1/+1
2021-09-09build.sh:buildp_dispatch_pkg_state(): log env vars in child process at ↵Lucio Andrés Illanes Albornoz1-1/+1
correct level.
2021-08-27Implements localised message files, pt. II.Lucio Andrés Illanes Albornoz1-2/+2
2021-08-26Implements localised message files.Lucio Andrés Illanes Albornoz1-23/+21
2021-08-26Implements logging tags, tag sets, and themes.Lucio Andrés Illanes Albornoz1-27/+27
subr/pkgtool_init.subr:pkgtoolp_init_args(): set ${BUILD_HNAME}.
2021-08-26{build,pkgtool}.sh: log environment variables at "notice" level.Lucio Andrés Illanes Albornoz1-2/+2
subr.rtl/rtl_log.subr:${RTL_LOG_MSG_{NOTICE,VERBOSE}_COLOUR}: swap.
2021-08-26Log messages at {info,notice,verbose} and {,-v,-vv}.Lucio Andrés Illanes Albornoz1-6/+6
2021-08-25Implements ./build.sh -V {notice,verbose,build,fileops,install,xtrace}.Lucio Andrés Illanes Albornoz1-2/+2
2021-08-25{build,pkgtool}.sh: export LANG=C LC_ALL=C during execution for performance ↵Lucio Andrés Illanes Albornoz1-1/+2
reasons.
2021-08-24Split ./build.sh -x from ./build.sh -vvvv.Lucio Andrés Illanes Albornoz1-1/+1
2021-05-10Implements {fetch,configure,build,install}_clean.Lucio Andrés Illanes Albornoz1-1/+1
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-1/+2
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-06build.sh:build(): workaround bash >=4.4.20 & Zsh inconsistency concerning ↵Lucio Andrés Illanes Albornoz1-2/+3
local uninitialised variables inheriting from the environment (or not.)
2021-04-05{build,pkgtool}.sh: update copyright legend.Lucio Andrés Illanes Albornoz1-1/+1
etc/README.md: updated.
2021-01-22Implements ${{DEFAULT,PKG,...}_MIRRORS}.Lucio Andrés Illanes Albornoz1-1/+1
build.sh:build(): define and zero-initialise ${DEFAULT_MIRRORS}. etc/README.md: updated. midipix.env: adds ${DEFAULT_MIRRORS} (https://midipix.org/mirror/ https://midipix.lucioillanes.de/archives/). subr.rtl/rtl_fetch.subr:rtl_fetch_url_wget(): receive and operate on target name and optional list of mirrors. subr/pkg_fetch_download.subr: additionally pass ${PKG_NAME} and ${PKG_MIRRORS} to rtl_fetch_url_wget().
2020-09-27build.sh: update copyright legend.Lucio Andrés Illanes Albornoz1-1/+1
2020-05-26build.sh:build(): don't zero-initialise ${DEFAULT_GITROOT_HEAD} (via tehcloud.)Lucio Andrés Illanes Albornoz1-1/+1
2020-05-15Include percentage and group counts in group status informationals.Lucio Andrés Illanes Albornoz1-4/+4
2020-05-15Include percentage and package counts in build status informationals.Lucio Andrés Illanes Albornoz1-2/+2
2020-05-11build.sh:build(): don't forcibly initialise ${BUILD_HNAME}.Lucio Andrés Illanes Albornoz1-2/+2
midipix.env:${DEFAULT_LOG_ENV_VARS}: additionally log ${PREFIX_RPM}.
2020-05-11build.sh:build(): initialise global variable ${EX_PKG_DISPATCH_WAIT}.Lucio Andrés Illanes Albornoz1-1/+1
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-05-06build.sh:buildp_dispatch_pkg_state(): include percentage in `start_pkg' ↵Lucio Andrés Illanes Albornoz1-1/+1
informational.
2020-04-29Designate {debug,release} build as build kind.Lucio Andrés Illanes Albornoz1-1/+1
etc/{{build,pkgtool}.usage,README.md}: updated.
2020-04-29build.sh:buildp_ast(): ignore SIG{HUP,INT,TERM,USR[12]} during handler ↵Lucio Andrés Illanes Albornoz1-0/+1
execution.
2020-04-09build.sh:buildp_ast(): remove ${DEFAULT_BUILD_STATUS_IN_PROGRESS_FNAME} at ↵Lucio Andrés Illanes Albornoz1-3/+3
last opportunity.
2020-03-15Set -o nounset in addition to +o errexit -o nounset.Lucio Andrés Illanes Albornoz1-1/+1
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-50/+66
2020-03-11build.sh:build(): install signal handlers post-initialisation.Lucio Andrés Illanes Albornoz1-5/+5
2020-03-11pkgtool.sh, subr/{build_init,ex_pkg_exec}.subr: rebuild package, dump & exit ↵Lucio Andrés Illanes Albornoz1-3/+3
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-4/+14
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-3/+3
dependency expansion. 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/+5
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-1/+1
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-1/+7
signal time. subr/ex_pkg_dispatch.subr: convert ${EXP_PKG_DISPATCH_WAIT} to unscoped global ${EX_PKG_DISPATCH_WAIT}.
2020-02-29build.sh:build(): correctly reference ${BUILD_DATE_START}.Lucio Andrés Illanes Albornoz1-1/+1
2020-02-29build.sh:buildp_ast(): break from rtl_kill_tree() loop after 8 attempts.Lucio Andrés Illanes Albornoz1-7/+10
build.sh:buildp_ast(): list killed PIDs on single line.
2020-02-29build.sh:buildp_ast(): iterate on rtl_kill_tree() until all child processes ↵Lucio Andrés Illanes Albornoz1-4/+9
are gone.
2020-02-29Refactors dist packages into groups/999.dist.group and dist/dist_*.dist.Lucio Andrés Illanes Albornoz1-1/+1
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-29build.sh:buildp_ast(): correctly call rtl_kill_tree().Lucio Andrés Illanes Albornoz1-4/+4
subr/rtl_complex.subr:rtl_kill_tree(): iteratively & recursively kill tree of processes excluding ${$}.
2020-02-29build.sh:buildp_dispatch_pkg_state(): updates {disabled,skipped}_pkg log ↵Lucio Andrés Illanes Albornoz1-2/+2
message.
2020-02-29build.sh:buildp_dispatch{,_pkg_state}(): forward `msg_pkg' messages to ↵Lucio Andrés Illanes Albornoz1-1/+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-29build.sh:build(): correctly set ${BUILD_DATE_START}.Lucio Andrés Illanes Albornoz1-1/+1
2020-02-29build.sh:buildp_dispatch(): silence command(1) output.Lucio Andrés Illanes Albornoz1-3/+4
build.sh:build(): turn ${_build_date_start} into scoped global ${BUILD_DATE_START} due to vars/invariants_zipdist.vars. subr/ex_pkg_exec.subr:ex_pkg_exec(): correctly set ${_rc} from pkg_${_pkg_name}_all()'s return status. subr/ex_pkg_exec.subr:ex_pkg_exec(): only set `finish' package build state given zero ${_rc} and ${_restart_at}.
2020-02-26build.sh:buildp_dispatch_group_state(): fix type signature.Lucio Andrés Illanes Albornoz1-1/+1
subr/build_init.subr:buildp_init_vars(): fix ${_default_build_groups} generation.