summaryrefslogtreecommitdiffhomepage
path: root/pkg.build
diff options
context:
space:
mode:
Diffstat (limited to 'pkg.build')
-rw-r--r--pkg.build17
1 files changed, 10 insertions, 7 deletions
diff --git a/pkg.build b/pkg.build
index 3cb38e5c..15e1eeb6 100644
--- a/pkg.build
+++ b/pkg.build
@@ -20,20 +20,23 @@ 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};
+ if [ ${PKG_SUBDIR_CREATE:-0} -eq 1 ]; then
+ mkdir ${PKG_SUBDIR};
+ fi;
if [ "${PKG_FNAME##*.tar.}" = "bz2" ]; then
- bunzip2 -d < ${PKG_FNAME} | tar -xf -;
+ bunzip2 -d < ${PKG_FNAME} | tar ${PKG_SUBDIR_CREATE:+-C ${PKG_SUBDIR}} -xf -;
elif [ "${PKG_FNAME##*.tar.}" = "gz" ]; then
- gunzip -d < ${PKG_FNAME} | tar -xf -;
+ gunzip -d < ${PKG_FNAME} | tar ${PKG_SUBDIR_CREATE:+-C ${PKG_SUBDIR}} -xf -;
elif [ "${PKG_FNAME##*.tar.}" = "xz" ]; then
- xz -d < ${PKG_FNAME} | tar -xf -;
+ xz -d < ${PKG_FNAME} | tar ${PKG_SUBDIR_CREATE:+-C ${PKG_SUBDIR}} -xf -;
elif [ "${PKG_FNAME##*.t}" = "bz2" ]; then
- bunzip2 -d < ${PKG_FNAME} | tar -xf -;
+ bunzip2 -d < ${PKG_FNAME} | tar ${PKG_SUBDIR_CREATE:+-C ${PKG_SUBDIR}} -xf -;
elif [ "${PKG_FNAME##*.t}" = "gz" ]; then
- gunzip -d < ${PKG_FNAME} | tar -xf -;
+ gunzip -d < ${PKG_FNAME} | tar ${PKG_SUBDIR_CREATE:+-C ${PKG_SUBDIR}} -xf -;
elif [ "${PKG_FNAME##*.t}" = "xz" ]; then
- xz -d < ${PKG_FNAME} | tar -xf -;
+ xz -d < ${PKG_FNAME} | tar ${PKG_SUBDIR_CREATE:+-C ${PKG_SUBDIR}} -xf -;
else
- tar -xf ${PKG_FNAME};
+ tar ${PKG_SUBDIR_CREATE:+-C ${PKG_SUBDIR}} -xf ${PKG_FNAME};
fi;
if test_cmd pkg_${PKG_NAME}_extract_post; then
pkg_${PKG_NAME}_extract_post;