From bf9edfaed49c4387e181be454602e0cc65fe4382 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lucio=20Andr=C3=A9s=20Illanes=20Albornoz?= Date: Sun, 1 Mar 2020 21:09:37 +0000 Subject: General cleanup, pt. III. 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. --- subr/rtl_fileop.subr | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'subr/rtl_fileop.subr') diff --git a/subr/rtl_fileop.subr b/subr/rtl_fileop.subr index cc861787..c2b403fa 100644 --- a/subr/rtl_fileop.subr +++ b/subr/rtl_fileop.subr @@ -10,7 +10,7 @@ exp_rtl_fileop_check() { }; rtl_fileop() { - local _op="${1}" _dst="" _install_args="" _rc=0 _src=""; shift; + local _op="${1}" _dst="" _mode="" _install_args="" _owner="" _rc=0 _src=""; shift; case "${_op}" in cd) if [ \( -z "${1}" \) -o ! \( -L "${1}" -o -e "${1}" \) ]; then rtl_log_msg failexit "Invalid or non-existent directory \`${1}'."; @@ -18,6 +18,20 @@ rtl_fileop() { rtl_log_msg vvvv "Changing working directory to \`${1}'."; cd -- "${1}"; _rc="${?}"; fi; ;; + chmod) if [ "${#}" -lt 2 ]; then + rtl_log_msg failexit "Missing parameters (in: chmod ${*}.)"; + elif _mode="${1}" && shift\ + && exp_rtl_fileop_check "${PREFIX}" "${*}"; then + rtl_log_msg vvvv "Changing file mode bits of \`${*}' to \`${_mode}'."; + chmod -- "${_mode}" "${@}"; _rc="${?}"; + fi; ;; + chown) if [ "${#}" -lt 2 ]; then + rtl_log_msg failexit "Missing parameters (in: chown ${*}.)"; + elif _owner="${1}" && shift\ + && exp_rtl_fileop_check "${PREFIX}" "${*}"; then + rtl_log_msg vvvv "Changing file owner of \`${*}' to \`${_owner}'."; + chown -- "${_owner}" "${@}"; _rc="${?}"; + fi; ;; cp_follow) if [ "${#}" -lt 2 ]; then rtl_log_msg failexit "Missing parameters (in: cp_follow ${*}.)"; -- cgit v1.2.3