| |
| |
| |
| |
| pkgp_fetch_extract_type() { |
| local _fname="${1}"; |
| if [ "${1##*.tar.}" != "${1}" ]; then |
| printf "%s" "${1##*.tar.}"; |
| elif [ "${1##*.t}" != "${1}" ]; then |
| printf "%s" "${1##*.t}"; |
| fi; |
| }; |
| |
| pkg_fetch_extract() { |
| if [ -n "${PKG_URL:-}" ]; then |
| _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; |
| }; |
| |
| |