diff options
Diffstat (limited to 'subr/pkg_fetch_extract.subr')
-rw-r--r-- | subr/pkg_fetch_extract.subr | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/subr/pkg_fetch_extract.subr b/subr/pkg_fetch_extract.subr index 33d450d2..1ab1e4f0 100644 --- a/subr/pkg_fetch_extract.subr +++ b/subr/pkg_fetch_extract.subr @@ -3,24 +3,24 @@ # pkg_fetch_extract() { + local _oldpwd; if [ -n "${PKG_URL}" ]\ && [ "${PKG_URL_TYPE:-wget}" = wget ]; then - ex_build_fileop rm "${PKG_BASE_DIR}/${PKG_SUBDIR}"; - if [ "${PKG_FNAME##*.tar.}" = "bz2" ]; then - bunzip2 -d < "${DLCACHEDIR}/${PKG_FNAME}" | tar -C "${PKG_BASE_DIR}" -xf -; - elif [ "${PKG_FNAME##*.tar.}" = "gz" ]; then - gunzip -d < "${DLCACHEDIR}/${PKG_FNAME}" | tar -C "${PKG_BASE_DIR}" -xf -; - elif [ "${PKG_FNAME##*.tar.}" = "xz" ]; then - xz -d < "${DLCACHEDIR}/${PKG_FNAME}" | tar -C "${PKG_BASE_DIR}" -xf -; - elif [ "${PKG_FNAME##*.t}" = "bz2" ]; then - bunzip2 -d < "${DLCACHEDIR}/${PKG_FNAME}" | tar -C "${PKG_BASE_DIR}" -xf -; - elif [ "${PKG_FNAME##*.t}" = "gz" ]; then - gunzip -d < "${DLCACHEDIR}/${PKG_FNAME}" | tar -C "${PKG_BASE_DIR}" -xf -; - elif [ "${PKG_FNAME##*.t}" = "xz" ]; then - xz -d < "${DLCACHEDIR}/${PKG_FNAME}" | tar -C "${PKG_BASE_DIR}" -xf -; + _oldpwd="${PWD}"; ex_rtl_fileop cd "${PKG_BASE_DIR}"; + ex_rtl_fileop rm "${PKG_BASE_DIR}/${PKG_SUBDIR}"; + if [ "${PKG_FNAME##*.tar.}" = "bz2" ]\ + || [ "${PKG_FNAME##*.t}" = "bz2" ]; then + bunzip2 -d < "${BUILD_DLCACHEDIR}/${PKG_FNAME}" | tar -C "${PKG_BASE_DIR}" -xf -; + elif [ "${PKG_FNAME##*.tar.}" = "gz" ]\ + || [ "${PKG_FNAME##*.t}" = "gz" ]; then + gunzip -d < "${BUILD_DLCACHEDIR}/${PKG_FNAME}" | tar -C "${PKG_BASE_DIR}" -xf -; + elif [ "${PKG_FNAME##*.tar.}" = "xz" ]\ + || [ "${PKG_FNAME##*.t}" = "xz" ]; then + xz -d < "${BUILD_DLCACHEDIR}/${PKG_FNAME}" | tar -C "${PKG_BASE_DIR}" -xf -; else - tar -C "${PKG_BASE_DIR}" -xf "${DLCACHEDIR}/${PKG_FNAME}"; + tar -C "${PKG_BASE_DIR}" -xf "${BUILD_DLCACHEDIR}/${PKG_FNAME}"; fi; + ex_rtl_fileop cd "${_oldpwd}"; fi; }; |