move common unpacking code to unpack.mk, replace zcat with $(ZCAT) for systems that use gzcat instead

SVN-Revision: 5070
This commit is contained in:
Felix Fietkau 2006-10-14 00:40:27 +00:00
parent fdbd2f0907
commit 0d9ddef0e8
4 changed files with 22 additions and 12 deletions

View file

@ -6,13 +6,9 @@
# #
include $(INCLUDE_DIR)/host.mk include $(INCLUDE_DIR)/host.mk
include $(INCLUDE_DIR)/unpack.mk
ifneq ($(strip $(PKG_CAT)),) ifneq ($(strip $(UNPACK)),)
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
define Build/Prepare/Default define Build/Prepare/Default
$(UNPACK) $(UNPACK)
@if [ -d ./patches ]; then \ @if [ -d ./patches ]; then \

View file

@ -28,5 +28,8 @@ $(TOPDIR)/.host.mk: $(INCLUDE_DIR)/host.mk
if $$TAR --version 2>&1 | grep 'GNU' >/dev/null; then \ if $$TAR --version 2>&1 | grep 'GNU' >/dev/null; then \
echo "TAR_WILDCARDS:=--wildcards" >> $@; \ echo "TAR_WILDCARDS:=--wildcards" >> $@; \
fi; \ fi; \
ZCAT=`which gzcat`; \
[ -n "$$ZCAT" -a -x "$$ZCAT" ] || ZCAT=`which zcat`; \
echo "ZCAT:=$$ZCAT" >> $@; \
) )

View file

@ -12,6 +12,7 @@ endif
include $(INCLUDE_DIR)/prereq.mk include $(INCLUDE_DIR)/prereq.mk
include $(INCLUDE_DIR)/host.mk include $(INCLUDE_DIR)/host.mk
include $(INCLUDE_DIR)/unpack.mk
define shvar define shvar
V_$(subst .,_,$(subst -,_,$(subst /,_,$(1)))) V_$(subst .,_,$(subst -,_,$(subst /,_,$(1))))
@ -269,12 +270,7 @@ define BuildPackage
endif endif
endef endef
ifneq ($(strip $(PKG_CAT)),) ifneq ($(strip $(PKG_UNPACK)),)
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
define Build/Prepare/Default define Build/Prepare/Default
$(UNPACK) $(UNPACK)
@if [ -d ./patches ]; then \ @if [ -d ./patches ]; then \

15
include/unpack.mk Normal file
View file

@ -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