Root/
Source at commit d87c24664006f80ccd12d42fd735fefda4fa50aa created 13 years 21 days ago. By Xiangfu Liu, update opkg.conf, don't using /tmp keep packages information | |
---|---|
1 | # |
2 | # Copyright (C) 2006-2007 OpenWrt.org |
3 | # |
4 | # This is free software, licensed under the GNU General Public License v2. |
5 | # See /LICENSE for more information. |
6 | # |
7 | |
8 | # unpacking files with +s may break on some platforms. this typically emits error code 2 |
9 | ifneq ($(HOST_OS),Linux) |
10 | HOST_TAR:=trapret 2 $(TAR) |
11 | else |
12 | HOST_TAR:=$(TAR) |
13 | endif |
14 | TAR_CMD=$(HOST_TAR) -C $(1)/.. $(TAR_OPTIONS) |
15 | UNZIP_CMD=unzip -d $(1)/.. $(DL_DIR)/$(PKG_SOURCE) |
16 | |
17 | ifeq ($(PKG_SOURCE),) |
18 | PKG_UNPACK ?= true |
19 | else |
20 | |
21 | ifeq ($(strip $(UNPACK_CMD)),) |
22 | ifeq ($(strip $(PKG_CAT)),) |
23 | # try to autodetect file type |
24 | EXT:=$(call ext,$(PKG_SOURCE)) |
25 | EXT1:=$(EXT) |
26 | |
27 | ifeq ($(filter gz tgz,$(EXT)),$(EXT)) |
28 | EXT:=$(call ext,$(PKG_SOURCE:.$(EXT)=)) |
29 | DECOMPRESS_CMD:=gzip -dc $(DL_DIR)/$(PKG_SOURCE) | |
30 | endif |
31 | ifeq ($(filter bzip2 bz2 bz tbz2 tbz,$(EXT)),$(EXT)) |
32 | EXT:=$(call ext,$(PKG_SOURCE:.$(EXT)=)) |
33 | DECOMPRESS_CMD:=bzcat $(DL_DIR)/$(PKG_SOURCE) | |
34 | endif |
35 | ifeq ($(filter xz txz,$(EXT)),$(EXT)) |
36 | EXT:=$(call ext,$(PKG_SOURCE:.$(EXT)=)) |
37 | DECOMPRESS_CMD:=xzcat $(DL_DIR)/$(PKG_SOURCE) | |
38 | endif |
39 | ifeq ($(filter tgz tbz tbz2 txz,$(EXT1)),$(EXT1)) |
40 | EXT:=tar |
41 | endif |
42 | DECOMPRESS_CMD ?= cat $(DL_DIR)/$(PKG_SOURCE) | |
43 | ifeq ($(EXT),tar) |
44 | UNPACK_CMD=$(DECOMPRESS_CMD) $(TAR_CMD) |
45 | endif |
46 | ifeq ($(EXT),cpio) |
47 | UNPACK_CMD=$(DECOMPRESS_CMD) (cd $(1)/..; cpio -i -d) |
48 | endif |
49 | ifeq ($(EXT),zip) |
50 | UNPACK_CMD=$(UNZIP_CMD) |
51 | endif |
52 | endif |
53 | |
54 | # compatibility code for packages that set PKG_CAT |
55 | ifeq ($(strip $(UNPACK_CMD)),) |
56 | # use existing PKG_CAT |
57 | UNPACK_CMD=$(PKG_CAT) $(DL_DIR)/$(PKG_SOURCE) | $(TAR_CMD) |
58 | ifeq ($(PKG_CAT),unzip) |
59 | UNPACK_CMD=$(UNZIP_CMD) |
60 | endif |
61 | # replace zcat with $(ZCAT), because some system don't support it properly |
62 | ifeq ($(PKG_CAT),zcat) |
63 | UNPACK_CMD=gzip -dc $(DL_DIR)/$(PKG_SOURCE) | $(TAR_CMD) |
64 | endif |
65 | endif |
66 | ifneq ($(strip $(CRLF_WORKAROUND)),) |
67 | CRLF_CMD := && find $(PKG_BUILD_DIR) -type f -print0 | xargs -0 perl -pi -e 's!\r$$$$!!g' |
68 | else |
69 | CRLF_CMD := |
70 | endif |
71 | endif |
72 | |
73 | ifdef PKG_BUILD_DIR |
74 | PKG_UNPACK ?= $(call UNPACK_CMD,$(PKG_BUILD_DIR)) $(call CRLF_CMD,$(PKG_BUILD_DIR)) |
75 | endif |
76 | ifdef HOST_BUILD_DIR |
77 | HOST_UNPACK ?= $(call UNPACK_CMD,$(HOST_BUILD_DIR)) $(call CRLF_CMD,$(HOST_BUILD_DIR)) |
78 | endif |
79 | |
80 | endif # PKG_SOURCE |
81 | |
82 |