2 # Copyright (C) 2006-2007 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
9 TAR_CMD
=$(HOST_TAR
) -C
$(1)/..
$(TAR_OPTIONS
)
10 UNZIP_CMD
=unzip
-q
-d
$(1)/..
$(DL_DIR
)/$(PKG_SOURCE
)
16 ifeq ($(strip $(UNPACK_CMD
)),)
17 ifeq ($(strip $(PKG_CAT
)),)
18 # try to autodetect file type
19 EXT
:=$(call ext
,$(PKG_SOURCE
))
22 ifeq ($(filter gz tgz
,$(EXT
)),$(EXT
))
23 EXT
:=$(call ext
,$(PKG_SOURCE
:.
$(EXT
)=))
24 DECOMPRESS_CMD
:=gzip
-dc
$(DL_DIR
)/$(PKG_SOURCE
) |
26 ifeq ($(filter bzip2 bz2 bz tbz2 tbz
,$(EXT
)),$(EXT
))
27 EXT
:=$(call ext
,$(PKG_SOURCE
:.
$(EXT
)=))
28 DECOMPRESS_CMD
:=bzcat
$(DL_DIR
)/$(PKG_SOURCE
) |
30 ifeq ($(filter xz txz
,$(EXT
)),$(EXT
))
31 EXT
:=$(call ext
,$(PKG_SOURCE
:.
$(EXT
)=))
32 DECOMPRESS_CMD
:=xzcat
$(DL_DIR
)/$(PKG_SOURCE
) |
34 ifeq ($(filter tgz tbz tbz2 txz
,$(EXT1
)),$(EXT1
))
37 DECOMPRESS_CMD ?
= cat
$(DL_DIR
)/$(PKG_SOURCE
) |
39 UNPACK_CMD
=$(DECOMPRESS_CMD
) $(TAR_CMD
)
42 UNPACK_CMD
=$(DECOMPRESS_CMD
) (cd
$(1)/..
; cpio
-i
-d
)
45 UNPACK_CMD
=$(UNZIP_CMD
)
49 # compatibility code for packages that set PKG_CAT
50 ifeq ($(strip $(UNPACK_CMD
)),)
51 # use existing PKG_CAT
52 UNPACK_CMD
=$(PKG_CAT
) $(DL_DIR
)/$(PKG_SOURCE
) |
$(TAR_CMD
)
53 ifeq ($(PKG_CAT
),unzip
)
54 UNPACK_CMD
=$(UNZIP_CMD
)
56 # replace zcat with $(ZCAT), because some system don't support it properly
57 ifeq ($(PKG_CAT
),zcat
)
58 UNPACK_CMD
=gzip
-dc
$(DL_DIR
)/$(PKG_SOURCE
) |
$(TAR_CMD
)
64 PKG_UNPACK ?
= $(SH_FUNC
) $(call UNPACK_CMD
,$(PKG_BUILD_DIR
))
67 HOST_UNPACK ?
= $(SH_FUNC
) $(call UNPACK_CMD
,$(HOST_BUILD_DIR
))