diff options
author | Khem Raj <raj.khem@gmail.com> | 2020-09-01 21:49:20 -0700 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2020-09-02 08:50:02 -0700 |
commit | 5482c60353ea2e4bfac55f8b2266f43b56fbbe48 (patch) | |
tree | e1cff8e0baa3e78f7c69f21bc58d519c9a57cf70 /meta-oe/recipes-core | |
parent | 759342c9cc62050ca109b649607966e19e55ff28 (diff) | |
download | meta-openembedded-contrib-5482c60353ea2e4bfac55f8b2266f43b56fbbe48.tar.gz |
toybox: Add packageconfigs for iconv and getconf
iconv and getconf are also provided by glibc-utils which is built along
with glibc and update-alternatives don't work with special packages like
glibc since it causes cyclic dependencies e.g
glibc->opkg-utils->glibc
therefore creating u-a for iconv and getconf gets into trouble when
glibc-utils is added to image along with toybox, usually with ptest
enabled images by default.
Therefore we turn these two applets into packageconfigs and delete them
by default from u-a, if one want toybox to provide them then clear
no-iconv and no-getconf from PACKAGECONFIG via a bbappend e.g.
PACKAGECONFIG_remove = "no-getconf no-iconv"
Remove bashism by enquiring for VIRTUAL-RUNTIME_init_manager from
bitbake datastore
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe/recipes-core')
-rw-r--r-- | meta-oe/recipes-core/toybox/toybox_0.8.3.bb | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/meta-oe/recipes-core/toybox/toybox_0.8.3.bb b/meta-oe/recipes-core/toybox/toybox_0.8.3.bb index 5d453219f2..1513255c46 100644 --- a/meta-oe/recipes-core/toybox/toybox_0.8.3.bb +++ b/meta-oe/recipes-core/toybox/toybox_0.8.3.bb @@ -29,6 +29,11 @@ CFLAGS += "${TOOLCHAIN_OPTIONS} ${TUNE_CCARGS}" COMPILER_toolchain-clang = "clang" COMPILER ?= "gcc" +PACKAGECONFIG ??= "no-iconv no-getconf" + +PACKAGECONFIG[no-iconv] = ",," +PACKAGECONFIG[no-getconf] = ",," + EXTRA_OEMAKE = 'CROSS_COMPILE="${HOST_PREFIX}" \ CC="${COMPILER}" \ STRIP="strip" \ @@ -56,7 +61,7 @@ do_configure() { sed -e 's/CONFIG_SWAPON=y/# CONFIG_SWAPON is not set/' -i .config # Enable init if toybox was set as init manager - if [[ ${VIRTUAL-RUNTIME_init_manager} == *"toybox"* ]]; then + if ${@bb.utils.contains('VIRTUAL-RUNTIME_init_manager','toybox','true','false',d)}; then sed -e 's/# CONFIG_INIT is not set/CONFIG_INIT=y/' -i .config fi } @@ -67,6 +72,12 @@ do_compile() { # Create a list of links needed ${BUILD_CC} -I . scripts/install.c -o generated/instlist ./generated/instlist long | sed -e 's#^#/#' > toybox.links + if ${@bb.utils.contains('PACKAGECONFIG','no-iconv','true','false',d)}; then + sed -i -e '/iconv$/d' toybox.links + fi + if ${@bb.utils.contains('PACKAGECONFIG','no-getconf','true','false',d)}; then + sed -i -e '/getconf$/d' toybox.links + fi } do_install() { |