From 938c5c45b976387ceea5792b0ce9717dd97667eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luc=C3=ADa=20Andrea=20Illanes=20Albornoz?= Date: Mon, 27 Mar 2023 08:04:23 +0200 Subject: Generalise subr.pkg/*.subr code. --- subr.ex/ex_pkg_run.subr | 400 ------------------------------------------------ 1 file changed, 400 deletions(-) delete mode 100644 subr.ex/ex_pkg_run.subr (limited to 'subr.ex/ex_pkg_run.subr') diff --git a/subr.ex/ex_pkg_run.subr b/subr.ex/ex_pkg_run.subr deleted file mode 100644 index 38f48f34..00000000 --- a/subr.ex/ex_pkg_run.subr +++ /dev/null @@ -1,400 +0,0 @@ -# -# Copyright (c) 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 LucĂ­a Andrea Illanes Albornoz -# set +o errexit -o noglob -o nounset is assumed. -# -# Package {configure,make} command execution -# - -# -# ex_pkg_run_configure() - run configure script -# @_ar: ar(1) command name or pathname -# @_cc: C compiler command name or pathname -# @_configure: configure script command name or pathname -# @_cxx: C++ compiler command name or pathname -# @_ld: ld(1) command name or pathname -# @_libtool: libtool(1) command name or pathname or "none" -# @_pkg_config: pkg-config(1) command name or pathname -# @_python: python command name or pathname -# @_ranlib: ranlib(1) command name or pathname -# @--: (ignored) -# @_flags: configure script flags as a whitespace-separated list -# @_flags_extra: extra configure script flags as a whitespace-separated likst -# @_flags_list: configure script flags as a :-separated list -# @_flags_extra_list: extra configure script flags as a :-separated list -# @--: (ignored) -# @_cflags: $CFLAGS -# @_cflags_extra: extra $CFLAGS -# @_cppflags: $CPPFLAGS -# @_cppflags_extra: extra $CPPFLAGS -# @_cxxflags: $CXXFLAGS -# @_cxxflags_extra: extra $CXXFLAGS -# @_ldflags: $LDFLAGS -# @_ldflags_extra: extra $LDFLAGS -# @_pkg_config_libdir: pkg-config(1) search directory -# -# Returns: zero (0) on success, non-zero (>0) on failure -# -ex_pkg_run_configure() { - local _eprc_ar="${1}" _eprc_cc="${2}" _eprc_configure="${3}" _eprc_cxx="${4}" _eprc_ld="${5}" \ - _eprc_libtool="${6}" _eprc_pkg_config="${7}" _eprc_python="${8}" _eprc_ranlib="${9}" \ - _eprc_ignored="${10}" \ - _eprc_flags="${11}" _eprc_flags_extra="${12}" \ - _eprc_flags_list="${13}" _eprc_flags_extra_list="${14}" \ - _eprc_ignored="${15}" \ - _eprc_cflags="${16}" _eprc_cflags_extra="${17}" _eprc_cppflags="${18}" \ - _eprc_cppflags_extra="${19}" _eprc_cxxflags="${20}" _eprc_cxxflags_extra="${21}" \ - _eprc_ldflags="${22}" _eprc_ldflags_extra="${23}" _eprc_pkg_config_libdir="${24}" \ - _eprc_rc=0; - - case "${_eprc_libtool:-}" in - none) _eprc_libtool=""; ;; - esac; - - [ "${_eprc_cflags_extra:+1}" = 1 ] && _eprc_cflags="${_eprc_cflags:+${_eprc_cflags} }${_eprc_cflags_extra}"; - [ "${_eprc_cppflags_extra:+1}" = 1 ] && _eprc_cppflags="${_eprc_cppflags:+${_eprc_cppflags} }${_eprc_cppflags_extra}"; - [ "${_eprc_cxxflags_extra:+1}" = 1 ] && _eprc_cxxflags="${_eprc_cxxflags:+${_eprc_cxxflags} }${_eprc_cxxflags_extra}"; - [ "${_eprc_ldflags_extra:+1}" = 1 ] && _eprc_ldflags="${_eprc_ldflags:+${_eprc_ldflags} }${_eprc_ldflags_extra}"; - -( - if [ "${_eprc_libtool:+1}" = 1 ]; then - export MAKE="make LIBTOOL=${_eprc_libtool}"; - fi; - - [ "${_eprc_ar:+1}" = 1 ] && export AR="${_eprc_ar}"; - [ "${_eprc_cc:+1}" = 1 ] && export CC="${_eprc_cc}"; - [ "${_eprc_cxx:+1}" = 1 ] && export CXX="${_eprc_cxx}"; - [ "${_eprc_ld:+1}" = 1 ] && export LD="${_eprc_ld}"; - [ "${_eprc_libtool:+1}" = 1 ] && export LIBTOOL="${_eprc_libtool}"; - [ "${_eprc_pkg_config:+1}" = 1 ] && export PKG_CONFIG="${_eprc_pkg_config}"; - [ "${_eprc_python:+1}" = 1 ] && export PYTHON="${_eprc_python}"; - [ "${_eprc_ranlib:+1}" = 1 ] && export RANLIB="${_eprc_ranlib}"; - - [ "${_eprc_cflags:+1}" = 1 ] && export CFLAGS="${_eprc_cflags}"; - [ "${_eprc_cppflags:+1}" = 1 ] && export CPPFLAGS="${_eprc_cppflags}"; - [ "${_eprc_cxxflags:+1}" = 1 ] && export CXXFLAGS="${_eprc_cxxflags}"; - [ "${_eprc_ldflags:+1}" = 1 ] && export LDFLAGS="${_eprc_ldflags}"; - [ "${_eprc_pkg_config_libdir:+1}" = 1 ] && export PKG_CONFIG_LIBDIR="${_eprc_pkg_config_libdir}"; - - if [ "${_eprc_flags_list:+1}" = 1 ]; then - rtl_run_cmdlineV ":" "${_eprc_configure}" \ - "${_eprc_flags_list}" \ - "${_eprc_flags_extra_list:-}" \ - ; - exit "${?}"; - elif [ "${_eprc_flags_extra_list:+1}" = 1 ]; then - rtl_run_cmdlineV ":" "${_eprc_configure}" \ - ${_eprc_flags:-} \ - "${_eprc_flags_extra_list:-}" \ - ; - exit "${?}"; - else - rtl_run_cmdlineV ":" "${_eprc_configure}" \ - ${_eprc_flags:-} \ - ${_eprc_flags_extra:-} \ - ; - exit "${?}"; - fi; -); - _eprc_rc="${?}"; - - return "${_eprc_rc}"; -}; - -# -# ex_pkg_run_configure_cmake() - run configure script -# @_ar: ar(1) command name or pathname -# @_cc: C compiler command name or pathname -# @_ccache: ccache(1) command name or pathname or "" -# @_cmake: CMake command name or pathname -# @_cxx: C++ compiler command name or pathname -# @_ld: ld(1) command name or pathname -# @_pkg_config: pkg-config(1) command name or pathname -# @_python: python command name or pathname -# @_ranlib: ranlib(1) command name or pathname -# @--: (ignored) -# @_build_type: CMake build type (host, cross, native) -# @_cmake_args: additional CMake arguments as a whitespace-separated list -# @_cmake_args_extra: additional CMake extra arguments as a whitespace-separated likst -# @_prefix: build prefix pathname -# @_subdir: CMake build directory pathname -# @_system_name: CMake system name -# @_system_processor: CMake system processor -# @--: (ignored) -# @_cflags: $CFLAGS -# @_cflags_extra: extra $CFLAGS -# @_cppflags: $CPPFLAGS -# @_cppflags_extra: extra $CPPFLAGS -# @_cxxflags: $CXXFLAGS -# @_cxxflags_extra: extra $CXXFLAGS -# @_ldflags: $LDFLAGS -# @_ldflags_extra: extra $LDFLAGS -# @_pkg_config_libdir: pkg-config(1) search directory -# -# Returns: zero (0) on success, non-zero (>0) on failure -# -ex_pkg_run_configure_cmake() { - local _eprcc_ar="${1}" _eprcc_cc="${2}" _eprcc_ccache="${3}" _eprcc_cmake="${4}" \ - _eprcc_cxx="${5}" _eprcc_ld="${6}" _eprcc_pkg_config="${7}" _eprcc_python="${8}" \ - _eprcc_ranlib="${9}" \ - _eprcc_ignored="${10}" \ - _eprcc_build_type="${11}" \ - _eprcc_cmake_args="${12}" _eprcc_cmake_args_extra="${13}" \ - _eprcc_prefix="${14}" _eprcc_subdir="${15}" \ - _eprcc_system_name="${16}" _eprcc_system_processor="${17}" \ - _eprcc_ignored="${18}" \ - _eprcc_cflags="${19}" _eprcc_cflags_extra="${20}" _eprcc_cppflags="${21}" \ - _eprcc_cppflags_extra="${22}" _eprcc_cxxflags="${23}" _eprcc_cxxflags_extra="${24}" \ - _eprcc_ldflags="${25}" _eprcc_ldflags_extra="${26}" _eprcc_pkg_config_libdir="${27}" \ - _eprcc_cmd_name="" _eprcc_cmake_args_auto="" _eprcc_rc=0 _eprcc_vname="" _eprcc_vval="" - - [ "${_eprcc_cflags_extra:+1}" = 1 ] && _eprcc_cflags="${_eprcc_cflags:+${_eprcc_cflags} }${_eprcc_cflags_extra}"; - [ "${_eprcc_cppflags_extra:+1}" = 1 ] && _eprcc_cppflags="${_eprcc_cppflags:+${_eprcc_cppflags} }${_eprcc_cppflags_extra}"; - [ "${_eprcc_cxxflags_extra:+1}" = 1 ] && _eprcc_cxxflags="${_eprcc_cxxflags:+${_eprcc_cxxflags} }${_eprcc_cxxflags_extra}"; - [ "${_eprcc_ldflags_extra:+1}" = 1 ] && _eprcc_ldflags="${_eprcc_ldflags:+${_eprcc_ldflags} }${_eprcc_ldflags_extra}"; - -( - [ "${_eprcc_pkg_config:+1}" = 1 ] && export PKG_CONFIG="${_eprcc_pkg_config}"; - [ "${_eprcc_pkg_config_libdir:+1}" = 1 ] && export PKG_CONFIG_LIBDIR="${_eprcc_pkg_config_libdir}"; - [ "${_eprcc_python:+1}" = 1 ] && export PYTHON="${_eprcc_python}"; - - for _eprcc_vname in ar cc cxx ld pkg_config ranlib; do - case "${_eprcc_vname}" in - cc|cxx) - _eprcc_vname="_eprcc_${_eprcc_vname}"; - if [ "${_eprcc_ccache:+1}" = 1 ]; then - eval ${_eprcc_vname}="\${${_eprcc_vname}#${_eprcc_ccache} }"; - fi; - ;; - - *) - _eprcc_vname="_eprcc_${_eprcc_vname}"; - ;; - esac; - - if eval [ '"${'"${_eprcc_vname}"':+1}"' = 1 ]\ - && eval [ '"${'"${_eprcc_vname}"'#/}"' = '"${'"${_eprcc_vname}"'}"' ]; then - eval _eprcc_cmd_name="\${${_eprcc_vname}% *}"; - eval _eprcc_vval="\${${_eprcc_vname}#* }"; - eval ${_eprcc_vname}='$(which "${_eprcc_cmd_name}")' || return 1; - fi; - done; - - rtl_lconcat \$_eprcc_cmake_args_auto "-DCMAKE_AR=${_eprcc_ar}" ":"; - rtl_lconcat \$_eprcc_cmake_args_auto "-DCMAKE_BUILD_TYPE=${_eprcc_build_type}" ":"; - rtl_lconcat \$_eprcc_cmake_args_auto "-DCMAKE_C_COMPILER=${_eprcc_cc}" ":"; - if [ "${_eprcc_ccache:+1}" = 1 ]; then - rtl_lconcat \$_eprcc_cmake_args_auto "-DCMAKE_C_COMPILER_LAUNCHER=${_eprcc_ccache}" ":"; - fi; - rtl_lconcat \$_eprcc_cmake_args_auto "-DCMAKE_C_FLAGS=${_eprcc_cflags}" ":"; - rtl_lconcat \$_eprcc_cmake_args_auto "-DCMAKE_CPP_FLAGS=${_eprcc_cppflags}" ":"; - rtl_lconcat \$_eprcc_cmake_args_auto "-DCMAKE_CXX_COMPILER=${_eprcc_cxx}" ":"; - if [ "${_eprcc_ccache:+1}" = 1 ]; then - rtl_lconcat \$_eprcc_cmake_args_auto "-DCMAKE_CXX_COMPILER_LAUNCHER=${_eprcc_ccache}" ":"; - fi; - rtl_lconcat \$_eprcc_cmake_args_auto "-DCMAKE_CXX_FLAGS=${_eprcc_cxxflags}" ":"; - rtl_lconcat \$_eprcc_cmake_args_auto "-DCMAKE_EXE_LINKER_FLAGS=${_eprcc_ldflags}" ":"; - rtl_lconcat \$_eprcc_cmake_args_auto "-DCMAKE_FIND_ROOT_PATH=${_eprcc_prefix}" ":"; - rtl_lconcat \$_eprcc_cmake_args_auto "-DCMAKE_INSTALL_PREFIX=" ":"; - rtl_lconcat \$_eprcc_cmake_args_auto "-DCMAKE_LINKER=${_eprcc_ld}" ":"; - rtl_lconcat \$_eprcc_cmake_args_auto "-DCMAKE_MODULE_LINKER_FLAGS=${_eprcc_ldflags}" ":"; - rtl_lconcat \$_eprcc_cmake_args_auto "-DCMAKE_RANLIB=${_eprcc_ranlib}" ":"; - rtl_lconcat \$_eprcc_cmake_args_auto "-DCMAKE_SHARED_LINKER_FLAGS=${_eprcc_ldflags}" ":"; - rtl_lconcat \$_eprcc_cmake_args_auto "-DCMAKE_SYSTEM_PROCESSOR=${_eprcc_system_processor}" ":"; - rtl_lconcat \$_eprcc_cmake_args_auto "-DPKG_CONFIG_EXECUTABLE=${_eprcc_pkg_config}" ":"; - - case "${_eprcc_build_type}" in - native) - rtl_lconcat \$_eprcc_cmake_args_auto "-DCMAKE_SYSROOT=${_eprcc_prefix}" ":"; - rtl_lconcat \$_eprcc_cmake_args_auto "-DCMAKE_SYSTEM_NAME=${_eprcc_system_name}" ":"; - ;; - esac; - - rtl_run_cmdlineV ":" "${_eprcc_cmake}" \ - "${_eprcc_cmake_args_auto}" \ - ${_eprcc_cmake_args:-} \ - ${_eprcc_cmake_args_extra:-} \ - "${_eprcc_subdir}"; - exit "${?}"; -); - _eprcc_rc="${?}"; - - return "${_eprcc_rc}"; -}; - -# -# ex_pkg_run_make() - run make(1) -# @_ar: ar(1) command name or pathname -# @_cc: C compiler command name or pathname -# @_cxx: C++ compiler command name or pathname -# @_ld: ld(1) command name or pathname -# @_libtool: libtool(1) command name or pathname or "none" -# @_make: make(1) command name or pathname -# @_pkg_config: pkg-config(1) command name or pathname -# @_ranlib: ranlib(1) command name or pathname -# @--: (ignored) -# @_set_ccfl: 1 if CC=... is to be passed to make(1), 0 if CC=... is not to be passed to make(1) -# @_subdir: make(1) -C argument -# @--: (ignored) -# @_makeflags: make(1) flags as a whitespace-separated list -# @_makeflags_extra: extra make(1) flags as a whitespace-separated likst -# @_makeflags_list: make(1) flags as a :-separated list -# @_makeflags_extra_list: extra make(1) flags as a :-separated list -# @_makeflags_loadavg: make(1) -l load argument -# @_makeflags_parallelise: make(1) -j jobs argument -# @_makeflags_verbosity: make(1) Makefile verbosity arguments or "none" -# @--: (ignored) -# @_cflags: $CFLAGS -# @_cflags_extra: extra $CFLAGS -# @_cppflags: $CPPFLAGS -# @_cppflags_extra: extra $CPPFLAGS -# @_cxxflags: $CXXFLAGS -# @_cxxflags_extra: extra $CXXFLAGS -# @_ldflags: $LDFLAGS -# @_ldflags_extra: extra $LDFLAGS -# @_pkg_config_libdir: pkg-config(1) search directory -# @--: (ignored) -# @_destdir_spec: DESTDIR=... specification -# @_target: make(1) target -# -# Returns: zero (0) on success, non-zero (>0) on failure -# -ex_pkg_run_make() { - local _eprm_ar="${1}" _eprm_cc="${2}" _eprm_cxx="${3}" _eprm_ld="${4}" \ - _eprm_libtool="${5}" _eprm_make="${6}" _eprm_pkg_config="${7}" _eprm_ranlib="${8}" \ - _eprm_ignored="${9}" \ - _eprm_set_ccfl="${10}" _eprm_subdir="${11}" \ - _eprm_ignored="${12}" \ - _eprm_makeflags="${13}" _eprm_makeflags_extra="${14}" _eprm_makeflags_list="${15}" \ - _eprm_makeflags_extra_list="${16}" _eprm_makeflags_loadavg="${17}" \ - _eprm_makeflags_parallelise="${18}" _eprm_makeflags_verbosity="${19}" \ - _eprm_ignored="${20}" \ - _eprm_cflags="${21}" _eprm_cflags_extra="${22}" _eprm_cppflags="${23}" \ - _eprm_cppflags_extra="${24}" _eprm_cxxflags="${25}" _eprm_cxxflags_extra="${26}" \ - _eprm_ldflags="${27}" _eprm_ldflags_extra="${28}" _eprm_pkg_config_libdir="${29}" \ - _eprm_ignored="${30}" \ - _eprm_destdir_spec="${31}" _eprm_target="${32}" \ - _eprm_rc=0; - - case "${_eprm_makeflags_loadavg:-}" in - none) _eprm_makeflags_loadavg=""; ;; - esac; - - case "${_eprm_libtool:-}" in - none) _eprm_libtool=""; ;; - esac; - - case "${_eprm_makeflags_verbosity}" in - none) _eprm_makeflags_verbosity=""; ;; - esac; - - case "${_eprm_set_ccfl}" in - 1) _eprm_set_ccfl="1"; ;; - *) _eprm_set_ccfl=""; ;; - esac; - -( - if [ "${_eprm_libtool:+1}" = 1 ]; then - export MAKE="make LIBTOOL=${_eprm_libtool}"; - fi; - - if [ "${_eprm_makeflags_list:+1}" = 1 ]; then - rtl_run_cmdlineV ":" "${_eprm_make}" \ - AR="${_eprm_ar}" \ - ${_eprm_set_ccfl:+CC="${_eprm_cc}"} \ - ${_eprm_set_ccfl:+CXX="${_eprm_cxx}"} \ - LD="${_eprm_ld}" \ - ${_eprm_libtool:+LIBTOOL="${_eprm_libtool}"} \ - ${_eprm_pkg_config:+PKG_CONFIG="${_eprm_pkg_config}"} \ - RANLIB="${_eprm_ranlib}" \ - \ - "${_eprm_makeflags_list}" \ - "${_eprm_makeflags_extra_list:-}" \ - ${_eprm_makeflags_loadavg:-} \ - ${_eprm_makeflags_parallelise:-} \ - ${_eprm_makeflags_verbosity} \ - \ - ${_eprm_cflags:+CFLAGS="${_eprm_cflags}"} \ - ${_eprm_cflags_extra:+CFLAGS+="${_eprm_cflags_extra}"} \ - ${_eprm_cppflags:+CPPFLAGS="${_eprm_cppflags}"} \ - ${_eprm_cppflags_extra:+CPPFLAGS+="${_eprm_cppflags_extra}"} \ - ${_eprm_cxxflags:+CXXFLAGS="${_eprm_cxxflags}"} \ - ${_eprm_cxxflags_extra:+CXXFLAGS+="${_eprm_cxxflags_extra}"} \ - ${_eprm_ldflags:+LDFLAGS="${_eprm_ldflags}"} \ - ${_eprm_ldflags_extra:+LDFLAGS+="${_eprm_ldflags_extra}"} \ - ${_eprm_pkg_config_libdir:+PKG_CONFIG_LIBDIR="${_eprm_pkg_config_libdir}"} \ - \ - ${_eprm_subdir:+-C "${_eprm_subdir}"} \ - ${_eprm_destdir_spec:+"${_eprm_destdir_spec}"} \ - ${_eprm_target:+"${_eprm_target}"} \ - ; - exit "${?}"; - elif [ "${_eprm_makeflags_extra_list:+1}" = 1 ]; then - rtl_run_cmdlineV ":" "${_eprm_make}" \ - AR="${_eprm_ar}" \ - ${_eprm_set_ccfl:+CC="${_eprm_cc}"} \ - ${_eprm_set_ccfl:+CXX="${_eprm_cxx}"} \ - LD="${_eprm_ld}" \ - ${_eprm_libtool:+LIBTOOL="${_eprm_libtool}"} \ - ${_eprm_pkg_config:+PKG_CONFIG="${_eprm_pkg_config}"} \ - RANLIB="${_eprm_ranlib}" \ - \ - ${_eprm_makeflags:-} \ - "${_eprm_makeflags_extra_list}" \ - ${_eprm_makeflags_loadavg:-} \ - ${_eprm_makeflags_parallelise:-} \ - ${_eprm_makeflags_verbosity} \ - \ - ${_eprm_cflags:+CFLAGS="${_eprm_cflags}"} \ - ${_eprm_cflags_extra:+CFLAGS+="${_eprm_cflags_extra}"} \ - ${_eprm_cppflags:+CPPFLAGS="${_eprm_cppflags}"} \ - ${_eprm_cppflags_extra:+CPPFLAGS+="${_eprm_cppflags_extra}"} \ - ${_eprm_cxxflags:+CXXFLAGS="${_eprm_cxxflags}"} \ - ${_eprm_cxxflags_extra:+CXXFLAGS+="${_eprm_cxxflags_extra}"} \ - ${_eprm_ldflags:+LDFLAGS="${_eprm_ldflags}"} \ - ${_eprm_ldflags_extra:+LDFLAGS+="${_eprm_ldflags_extra}"} \ - ${_eprm_pkg_config_libdir:+PKG_CONFIG_LIBDIR="${_eprm_pkg_config_libdir}"} \ - \ - ${_eprm_subdir:+-C "${_eprm_subdir}"} \ - ${_eprm_destdir_spec:+"${_eprm_destdir_spec}"} \ - ${_eprm_target:+"${_eprm_target}"} \ - ; - exit "${?}"; - else - rtl_run_cmdlineV ":" "${_eprm_make}" \ - AR="${_eprm_ar}" \ - ${_eprm_set_ccfl:+CC="${_eprm_cc}"} \ - ${_eprm_set_ccfl:+CXX="${_eprm_cxx}"} \ - LD="${_eprm_ld}" \ - ${_eprm_libtool:+LIBTOOL="${_eprm_libtool}"} \ - ${_eprm_pkg_config:+PKG_CONFIG="${_eprm_pkg_config}"} \ - RANLIB="${_eprm_ranlib}" \ - \ - ${_eprm_makeflags:-} \ - ${_eprm_makeflags_extra:-} \ - ${_eprm_makeflags_loadavg:-} \ - ${_eprm_makeflags_parallelise:-} \ - ${_eprm_makeflags_verbosity} \ - \ - ${_eprm_cflags:+CFLAGS="${_eprm_cflags}"} \ - ${_eprm_cflags_extra:+CFLAGS+="${_eprm_cflags_extra}"} \ - ${_eprm_cppflags:+CPPFLAGS="${_eprm_cppflags}"} \ - ${_eprm_cppflags_extra:+CPPFLAGS+="${_eprm_cppflags_extra}"} \ - ${_eprm_cxxflags:+CXXFLAGS="${_eprm_cxxflags}"} \ - ${_eprm_cxxflags_extra:+CXXFLAGS+="${_eprm_cxxflags_extra}"} \ - ${_eprm_ldflags:+LDFLAGS="${_eprm_ldflags}"} \ - ${_eprm_ldflags_extra:+LDFLAGS+="${_eprm_ldflags_extra}"} \ - ${_eprm_pkg_config_libdir:+PKG_CONFIG_LIBDIR="${_eprm_pkg_config_libdir}"} \ - \ - ${_eprm_subdir:+-C "${_eprm_subdir}"} \ - ${_eprm_destdir_spec:+"${_eprm_destdir_spec}"} \ - ${_eprm_target:+"${_eprm_target}"} \ - ; - exit "${?}"; - fi; -); - _eprm_rc="${?}"; - - return "${_eprm_rc}"; -}; - -# vim:filetype=sh textwidth=0 -- cgit v1.2.3