diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2006-10-14 00:40:27 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2006-10-14 00:40:27 +0000 |
commit | f6777ece942ebd64b3ae43c3c939654577bfc6bd (patch) | |
tree | 5740afd664000225e2cfb54e51686fcf72ab0d66 | |
parent | 79a17f08d7bd5640b46c51e32bdda9a80b4d329e (diff) |
move common unpacking code to unpack.mk, replace zcat with $(ZCAT) for systems that use gzcat instead
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@5070 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r-- | include/host-build.mk | 8 | ||||
-rw-r--r-- | include/host.mk | 3 | ||||
-rw-r--r-- | include/package.mk | 8 | ||||
-rw-r--r-- | include/unpack.mk | 15 |
4 files changed, 22 insertions, 12 deletions
diff --git a/include/host-build.mk b/include/host-build.mk index a1287da47..858eee531 100644 --- a/include/host-build.mk +++ b/include/host-build.mk @@ -6,13 +6,9 @@ # include $(INCLUDE_DIR)/host.mk +include $(INCLUDE_DIR)/unpack.mk -ifneq ($(strip $(PKG_CAT)),) - ifeq ($(PKG_CAT),unzip) - UNPACK=unzip -d $(PKG_BUILD_DIR) $(DL_DIR)/$(PKG_SOURCE) - else - UNPACK=$(PKG_CAT) $(DL_DIR)/$(PKG_SOURCE) | tar -C $(PKG_BUILD_DIR)/.. $(TAR_OPTIONS) - - endif +ifneq ($(strip $(UNPACK)),) define Build/Prepare/Default $(UNPACK) @if [ -d ./patches ]; then \ diff --git a/include/host.mk b/include/host.mk index 11522184b..6c0dcd669 100644 --- a/include/host.mk +++ b/include/host.mk @@ -28,5 +28,8 @@ $(TOPDIR)/.host.mk: $(INCLUDE_DIR)/host.mk if $$TAR --version 2>&1 | grep 'GNU' >/dev/null; then \ echo "TAR_WILDCARDS:=--wildcards" >> $@; \ fi; \ + ZCAT=`which gzcat`; \ + [ -n "$$ZCAT" -a -x "$$ZCAT" ] || ZCAT=`which zcat`; \ + echo "ZCAT:=$$ZCAT" >> $@; \ ) diff --git a/include/package.mk b/include/package.mk index 5a9ba861a..fc1b7802f 100644 --- a/include/package.mk +++ b/include/package.mk @@ -12,6 +12,7 @@ endif include $(INCLUDE_DIR)/prereq.mk include $(INCLUDE_DIR)/host.mk +include $(INCLUDE_DIR)/unpack.mk define shvar V_$(subst .,_,$(subst -,_,$(subst /,_,$(1)))) @@ -269,12 +270,7 @@ define BuildPackage endif endef -ifneq ($(strip $(PKG_CAT)),) - ifeq ($(PKG_CAT),unzip) - UNPACK=unzip -d $(PKG_BUILD_DIR) $(DL_DIR)/$(PKG_SOURCE) - else - UNPACK=$(PKG_CAT) $(DL_DIR)/$(PKG_SOURCE) | tar -C $(PKG_BUILD_DIR)/.. $(TAR_OPTIONS) - - endif +ifneq ($(strip $(PKG_UNPACK)),) define Build/Prepare/Default $(UNPACK) @if [ -d ./patches ]; then \ diff --git a/include/unpack.mk b/include/unpack.mk new file mode 100644 index 000000000..6449981c1 --- /dev/null +++ b/include/unpack.mk @@ -0,0 +1,15 @@ +ifeq ($(strip $(PKG_UNPACK)),) + ifneq ($(strip $(PKG_CAT)),) + # use existing PKG_CAT + UNPACK:=$(PKG_CAT) $(DL_DIR)/$(PKG_SOURCE) | tar -C $(PKG_BUILD_DIR)/.. $(TAR_OPTIONS) - + ifeq ($(PKG_CAT),unzip) + UNPACK=unzip -d $(PKG_BUILD_DIR) $(DL_DIR)/$(PKG_SOURCE) + endif + # replace zcat with $(ZCAT), because some system have it as gzcat + ifeq ($(PKG_CAT),zcat) + UNPACK:=$(ZCAT) $(DL_DIR)/$(PKG_SOURCE) | tar -C $(PKG_BUILD_DIR)/.. $(TAR_OPTIONS) - + endif + else + # try to autodetect file type + endif +endif |