summaryrefslogtreecommitdiffhomepage
path: root/subr/pkg_fetch_extract.subr
diff options
context:
space:
mode:
authorLucio Andrés Illanes Albornoz <lucio@lucioillanes.de>2020-03-01 21:09:37 +0000
committerLucio Andrés Illanes Albornoz <lucio@lucioillanes.de>2020-03-01 21:09:37 +0000
commitbf9edfaed49c4387e181be454602e0cc65fe4382 (patch)
tree2bf582d4f1f0916946bc2285014b193482c52d86 /subr/pkg_fetch_extract.subr
parent725770754d9f53d5b41d876053a7a993b629472e (diff)
downloadmidipix_build-bf9edfaed49c4387e181be454602e0cc65fe4382.tar.bz2
midipix_build-bf9edfaed49c4387e181be454602e0cc65fe4382.tar.xz
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.
Diffstat (limited to 'subr/pkg_fetch_extract.subr')
-rw-r--r--subr/pkg_fetch_extract.subr28
1 files changed, 18 insertions, 10 deletions
diff --git a/subr/pkg_fetch_extract.subr b/subr/pkg_fetch_extract.subr
index 8802a950..eedd84ab 100644
--- a/subr/pkg_fetch_extract.subr
+++ b/subr/pkg_fetch_extract.subr
@@ -13,16 +13,24 @@ pkgp_fetch_extract_type() {
pkg_fetch_extract() {
if [ -n "${PKG_URL}" ]; then
- _oldpwd="${PWD}"; rtl_fileop cd "${PKG_BASE_DIR}" || return "${?}";
- rtl_fileop rm "${PKG_BASE_DIR}/${PKG_SUBDIR}" || return "${?}";
- case "$(pkgp_fetch_extract_type "${PKG_NAME}")" in
- bz2) bunzip2 -d < "${BUILD_DLCACHEDIR}/${PKG_FNAME}" | tar -C "${PKG_BASE_DIR}" -xf - || return "${?}"; ;;
- gz) gunzip -d < "${BUILD_DLCACHEDIR}/${PKG_FNAME}" | tar -C "${PKG_BASE_DIR}" -xf - || return "${?}"; ;;
- lz) lzip -d < "${BUILD_DLCACHEDIR}/${PKG_FNAME}" | tar -C "${PKG_BASE_DIR}" -xf - || return "${?}"; ;;
- xz) xz -d < "${BUILD_DLCACHEDIR}/${PKG_FNAME}" | tar -C "${PKG_BASE_DIR}" -xf - || return "${?}"; ;;
- *) tar -C "${PKG_BASE_DIR}" -xf "${BUILD_DLCACHEDIR}/${PKG_FNAME}" || return "${?}"; ;;
- esac;
- rtl_fileop cd "${_oldpwd}" || return "${?}";
+ _oldpwd="${PWD}";
+ if ! rtl_fileop cd "${PKG_BASE_DIR}"\
+ || ! rtl_fileop rm "${PKG_BASE_DIR}/${PKG_SUBDIR}"; then
+ rtl_fileop cd "${_oldpwd}"; return 1;
+ else
+ case "$(pkgp_fetch_extract_type "${PKG_NAME}")" in
+ bz2) bunzip2 -d < "${BUILD_DLCACHEDIR}/${PKG_FNAME}" | tar -C "${PKG_BASE_DIR}" -xf -; ;;
+ gz) gunzip -d < "${BUILD_DLCACHEDIR}/${PKG_FNAME}" | tar -C "${PKG_BASE_DIR}" -xf -; ;;
+ lz) lzip -d < "${BUILD_DLCACHEDIR}/${PKG_FNAME}" | tar -C "${PKG_BASE_DIR}" -xf -; ;;
+ xz) xz -d < "${BUILD_DLCACHEDIR}/${PKG_FNAME}" | tar -C "${PKG_BASE_DIR}" -xf -; ;;
+ *) tar -C "${PKG_BASE_DIR}" -xf "${BUILD_DLCACHEDIR}/${PKG_FNAME}"; ;;
+ esac;
+ if [ "${?}" -ne 0 ]; then
+ rtl_fileop cd "${_oldpwd}"; return 1;
+ else
+ rtl_fileop cd "${_oldpwd}";
+ fi;
+ fi;
fi;
};