summaryrefslogtreecommitdiffhomepage
path: root/pkg.build
diff options
context:
space:
mode:
Diffstat (limited to 'pkg.build')
-rw-r--r--pkg.build16
1 files changed, 15 insertions, 1 deletions
diff --git a/pkg.build b/pkg.build
index c0051c4b..e56e9c50 100644
--- a/pkg.build
+++ b/pkg.build
@@ -20,7 +20,21 @@ if test_cmd pkg_${PKG_NAME}_finish; then
elif [ "${PKG_URL_TYPE:-wget}" = wget ] &&\
! is_build_script_done extract; then
rm_if_exists ${PKG_SUBDIR};
- tar -axf ${PKG_FNAME};
+ if [ "${PKG_FNAME##*.tar.}" = "bz2" ]; then
+ bunzip2 -d < ${PKG_FNAME} | tar -xf -;
+ elif [ "${PKG_FNAME##*.tar.}" = "gz" ]; then
+ gunzip -d < ${PKG_FNAME} | tar -xf -;
+ elif [ "${PKG_FNAME##*.tar.}" = "xz" ]; then
+ xz -d < ${PKG_FNAME} | tar -xf -;
+ elif [ "${PKG_FNAME##*.t}" = "bz2" ]; then
+ bunzip2 -d < ${PKG_FNAME} | tar -xf -;
+ elif [ "${PKG_FNAME##*.t}" = "gz" ]; then
+ gunzip -d < ${PKG_FNAME} | tar -xf -;
+ elif [ "${PKG_FNAME##*.t}" = "xz" ]; then
+ xz -d < ${PKG_FNAME} | tar -xf -;
+ else
+ tar -xf ${PKG_FNAME};
+ fi;
if test_cmd pkg_${PKG_NAME}_extract_post; then
pkg_${PKG_NAME}_extract_post;
fi;