summaryrefslogtreecommitdiffhomepage
path: root/subr.rtl
AgeCommit message (Collapse)AuthorFilesLines
2021-05-07Implements extended -r syntax.Lucio Andrés Illanes Albornoz2-12/+13
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.rtl/rtl_fetch{_git,}.subr: split.Lucio Andrés Illanes Albornoz6-294/+315
subr.rtl/rtl_{filepath,complex}.subr: split. subr.rtl/{rtl_filepath,}.subr: split. subr.rtl/rtl_{platform,complex}.subr: split.
2021-04-06pkgtool.sh:pkgtoolp_mirror_fetch(): call pkg_fetch_download_clean_dlcache() ↵Lucio Andrés Illanes Albornoz1-12/+20
post-{archive,Git} mirroring. pkgtool.sh:pkgtoolp_mirror_fetch(): mirror both archive as well as Git URL(s). subr/pkg_configure_patch.subr:pkg_configure_patch(): apply patches from within ${PKG_BASE_DIR} given both ${PKG_FNAME} and ${PKG_URLS_GIT}. subr.rtl/rtl_fetch.subr:rtl_fetch_mirror_urls_git(): ignore all but last component in ${_subdir}. subr.rtl/rtl_fetch.subr:rtl_fetch_mirror_urls_git(): create prerequisite directories. subr.rtl/rtl_fetch.subr:rtlp_fetch_url_git(): ignore all but last component in ${_subdir} wrt. ${_cache_dlname}. subr.rtl/rtl_fetch.subr:rtlp_fetch_url_git(): create prerequisite directories wrt. ${_tgtdir}. subr/ex_pkg_env.subr:exp_pkg_env_defaults(): reject absence of ${PKG_SUBDIR} given both ${PKG_FNAME} and ${PKG_URLS_GIT}. subr/pkg_fetch_download.subr:pkg_fetch_download_clean_dlcache(): initial implementation. subr/pkg_fetch_download.subr:pkg_fetch_download(): call pkg_fetch_download_clean_dlcache() post-{archive,Git} download.
2021-04-05subr.rtl/rtl_fetch.subr:rtl_fetch_url_wget(): log actual SHA256 message ↵Lucio Andrés Illanes Albornoz1-2/+8
digest of downloaded file on hash mismatch.
2021-04-05subr.rtl/rtl_fetch.subr:rtl_fetch_url_wget(): delete downloaded file given ↵Lucio Andrés Illanes Albornoz1-4/+7
non-recoverable failure.
2021-03-14pkgtool.sh:pkgtoolp_mirror_fetch(): skip mirroring of Git URL(s) if ↵Lucio Andrés Illanes Albornoz1-0/+2
${PKG_MIRRORS_GIT} specifies `skip'. subr.rtl/rtl_fetch.subr:rtlp_fetch_url_git(): skip attempting to use Git URL(s) mirror if ${_mirrors} specifies `skip'. groups/120.native_runtime.group:{ntctty,psxscl{,_strace}}:${PKG_MIRRORS_GIT}: skip mirroring.
2021-03-13subr.rtl/rtl_complex.subr:rtl_flock_acquire(): change flock(1) conflict exit ↵Lucio Andrés Illanes Albornoz1-1/+1
code to 253 within conformant 0-255 range.
2021-01-24subr.rtl/rtl_fetch.subr:rtlp_fetch_url_git(): correctly pass ↵Lucio Andrés Illanes Albornoz1-2/+2
${_git_branch:-main} to git-clone(1).
2021-01-24Reimplements Git repository mirroring because Git is a special snowflake.Lucio Andrés Illanes Albornoz1-19/+47
etc/{README.md,pkgtool.usage}: updated. groups/221.native_packages_dev.group:cparser:${PKG_DISABLED}: disabled due to repository unavailability. groups/251.native_packages_lib.group:libfirm:${PKG_DISABLED}: disabled due to repository unavailability. midipix.env:${DEFAULT_BUILD_VARS}: adds MIRRORS_GIT. midipix.env:${DEFAULT_MIRRORS{,_GIT}}: split; mirror Git repositories via https://midipix.lucioillanes.de/repos_git/. pkgtool.sh:pkgtoolp_mirror_fetch(): call rtl_fetch_mirror_urls_git() vs. rtl_fetch_urls_git(). pkgtool.sh:pkgtoolp_mirror_fetch(): symlink instead of downloading given package w/ parent package. pkgtool.sh:pkgtoolp_mirror{,_fetch}(): split archives vs. Git repositories directory name. subr.rtl/rtl_fetch.subr: factor out ${DEFAULT_GIT_ARGS}. subr.rtl/rtl_fetch.subr:rtl_fetch_mirror_urls_git(): initial implementation. subr.rtl/rtl_fetch.subr:rtlp_fetch_url_git(): always return on failure. subr.rtl/rtl_fetch.subr:rtlp_fetch_url_git(): correctly attempt to git-clone(1) from ${PKG_URL} and then via ${PKG_MIRRORS}. subr.rtl/rtl_fetch.subr:{rtlp_fetch_url_git,rtl_fetch_urls_git}(): cleanup. {subr/pkg_fetch_download.subr,vars/{gcc,python[23]{,_host}}.vars}: call rtl_fetch_urls_git() w/ ${PKG_NAME} and ${PKG_MIRRORS_GIT:-}.
2021-01-23subr.rtl/rtl_fetch.subr:{rtlp_fetch_url_git,rtl_fetch_urls_git}(): ↵Lucio Andrés Illanes Albornoz1-4/+6
{receive,pass} ${_pkg_name}. subr.rtl/rtl_fetch.subr:rtl_fetch_urls_git(): return 1 on failure from rtlp_fetch_url_git(). subr/pkg_fetch_download.subr: pass ${PKG_NAME} to rtl_fetch_urls_git(). etc/README.md: updated.
2021-01-23Implements setting up & fetching from mirrors.Lucio Andrés Illanes Albornoz1-80/+79
etc/pkgtool.usage: updated. etc/README.md: updated. pkgtool.sh:pkgtoolp_mirror{,_fetch}(): initial implementation. subr/pkg_fetch_download.subr: default to empty ${PKG_MIRRORS}. subr/pkg_fetch_download.subr: factor out ${ARG_FETCH_FORCE} check and ${BUILD_DLCACHEDIR}. subr/pkgtool_init.subr: updated. subr.rtl/rtl_fetch.subr:rtl_fetch_urls_{git,wget}(): factor out ${ARG_FETCH_FORCE} check and ${BUILD_DLCACHEDIR}; minor cleanup. subr.rtl/rtl_fetch.subr:rtl_fetch_url_wget(): return vs. exit on fatal failure. subr.rtl/rtl_fetch.subr:rtlp_fetch_url_git(): copy only if ${_cache_dname} != ${_tgtdir}. subr.rtl/rtl_fetch.subr:rtlp_fetch_url_git(): return if unable to git-clone(1). subr.rtl/rtl_fetch.subr:{rtlp_fetch_url_git,rtl_fetch_urls_git}(): implement Git repository mirroring. vars/{gcc,python[23]{,_host}}.vars: updated.
2021-01-22Implements ${{DEFAULT,PKG,...}_MIRRORS}.Lucio Andrés Illanes Albornoz1-4/+8
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-12-30subr/rtl*.subr, subr.rtl/: moved.Lucio Andrés Illanes Albornoz9-0/+957
subr/build_init.subr:buildp_init_env(): updated. subr/pkgtool_init.subr:pkgtoolp_init_env(): updated.