+ext=$(word $(words $(subst ., ,$(1))),$(subst ., ,$(1)))
+
+# unpacking files with +s may break on some platforms. this typically emits error code 2
+ifneq ($(HOST_OS),Linux)
+ HOST_TAR:=trapret 2 $(TAR)
+else
+ HOST_TAR:=$(TAR)
+endif
+TAR_CMD:=$(HOST_TAR) -C $(PKG_BUILD_DIR)/.. $(TAR_OPTIONS)
+UNZIP_CMD:=unzip -d $(PKG_BUILD_DIR)/.. $(DL_DIR)/$(PKG_SOURCE)
+
+ifeq ($(PKG_SOURCE),)
+ PKG_UNPACK ?= true
+endif
ifeq ($(strip $(PKG_UNPACK)),)
- ifneq ($(HOST_OS),Linux)
- HOST_TAR:=trapret 2 $(TAR)
- else
- HOST_TAR:=$(TAR)
+ ifeq ($(strip $(PKG_CAT)),)
+ # try to autodetect file type
+ EXT:=$(call ext,$(PKG_SOURCE))
+ EXT1:=$(EXT)
+
+ ifeq ($(filter gz tgz,$(EXT)),$(EXT))
+ EXT:=$(call ext,$(PKG_SOURCE:.$(EXT)=))
+ UNPACK:=$(ZCAT) $(DL_DIR)/$(PKG_SOURCE) |
+ endif
+ ifeq ($(filter bzip2 bz2 bz tbz2 tbz,$(EXT)),$(EXT))
+ EXT:=$(call ext,$(PKG_SOURCE:.$(EXT)=))
+ UNPACK:=bzcat $(DL_DIR)/$(PKG_SOURCE) |
+ endif
+ ifeq ($(filter tgz tbz tbz2,$(EXT1)),$(EXT1))
+ $(error FOO: $(filter tgz tbz tbz2,$(EXT1)),$(EXT1))
+ EXT:=tar
+ endif
+ UNPACK ?= cat $(DL_DIR)/$(PKG_SOURCE) |
+ ifeq ($(EXT),tar)
+ PKG_UNPACK:=$(UNPACK) $(TAR_CMD)
+ endif
+ ifeq ($(EXT),cpio)
+ PKG_UNPACK:=$(UNPACK) (cd $(PKG_BUILD_DIR)/..; cpio -i -d)
+ endif
+ ifeq ($(EXT),zip)
+ PKG_UNPACK:=$(UNZIP_CMD)
+ endif
endif
- ifneq ($(strip $(PKG_CAT)),)
+
+ # compatibility code for packages that set PKG_CAT
+ ifeq ($(strip $(PKG_CAT)$(PKG_UNPACK)),)
# use existing PKG_CAT
- PKG_UNPACK:=$(PKG_CAT) $(DL_DIR)/$(PKG_SOURCE) | $(HOST_TAR) -C $(PKG_BUILD_DIR)/.. $(TAR_OPTIONS)
+ PKG_UNPACK:=$(PKG_CAT) $(DL_DIR)/$(PKG_SOURCE) | $(TAR_CMD)
ifeq ($(PKG_CAT),unzip)
- PKG_UNPACK:=unzip -d $(PKG_BUILD_DIR)/.. $(DL_DIR)/$(PKG_SOURCE)
+ PKG_UNPACK:=$(UNZIP_CMD)
endif
# replace zcat with $(ZCAT), because some system have it as gzcat
ifeq ($(PKG_CAT),zcat)
- PKG_UNPACK:=$(ZCAT) $(DL_DIR)/$(PKG_SOURCE) | $(HOST_TAR) -C $(PKG_BUILD_DIR)/.. $(TAR_OPTIONS)
+ PKG_UNPACK:=$(ZCAT) $(DL_DIR)/$(PKG_SOURCE) | $(TAR_CMD)
endif
- else
- # try to autodetect file type
endif
ifneq ($(strip $(CRLF_WORKAROUND)),)
PKG_UNPACK += && find $(PKG_BUILD_DIR) -type f -print0 | xargs -0 perl -pi -e 's!\r$$$$!!g'
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=ftp://ftp.alsa-project.org/pub/driver/
PKG_MD5SUM:=4cff99be4b225e96663fbd61cabe3182
-PKG_CAT:=bzcat
include $(INCLUDE_DIR)/package.mk
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://core.it.uu.se/core/files/
PKG_MD5SUM:=05460543054449cb4b170252a7168c65
-PKG_CAT:=zcat
include $(INCLUDE_DIR)/package.mk
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://downloads.openwrt.org/sources
PKG_MD5SUM:=90c10702c9c3129e2ad1c01ce3975bf5
-PKG_CAT:=bzcat
include $(INCLUDE_DIR)/package.mk
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://downloads.openwrt.org/sources
PKG_MD5SUM:=ce46849a8f1055cef09c59c6bdb7f86a
-PKG_CAT:=bzcat
include $(INCLUDE_DIR)/package.mk
PKG_SOURCE:=$(PKG_NAME)-v$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@SF/ebtables
PKG_MD5SUM:=283d19292bd99913dc3a42842826c286
-PKG_CAT:=zcat
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-v$(PKG_VERSION)
PKG_SOURCE:=bridge-utils-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@SF/bridge
PKG_MD5SUM:=9b7dc52656f5cbec846a7ba3299f73bd
-PKG_CAT:=zcat
PKG_BUILD_DIR:=$(BUILD_DIR)/bridge-utils-$(PKG_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://downloads.openwrt.org/sources
PKG_MD5SUM:=a7d8dde3ce474c361143b83e1d9890b1
-PKG_CAT:=bzcat
include $(INCLUDE_DIR)/package.mk
PKG_SOURCE_URL:=http://www.busybox.net/downloads \
http://distfiles.gentoo.org/distfiles/
PKG_MD5SUM:=5728403bce309cdabcffa414e2e64052
-PKG_CAT:=bzcat
include $(INCLUDE_DIR)/package.mk
PKG_MD5SUM:=db2452680c3d953631299e331daf49ef
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME).$(PKG_VERSION)
-PKG_CAT:=zcat
include $(INCLUDE_DIR)/package.mk
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://thekelleys.org.uk/dnsmasq
PKG_MD5SUM:=57b8643dc394cf2fbd1bced64536c6df
-PKG_CAT:=zcat
include $(INCLUDE_DIR)/package.mk
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://matt.ucc.asn.au/dropbear/releases/
PKG_MD5SUM:=ca8e53a766faec831882831364568421
-PKG_CAT:=zcat
include $(INCLUDE_DIR)/package.mk
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@SF/e2fsprogs
PKG_MD5SUM:=06f7806782e357797fad1d34b7ced0c6
-PKG_CAT:=zcat
include $(INCLUDE_DIR)/package.mk
PKG_SOURCE:=$(PKG_NAME)-v$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@SF/ebtables
PKG_MD5SUM:=f07111fcc1966be669278433c35dcc28
-PKG_CAT:=zcat
PKG_BUILD_DIR:=$(BUILD_DIR)/ebtables-v$(PKG_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@SF/$(PKG_NAME)
PKG_MD5SUM:=3f4f5d07d12dedc0a3fd23472171fe94
-PKG_CAT:=zcat
include $(INCLUDE_DIR)/package.mk
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=@GNU/gmp
PKG_MD5SUM:=0aa7d3b3f5b5ec5951e7dddd6f65e891
-PKG_CAT:=bzcat
include $(INCLUDE_DIR)/package.mk
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@SF/haserl
PKG_MD5SUM:=bd9195d086566f56634c0bcbbbcbebea
-PKG_CAT:=zcat
include $(INCLUDE_DIR)/package.mk
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://hostap.epitest.fi/releases/
PKG_MD5SUM:=afe041581b8f01666e353bec20917c85
-PKG_CAT:=zcat
include $(INCLUDE_DIR)/package.mk
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://hostap.epitest.fi/releases/
PKG_MD5SUM:=c7534dc040ab90218257a78488ecd378
-PKG_CAT:=zcat
include $(INCLUDE_DIR)/package.mk
ifeq ($(DUMP),)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://hostap.epitest.fi/releases/
PKG_MD5SUM:=d5113247dc6ee17106e6bc7cb89aa507
-PKG_CAT:=zcat
PKG_BUILD_DEPENDS:=madwifi
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://isteve.bofh.cz/~isteve/hotplug2
PKG_MD5SUM:=ea2c01d027b4002e4e6b0ff266f51a51
-PKG_CAT:=zcat
include $(INCLUDE_DIR)/package.mk
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://developer.osdl.org/dev/iproute2/download/
PKG_MD5SUM:=04f57a6d366d36426d276178b600f5c5
-PKG_CAT:=zcat
include $(INCLUDE_DIR)/package.mk
# $Id$
include $(TOPDIR)/rules.mk
+include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=ipsec-tools
PKG_VERSION:=0.6.6
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=@SF/ipsec-tools
PKG_MD5SUM:=e908f3cf367e31c7902df5ab16fbe5c3
-PKG_CAT:=bzcat
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/kernel.mk
define Package/ipsec-tools
SECTION:=net
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-20050914.tar.bz2
PKG_SOURCE_URL:=http://ipset.netfilter.org
PKG_MD5SUM:=1709424cc2cdb925d4fb6fd5fcaefc26
-PKG_CAT:=bzcat
include $(INCLUDE_DIR)/package.mk
ftp://ftp.de.netfilter.org/pub/netfilter/iptables/ \
ftp://ftp.no.netfilter.org/pub/netfilter/iptables/
PKG_MD5SUM:=00fb916fa8040ca992a5ace56d905ea5
-PKG_CAT:=bzcat
include $(INCLUDE_DIR)/package.mk
ifeq ($(DUMP),)
PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).orig.tar.gz
PKG_SOURCE_URL:=http://ftp.debian.org/debian/pool/main/i/isakmpd/
PKG_MD5SUM:=e6d25a9e232fb186e1a48dc06453bd57
-PKG_CAT:=zcat
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION).orig
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.xmission.com/~ebiederm/files/kexec/
PKG_MD5SUM:=b4f7ffcc294d41a6a4c40d6e44b7734d
-PKG_CAT:=zcat
include $(INCLUDE_DIR)/package.mk
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://downloads.openwrt.org/sources/
PKG_MD5SUM:=b569066ac2ba1356c2112b118a7d74d0
-PKG_CAT:=bzcat
include $(INCLUDE_DIR)/package.mk
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.tcpdump.org/release/
PKG_MD5SUM:=79025766e8027df154cb1f32de8a7974
-PKG_CAT:=zcat
include $(INCLUDE_DIR)/package.mk
PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).orig.tar.gz
PKG_SOURCE_URL:=http://ftp.debian.org/debian/pool/main/l/linux-atm/
PKG_MD5SUM:=84fef49cc39ff2605204246666f65864
-PKG_CAT:=zcat
include $(INCLUDE_DIR)/package.mk
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=@SF/$(PKG_NAME)
PKG_MD5SUM:=bf5509fccd3852e22551826063b1b61e
-PKG_CAT:=bzcat
include $(INCLUDE_DIR)/package.mk
PKG_SOURCE:=nozomi_$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.pharscape.org/3G
PKG_MD5SUM:=90e4d8f389a18b5579f7234a23e32e99
-PKG_CAT:=zcat
include $(INCLUDE_DIR)/package.mk
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tgz
PKG_SOURCE_URL:=http://www.ntfs-3g.org/
PKG_MD5SUM:=873a8de662849d129fc7c475ad3f5447
-PKG_CAT:=zcat
PKG_BUILD_DEPENDS:=libfuse
ftp://ftp.webmonster.de/pub/openssl/source/ \
ftp://ftp.sunet.se/pub/security/tools/net/openssl/source/
PKG_MD5SUM:=8ed1853538e1d05a1f5ada61ebf8bffa
-PKG_CAT:=zcat
include $(INCLUDE_DIR)/package.mk
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.openswan.org/download
PKG_MD5SUM:=70f22e8adc39e07a165f75eccb7cd079
-PKG_CAT:=zcat
include $(INCLUDE_DIR)/package.mk
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@SF/$(PKG_NAME)
PKG_MD5SUM:=0d6d65be8896eff081aee996049afaa5
-PKG_CAT:=zcat
include $(INCLUDE_DIR)/package.mk
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=ftp://ftp.samba.org/pub/ppp/
PKG_MD5SUM:=848f6c3cafeb6074ffeb293c3af79b7c
-PKG_CAT:=zcat
PKG_BUILD_DEPENDS:=libpcap linux-atm
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@SF/pptpclient
PKG_MD5SUM:=9a706327fb9827541d7c86d48ceb9631
-PKG_CAT:=zcat
include $(INCLUDE_DIR)/package.mk
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://www.saillard.org/linux/pwc/files/
PKG_MD5SUM:=8763f3d6fd0f9738ef9854de205a126d
-PKG_CAT:=bzcat
include $(INCLUDE_DIR)/package.mk
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@SF/rt2400
PKG_MD5SUM:=83b8b9a091705c08d99268479f3b3b6a
-PKG_CAT:=zcat
include $(INCLUDE_DIR)/package.mk
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@SF/rt2400
PKG_MD5SUM:=f4131d670920a878b4d4a0f5d4d8b93a
-PKG_CAT:=zcat
include $(INCLUDE_DIR)/package.mk
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@SF/rt2400
PKG_MD5SUM:=3f2600400a3d6d878a5d27d0a2e47eed
-PKG_CAT:=zcat
include $(INCLUDE_DIR)/package.mk
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@SF/shfs
PKG_MD5SUM:=016f49d71bc32eee2b5d11fc1600cfbe
-PKG_CAT:=zcat
include $(INCLUDE_DIR)/package.mk
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://mxhaard.free.fr/spca50x/Download
PKG_MD5SUM:=1e3fa004490a07b7b76de03d70b3e8ea
-PKG_CAT:=zcat
include $(INCLUDE_DIR)/package.mk
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://download.strongswan.org/
PKG_MD5SUM:=57427f5b48123851a73b10d78dd4f8d6
-PKG_CAT:=bzcat
include $(INCLUDE_DIR)/package.mk
ftp://ftp.fr.kernel.org/pub/linux/utils/kernel/hotplug/ \
http://ftp.fr.kernel.org/pub/linux/utils/kernel/hotplug/
PKG_MD5SUM:=320ccd2d0f4540d10e021bafa14f8985
-PKG_CAT:=bzcat
include $(INCLUDE_DIR)/package.mk
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://castet.matthieu.free.fr/eagle/release/
PKG_MD5SUM:=5da1fceb15168f4c7ad407a3e38ddecb
-PKG_CAT:=zcat
include $(INCLUDE_DIR)/package.mk
ftp://ftp.de.kernel.org/pub/linux/utils/$(PKG_NAME)/ \
http://ftp.de.kernel.org/pub/linux/utils/$(PKG_NAME)/
PKG_MD5SUM:=c261230b27fc0fbcc287c76884caf2d3
-PKG_CAT:=zcat
include $(INCLUDE_DIR)/package.mk
PKG_SOURCE:=wireless_tools.$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux
PKG_MD5SUM:=599c94497f9c9073c7b052d3dcb7cd16
-PKG_CAT:=zcat
TAR_OPTIONS += || true
PKG_BUILD_DIR:=$(BUILD_DIR)/wireless_tools.28
PKG_SOURCE_URL:=http://hostap.epitest.fi/releases
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_CAT:=zcat
include $(INCLUDE_DIR)/package.mk
PKG_SOURCE:=$(PKG_NAME)_gruen.4g__$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://meshcube.org/nylon/stable/sources/
PKG_MD5SUM:=a3e4f24155aa3ba5aa502bc63fdaa6ad
-PKG_CAT:=zcat
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
PKG_SOURCE:=$(PKG_NAME)-driver-$(PKG_VERSION).tgz
PKG_SOURCE_URL:=http://zd1211.ath.cx/download/
PKG_MD5SUM:=a5751f0e6f1f368689077fa7758a4932
-PKG_CAT:=zcat
PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-driver-$(PKG_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://www.zlib.net @SF/zlib
PKG_MD5SUM:=dee233bf288ee795ac96a98cc2e369b6
-PKG_CAT:=bzcat
include $(INCLUDE_DIR)/package.mk