build: drop `trapret` function from non-Linux HOST_TAR variant
authorAlexandru Ardelean <ardeleanalex@gmail.com>
Mon, 31 Oct 2016 08:14:10 +0000 (10:14 +0200)
committerJo-Philipp Wich <jo@mein.io>
Tue, 3 Jan 2017 13:32:35 +0000 (14:32 +0100)
Looks like this was meant to workaround some limitations with
non-GNU tar variants (like BSD-tar which are present on Mac os BSD hosts).

Though, I cannot find any use of that `+s` option that's mentioned
in the comment.

Last hash of this I found was 24faf55360271cd0bfc4751753384f9210d52f7f

In my case, it now this fails for `python-setuptools` on Mac OS X (the host-build with):
```
trapret 2 tar -C <home-dir>/work/sources-work/lede/build_dir/target-i386_pentium4_musl-1.1.15/python-setuptools-27.2.0 --strip-components=1 -xzf <home-dir>/work/sources-work/lede/dl/setuptools-27.2.0.tar.gz
bash: trapret: command not found
```

So, I was thinking maybe it's time to remove this workaround (9 years later).
I could also fix the `python-setuptools` host build. If that's more preferred.

[ Btw, I just recently transitioned to a Mac machine for dev-ing,
  so a lot of (this Mac) stuff I'm finding out is new to me too. ]

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
include/shell.sh
include/unpack.mk

index 6389304c24bdd7f798b3a71f957dbfaad9cfa3e5..8f6f6f04bb414e5dc24851d6dceefe8d282782f4 100644 (file)
@@ -14,21 +14,6 @@ isset() {
        [ -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
-               }
-       }
-)}
-
 md5s() {
        cat "$@" | (
                md5sum 2>/dev/null ||
index 3fabf460336b711a8e413927c901c8a581a7eb46..41ff439242f548671624ec5389f71fb5d61929cf 100644 (file)
@@ -5,12 +5,7 @@
 # See /LICENSE for more information.
 #
 
-# 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
+HOST_TAR:=$(TAR)
 TAR_CMD=$(HOST_TAR) -C $(1)/.. $(TAR_OPTIONS)
 UNZIP_CMD=unzip -d $(1)/.. $(DL_DIR)/$(PKG_SOURCE)