toybox: bump version to 0.8.3

Fix build on glibc/mips

remove OE-path-changes.patch as already applied to upstream

fix CC, CFLAGS and CROSS_COMPILE variables as toybox is strict
on what is expected to be filled in these variables:
CC = should contain compiler name
CROSS_COMPILE = should contain compiler prefix
CFLAGS = should contain only compiler flags

License wording changed due to commits:
 8014d31278411e22655aeae47338e95f209e2907
 b31192fd73b382358b1deb33dc6c4cf4ce9c613f
in toybox repository, type of license remains the same

Signed-off-by: Adam Miartus <adam.miartus@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Adam Miartus
2020-05-10 20:22:53 +02:00
committed by Khem Raj
parent b5cb4b94bd
commit eaf4a81244
4 changed files with 74 additions and 200 deletions
@@ -0,0 +1,30 @@
From 9e5b1420b89813ee3c58c2b792077fa8bb71f327 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 21 May 2020 13:53:27 -0700
Subject: [PATCH] Tackle SIGEMT and SIGSTKFLT is not glibc specific
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
lib/portability.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/lib/portability.c b/lib/portability.c
index 294141c6..1c7ebc12 100644
--- a/lib/portability.c
+++ b/lib/portability.c
@@ -430,8 +430,11 @@ static const struct signame signames[] = {
// Non-POSIX signals that cause termination
SIGNIFY(PROF), SIGNIFY(IO),
#ifdef __linux__
-# if !defined(__GLIBC__) && !defined(__mips__)
+# ifdef SIGSTKFLT
SIGNIFY(STKFLT),
+# endif
+# ifdef SIGEMT
+ SIGNIFY(EMT),
# endif
SIGNIFY(POLL), SIGNIFY(PWR),
#elif defined(__APPLE__)
--
2.26.2
@@ -1,195 +0,0 @@
diff --git a/toys/net/microcom.c b/toys/net/microcom.c
index d34e1fe..a369e6c 100644
--- a/toys/net/microcom.c
+++ b/toys/net/microcom.c
@@ -2,7 +2,7 @@
*
* Copyright 2017 The Android Open Source Project.
-USE_MICROCOM(NEWTOY(microcom, "<1>1s:X", TOYFLAG_BIN))
+USE_MICROCOM(NEWTOY(microcom, "<1>1s:X", TOYFLAG_USR|TOYFLAG_BIN))
config MICROCOM
bool "microcom"
diff --git a/toys/other/blockdev.c b/toys/other/blockdev.c
index 38e0993..c5d9fcd 100644
--- a/toys/other/blockdev.c
+++ b/toys/other/blockdev.c
@@ -4,7 +4,7 @@
*
* No Standard.
-USE_BLOCKDEV(NEWTOY(blockdev, "<1>1(setro)(setrw)(getro)(getss)(getbsz)(setbsz)#<0(getsz)(getsize)(getsize64)(flushbufs)(rereadpt)",TOYFLAG_USR|TOYFLAG_BIN))
+USE_BLOCKDEV(NEWTOY(blockdev, "<1>1(setro)(setrw)(getro)(getss)(getbsz)(setbsz)#<0(getsz)(getsize)(getsize64)(flushbufs)(rereadpt)",TOYFLAG_SBIN))
config BLOCKDEV
bool "blockdev"
diff --git a/toys/other/chrt.c b/toys/other/chrt.c
index a1c37a0..d6db3a5 100644
--- a/toys/other/chrt.c
+++ b/toys/other/chrt.c
@@ -4,7 +4,7 @@
*
* Note: -ibrfo flags sorted to match SCHED positions for highest_bit()
-USE_CHRT(NEWTOY(chrt, "^mp#<0iRbrfo[!ibrfo]", TOYFLAG_USR|TOYFLAG_SBIN))
+USE_CHRT(NEWTOY(chrt, "^mp#<0iRbrfo[!ibrfo]", TOYFLAG_USR|TOYFLAG_BIN))
config CHRT
bool "chrt"
diff --git a/toys/other/hwclock.c b/toys/other/hwclock.c
index 1d313e3..412582d 100644
--- a/toys/other/hwclock.c
+++ b/toys/other/hwclock.c
@@ -4,7 +4,7 @@
*
* No standard, but see Documentation/rtc.txt in the linux kernel source..
*
-USE_HWCLOCK(NEWTOY(hwclock, ">0(fast)f(rtc):u(utc)l(localtime)t(systz)s(hctosys)r(show)w(systohc)[-ul][!rtsw]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_HWCLOCK(NEWTOY(hwclock, ">0(fast)f(rtc):u(utc)l(localtime)t(systz)s(hctosys)r(show)w(systohc)[-ul][!rtsw]", TOYFLAG_SBIN))
config HWCLOCK
bool "hwclock"
diff --git a/toys/other/modinfo.c b/toys/other/modinfo.c
index 1178d67..966a9de 100644
--- a/toys/other/modinfo.c
+++ b/toys/other/modinfo.c
@@ -4,7 +4,7 @@
*
* TODO: cleanup
-USE_MODINFO(NEWTOY(modinfo, "<1b:k:F:0", TOYFLAG_BIN))
+USE_MODINFO(NEWTOY(modinfo, "<1b:k:F:0", TOYFLAG_SBIN))
config MODINFO
bool "modinfo"
diff --git a/toys/other/pmap.c b/toys/other/pmap.c
index abb0a33..2acef02 100644
--- a/toys/other/pmap.c
+++ b/toys/other/pmap.c
@@ -5,7 +5,7 @@
*
* No Standard.
-USE_PMAP(NEWTOY(pmap, "<1xq", TOYFLAG_BIN))
+USE_PMAP(NEWTOY(pmap, "<1xq", TOYFLAG_USR|TOYFLAG_BIN))
config PMAP
bool "pmap"
diff --git a/toys/other/printenv.c b/toys/other/printenv.c
index e8bcf29..65f62ed 100644
--- a/toys/other/printenv.c
+++ b/toys/other/printenv.c
@@ -2,7 +2,7 @@
*
* Copyright 2012 Georgi Chorbadzhiyski <georgi@unixsol.org>
-USE_PRINTENV(NEWTOY(printenv, "0(null)", TOYFLAG_USR|TOYFLAG_BIN))
+USE_PRINTENV(NEWTOY(printenv, "0(null)", TOYFLAG_BIN))
config PRINTENV
bool "printenv"
diff --git a/toys/other/taskset.c b/toys/other/taskset.c
index 8ffdab7..89fd528 100644
--- a/toys/other/taskset.c
+++ b/toys/other/taskset.c
@@ -2,7 +2,7 @@
*
* Copyright 2012 Elie De Brauwer <eliedebrauwer@gmail.com>
-USE_TASKSET(NEWTOY(taskset, "<1^pa", TOYFLAG_BIN|TOYFLAG_STAYROOT))
+USE_TASKSET(NEWTOY(taskset, "<1^pa", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_STAYROOT))
USE_NPROC(NEWTOY(nproc, "(all)", TOYFLAG_USR|TOYFLAG_BIN))
config NPROC
diff --git a/toys/other/timeout.c b/toys/other/timeout.c
index 9b93466..e1d0f4d 100644
--- a/toys/other/timeout.c
+++ b/toys/other/timeout.c
@@ -4,7 +4,7 @@
*
* No standard
-USE_TIMEOUT(NEWTOY(timeout, "<2^vk:s: ", TOYFLAG_BIN))
+USE_TIMEOUT(NEWTOY(timeout, "<2^vk:s: ", TOYFLAG_USR|TOYFLAG_BIN))
config TIMEOUT
bool "timeout"
diff --git a/toys/other/truncate.c b/toys/other/truncate.c
index 142d3c7..40eb1e5 100644
--- a/toys/other/truncate.c
+++ b/toys/other/truncate.c
@@ -2,7 +2,7 @@
*
* Copyright 2011 Rob Landley <rob@landley.net>
-USE_TRUNCATE(NEWTOY(truncate, "<1s:|c", TOYFLAG_BIN))
+USE_TRUNCATE(NEWTOY(truncate, "<1s:|c", TOYFLAG_USR|TOYFLAG_BIN))
config TRUNCATE
bool "truncate"
diff --git a/toys/posix/nice.c b/toys/posix/nice.c
index 4b587ee..9f7b119 100644
--- a/toys/posix/nice.c
+++ b/toys/posix/nice.c
@@ -4,7 +4,7 @@
*
* See http://opengroup.org/onlinepubs/9699919799/utilities/nice.html
-USE_NICE(NEWTOY(nice, "^<1n#", TOYFLAG_USR|TOYFLAG_BIN))
+USE_NICE(NEWTOY(nice, "^<1n#", TOYFLAG_BIN))
config NICE
bool "nice"
diff --git a/toys/posix/nl.c b/toys/posix/nl.c
index 9b02bfa..41e1b89 100644
--- a/toys/posix/nl.c
+++ b/toys/posix/nl.c
@@ -7,7 +7,7 @@
* This implements a subset: only one logical page (-ip), no sections (-dfh).
* todo: -lv
-USE_NL(NEWTOY(nl, "v#<1=1l#b:n:s:w#<0=6E", TOYFLAG_BIN))
+USE_NL(NEWTOY(nl, "v#<1=1l#b:n:s:w#<0=6E", TOYFLAG_USR|TOYFLAG_BIN))
config NL
bool "nl"
diff --git a/toys/posix/paste.c b/toys/posix/paste.c
index ea04f02..8972f71 100644
--- a/toys/posix/paste.c
+++ b/toys/posix/paste.c
@@ -6,7 +6,7 @@
*
* Deviations from posix: the FILE argument isn't mandatory, none == '-'
-USE_PASTE(NEWTOY(paste, "d:s", TOYFLAG_BIN|TOYFLAG_LOCALE))
+USE_PASTE(NEWTOY(paste, "d:s", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_LOCALE))
config PASTE
bool "paste"
diff --git a/toys/posix/ps.c b/toys/posix/ps.c
index aef2a7f..b559e09 100644
--- a/toys/posix/ps.c
+++ b/toys/posix/ps.c
@@ -44,7 +44,7 @@
* TODO: top: thread support and SMP
* TODO: pgrep -f only searches the amount of cmdline that fits in toybuf.
-USE_PS(NEWTOY(ps, "k(sort)*P(ppid)*aAdeflMno*O*p(pid)*s*t*Tu*U*g*G*wZ[!ol][+Ae][!oO]", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_LOCALE))
+USE_PS(NEWTOY(ps, "k(sort)*P(ppid)*aAdeflMno*O*p(pid)*s*t*Tu*U*g*G*wZ[!ol][+Ae][!oO]", TOYFLAG_BIN|TOYFLAG_LOCALE))
// stayroot because iotop needs root to read other process' proc/$$/io
USE_TOP(NEWTOY(top, ">0m" "O*Hk*o*p*u*s#<1d#=3<1n#<1bq[!oO]", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_LOCALE))
USE_IOTOP(NEWTOY(iotop, ">0AaKO" "k*o*p*u*s#<1=7d#=3<1n#<1bq", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_STAYROOT|TOYFLAG_LOCALE))
diff --git a/toys/posix/sed.c b/toys/posix/sed.c
index cf7d15e..130ac08 100644
--- a/toys/posix/sed.c
+++ b/toys/posix/sed.c
@@ -10,7 +10,7 @@
* TODO: handle error return from emit(), error_msg/exit consistently
* What's the right thing to do for -i when write fails? Skip to next?
-USE_SED(NEWTOY(sed, "(help)(version)e*f*inEr[+Er]", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_LOCALE|TOYFLAG_NOHELP))
+USE_SED(NEWTOY(sed, "(help)(version)e*f*inEr[+Er]", TOYFLAG_BIN|TOYFLAG_LOCALE|TOYFLAG_NOHELP))
config SED
bool "sed"
@@ -0,0 +1,25 @@
glibc on mips is missing SIGSTKFLT
Do not therefore assume it being available linuxwide
Fixes
| lib/portability.c:433:3: error: use of undeclared identifier 'SIGSTKFLT'
| SIGNIFY(STKFLT), SIGNIFY(POLL), SIGNIFY(PWR),
| ^
Upstream-Status: Submitted [https://github.com/landley/toybox/pull/195]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
--- a/lib/portability.c
+++ b/lib/portability.c
@@ -430,7 +430,10 @@ static const struct signame signames[] =
// Non-POSIX signals that cause termination
SIGNIFY(PROF), SIGNIFY(IO),
#ifdef __linux__
- SIGNIFY(STKFLT), SIGNIFY(POLL), SIGNIFY(PWR),
+# if !defined(__GLIBC__) && !defined(__mips__)
+ SIGNIFY(STKFLT),
+# endif
+ SIGNIFY(POLL), SIGNIFY(PWR),
#elif defined(__APPLE__)
SIGNIFY(EMT), SIGNIFY(INFO),
#endif
@@ -3,21 +3,35 @@ HOMEPAGE = "http://www.landley.net/toybox/"
DEPENDS = "attr virtual/crypt"
LICENSE = "BSD-0-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=f0b8b3dd6431bcaa245da0a08bd0d511"
LIC_FILES_CHKSUM = "file://LICENSE;md5=78659a599b9325da368f2f1eb88f19c7"
inherit cml1 update-alternatives
SRC_URI = "http://www.landley.net/toybox/downloads/${BPN}-${PV}.tar.gz \
file://OE-path-changes.patch \
file://mips-no-STKFLT.patch \
file://0001-Tackle-SIGEMT-and-SIGSTKFLT-is-not-glibc-specific.patch \
"
SRC_URI[md5sum] = "a8bb502a1be941f06dd2644fff25f547"
SRC_URI[sha256sum] = "3ada450ac1eab1dfc352fee915ea6129b9a4349c1885f1394b61bd2d89a46c04"
SRC_URI[sha256sum] = "eab28fd29d19d4e61ef09704e5871940e6f35fd35a3bb1285e41f204504b5c01"
SECTION = "base"
TOYBOX_BIN = "generated/unstripped/toybox"
EXTRA_OEMAKE = 'HOSTCC="${BUILD_CC}" CPUS=${@oe.utils.cpu_count()}'
# Toybox is strict on what CC, CFLAGS and CROSS_COMPILE variables should contain.
# Fix CC, CFLAGS, CROSS_COMPILE to match expectations.
# CC = compiler name
# CFLAGS = only compiler flags
# CROSS_COMPILE = compiler prefix
CFLAGS += "${TOOLCHAIN_OPTIONS} ${TUNE_CCARGS}"
COMPILER_toolchain-clang = "clang"
COMPILER ?= "gcc"
EXTRA_OEMAKE = 'CROSS_COMPILE="${HOST_PREFIX}" \
CC="${COMPILER}" \
STRIP="strip" \
CFLAGS="${CFLAGS}" \
HOSTCC="${BUILD_CC}" CPUS=${@oe.utils.cpu_count()} V=1'
do_configure() {
# allow user to define their own defconfig in bbappend, taken from kernel.bbclass