mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-20 06:08:08 +00:00
trap chmod errors in tar unpack on bsd - modes like 02755 fail
SVN-Revision: 5656
This commit is contained in:
parent
a1ac6d1d9f
commit
387570cc06
@ -13,3 +13,18 @@ isset() {
|
|||||||
eval "var=\"\${$1}\""
|
eval "var=\"\${$1}\""
|
||||||
[ -n "$var" ]
|
[ -n "$var" ]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
trapret() {(
|
||||||
|
local retvals="$1"; shift
|
||||||
|
local cmd="$1"; shift
|
||||||
|
for retval in $(echo $retvals); do
|
||||||
|
local trap_$retval=1
|
||||||
|
done
|
||||||
|
"$cmd" "$@" || {
|
||||||
|
local retval="$?"
|
||||||
|
eval "trapped=\${trap_$retval}"
|
||||||
|
[ -n "$trapped" ] || {
|
||||||
|
return $retval
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)}
|
||||||
|
@ -1,9 +1,12 @@
|
|||||||
ifeq ($(strip $(PKG_UNPACK)),)
|
ifeq ($(strip $(PKG_UNPACK)),)
|
||||||
|
ifneq ($(HOST_OS),Linux)
|
||||||
|
TAR := trapret 2 $(PKG_UNPACK) $(TAR)
|
||||||
|
endif
|
||||||
ifneq ($(strip $(PKG_CAT)),)
|
ifneq ($(strip $(PKG_CAT)),)
|
||||||
# use existing PKG_CAT
|
# use existing PKG_CAT
|
||||||
PKG_UNPACK:=$(PKG_CAT) $(DL_DIR)/$(PKG_SOURCE) | $(TAR) -C $(PKG_BUILD_DIR)/.. $(TAR_OPTIONS)
|
PKG_UNPACK:=$(PKG_CAT) $(DL_DIR)/$(PKG_SOURCE) | $(TAR) -C $(PKG_BUILD_DIR)/.. $(TAR_OPTIONS)
|
||||||
ifeq ($(PKG_CAT),unzip)
|
ifeq ($(PKG_CAT),unzip)
|
||||||
PKG_UNPACK=unzip -d $(PKG_BUILD_DIR) $(DL_DIR)/$(PKG_SOURCE)
|
PKG_UNPACK:=unzip -d $(PKG_BUILD_DIR) $(DL_DIR)/$(PKG_SOURCE)
|
||||||
endif
|
endif
|
||||||
# replace zcat with $(ZCAT), because some system have it as gzcat
|
# replace zcat with $(ZCAT), because some system have it as gzcat
|
||||||
ifeq ($(PKG_CAT),zcat)
|
ifeq ($(PKG_CAT),zcat)
|
||||||
|
Loading…
Reference in New Issue
Block a user