All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH V2] toybox: bump version to 0.8.3
@ 2020-05-20 22:40 Khem Raj
  0 siblings, 0 replies; only message in thread
From: Khem Raj @ 2020-05-20 22:40 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Adam Miartus, Khem Raj

From: Adam Miartus <adam.miartus@gmail.com>

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>
---
 .../toybox/toybox/OE-path-changes.patch       | 195 ------------------
 .../toybox/toybox/mips-no-STKFLT.patch        |  25 +++
 .../{toybox_0.7.5.bb => toybox_0.8.3.bb}      |  23 ++-
 3 files changed, 43 insertions(+), 200 deletions(-)
 delete mode 100644 meta-oe/recipes-core/toybox/toybox/OE-path-changes.patch
 create mode 100644 meta-oe/recipes-core/toybox/toybox/mips-no-STKFLT.patch
 rename meta-oe/recipes-core/toybox/{toybox_0.7.5.bb => toybox_0.8.3.bb} (77%)

diff --git a/meta-oe/recipes-core/toybox/toybox/OE-path-changes.patch b/meta-oe/recipes-core/toybox/toybox/OE-path-changes.patch
deleted file mode 100644
index e42c22ebd4..0000000000
--- a/meta-oe/recipes-core/toybox/toybox/OE-path-changes.patch
+++ /dev/null
@@ -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"
diff --git a/meta-oe/recipes-core/toybox/toybox/mips-no-STKFLT.patch b/meta-oe/recipes-core/toybox/toybox/mips-no-STKFLT.patch
new file mode 100644
index 0000000000..7ab95932cf
--- /dev/null
+++ b/meta-oe/recipes-core/toybox/toybox/mips-no-STKFLT.patch
@@ -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
diff --git a/meta-oe/recipes-core/toybox/toybox_0.7.5.bb b/meta-oe/recipes-core/toybox/toybox_0.8.3.bb
similarity index 77%
rename from meta-oe/recipes-core/toybox/toybox_0.7.5.bb
rename to meta-oe/recipes-core/toybox/toybox_0.8.3.bb
index 2f82978334..275263ffba 100644
--- a/meta-oe/recipes-core/toybox/toybox_0.7.5.bb
+++ b/meta-oe/recipes-core/toybox/toybox_0.8.3.bb
@@ -3,21 +3,34 @@ 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 \
            "
-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
-- 
2.26.2


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2020-05-20 22:40 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-20 22:40 [PATCH V2] toybox: bump version to 0.8.3 Khem Raj

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.