From 0d1c4f95c4c2d2d7c1a01f6a46502b7c49c06647 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lucio=20Andr=C3=A9s=20Illanes=20Albornoz?= Date: Thu, 12 Mar 2020 08:56:34 +0000 Subject: Reduce awk(1), grep(1), seq(1), and stat(1) usage. 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. --- dist/dist_minipix.dist | 24 ++++++------------------ dist/dist_zipdist.dist | 2 +- 2 files changed, 7 insertions(+), 19 deletions(-) (limited to 'dist') diff --git a/dist/dist_minipix.dist b/dist/dist_minipix.dist index 728f14df..99d4b2f8 100644 --- a/dist/dist_minipix.dist +++ b/dist/dist_minipix.dist @@ -2,18 +2,6 @@ # set +o errexit -o noglob is assumed. # -pkgp_dist_minipix_is_newer() { - local _new_fname="${1}" _new_ts="" _old_dname="${2}" _old_ts=""; - if ! _old_ts="$(stat -c %Y "${_old_dname%%/}/${_new_fname##*/}" 2>/dev/null)" \ - || ! _new_ts="$(stat -c %Y "${_new_fname}" 2>/dev/null)"; then - return 0; - elif [ "${_new_ts}" -gt "${_old_ts}" ]; then - return 0; - else - return 1; - fi; -}; - pkg_dist_minipix_all() { local _dname="" _fname="" _pname=""; if rtl_lmatch "${ARG_DIST}" "minipix" ","; then @@ -25,14 +13,14 @@ pkg_dist_minipix_all() { done; for _fname in clear reset tset; do if [ -e "${PREFIX_NATIVE}/bin/${_fname}" ]\ - && pkgp_dist_minipix_is_newer "${PREFIX_NATIVE}/bin/${_fname}" "${PREFIX_MINIPIX}/bin"\ + && rtl_is_newer "${PREFIX_NATIVE}/bin/${_fname}" "${PREFIX_MINIPIX}/bin/${_fname}"\ && ! rtl_fileop cp_follow "${PREFIX_NATIVE}/bin/${_fname}" "${PREFIX_MINIPIX}/bin"; then return 1; fi; done; - for _pname in $([ -e "${PREFIX}/minipix_dist/bin" ] && find "${PREFIX}/minipix_dist/bin" \ + for _pname in $([ -e "${PREFIX}/minipix_dist/bin" ] && find "${PREFIX}/minipix_dist/bin"\ -maxdepth 1 -perm /a=x -type f -and \( -not -name "lib*" \)); do - if pkgp_dist_minipix_is_newer "${_pname}" "${PREFIX_MINIPIX}/bin"\ + if rtl_is_newer "${_pname}" "${PREFIX_MINIPIX}/bin/${_pname##*/}"\ && ! rtl_fileop cp_follow "${_pname}" "${PREFIX_MINIPIX}/bin"; then return 1; fi; @@ -43,7 +31,7 @@ pkg_dist_minipix_all() { libu16ports.so.0 libtinfo.so.6 libtinfow.so.6 libunistring.so.2 \ libuuid.so.1; do if [ -e "${PREFIX_NATIVE}/lib/${_fname}" ]\ - && pkgp_dist_minipix_is_newer "${PREFIX_NATIVE}/lib/${_fname}" "${PREFIX_MINIPIX}/bin"\ + && rtl_is_newer "${PREFIX_NATIVE}/lib/${_fname}" "${PREFIX_MINIPIX}/bin/${_fname}"\ && ! rtl_fileop cp_follow "${PREFIX_NATIVE}/lib/${_fname}" "${PREFIX_MINIPIX}/bin"; then return 1; fi; @@ -56,7 +44,7 @@ pkg_dist_minipix_all() { done; for _fname in nano vim; do if [ -e "${PREFIX}/minipix_dist/share/${_fname}" ]\ - && pkgp_dist_minipix_is_newer "${PREFIX}/minipix_dist/share/${_fname}" "${PREFIX_MINIPIX}/share"\ + && rtl_is_newer "${PREFIX}/minipix_dist/share/${_fname}" "${PREFIX_MINIPIX}/share/${_fname}"\ && ! rtl_fileop cp_follow "${PREFIX}/minipix_dist/share/${_fname}" "${PREFIX_MINIPIX}/share"; then return 1; fi; @@ -76,7 +64,7 @@ pkg_dist_minipix_all() { return 1; fi; if [ -e "${PREFIX_NATIVE}/${_dname}/${_fname}" ]\ - && pkgp_dist_minipix_is_newer "${PREFIX_NATIVE}/${_dname}/${_fname}" "${PREFIX_MINIPIX}/${_dname}"\ + && rtl_is_newer "${PREFIX_NATIVE}/${_dname}/${_fname}" "${PREFIX_MINIPIX}/${_dname}/${_fname}"\ && ! rtl_fileop cp_follow "${PREFIX_NATIVE}/${_dname}/${_fname}" "${PREFIX_MINIPIX}/${_dname}"; then return 1; fi; diff --git a/dist/dist_zipdist.dist b/dist/dist_zipdist.dist index 571dc0ce..eda7997c 100644 --- a/dist/dist_zipdist.dist +++ b/dist/dist_zipdist.dist @@ -8,7 +8,7 @@ pkg_dist_zipdist_all() { echo "msg_pkg dist dist_zipdist Building deployable distribution ZIP archive..." >&3; rtl_log_msg info "Finished building deployable distribution ZIP archive."; for _pkg_name in $(cat "${_pkglist_fname}"); do - if ! stat "${BUILD_WORKDIR}/${_pkg_name}-native-${DEFAULT_TARGET}" >/dev/null 2>&1; then + if [ ! -e "${BUILD_WORKDIR}/${_pkg_name}-native-${DEFAULT_TARGET}" ]; then rtl_log_msg failexit "Error: missing package build directory for package \`${_pkg_name}'."; fi; done; -- cgit v1.2.3