aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/busybox
AgeCommit message (Collapse)Author
2017-03-21busybox: ignore the largefile distro feature ( always enable LFS )Andre McCurdy
Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-03-10busybox: ifupdown:pass interface device name for ipv6 route commandHaiqing Bai
IPv6 routes need the device argument for link-local routes, or they cannot be used at all. E.g. "gateway fe80::def" seems to be used in some places, but kernel refuses to insert the route unless device name is explicitly specified in the route addition. Signed-off-by: Haiqing Bai <Haiqing.Bai@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-01-23busybox: Guard against interrupted compilesRichard Purdie
If busybox is interrupted during do_compile, it can corrupt .config with the suid version, or worse. Typically this leads to files disappearing, particularly /etc/init.d/* which leads to an empty busybox-hwclock. That then results in errors at do_rootfs time due to the missing package. The fix is to use any 'orig' present to restore stat at the start of compile. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23busybox: refresh the flock patchMaxin B. John
Upstream accepted the flock fix with some improvements. Backport those changes. Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-12-17busybox: add comments to separate Runit from SELinux content in defconfigRobert P. J. Day
There is no break in busybox's "defconfig" file to show where Runit settings suddenly morph into SELinux settings, so add some comments. (From OE-Core rev: 0fa590ed6c26aa065a9da8edbf65436fa1f6d04f) Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-16meta: remove True option to getVar callsJoshua Lock
getVar() now defaults to expanding by default, thus remove the True option from getVar() calls with a regex search and replace. Search made with the following regex: getVar ?\(( ?[^,()]*), True\) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-12-16busybox: allow libiproute to handle table ids larger than 255Lukasz Nowak
These changes are required for compatibility with ConnMan, which by default uses table ids greater than 255. Signed-off-by: Lukasz Nowak <lnowak@tycoint.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-11-30busybox: enable fractional sleep argumentsNathan Lynch
Fractional durations (e.g. 0.5s) for the sleep command are useful and not terribly uncommon in practice, especially in scripts associated with test cases (e.g. mdadm, lttng-tools). Enable FEATURE_FLOAT_SLEEP by default in order to avoid having to patch every instance of a script using a fractional sleep. The busybox binary gains a few hundred bytes in text (armv5e shown): $ size -x busybox.nosuid.{before,after} text data bss dec hex filename 0x89382 0x71d 0x2250 572655 8bcef busybox.nosuid.before 0x8954e 0x721 0x2250 573119 8bebf busybox.nosuid.after Signed-off-by: Nathan Lynch <nathan_lynch@mentor.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-11-06busybox/mdev.conf: Ignore eMMC RPMB and boot block devicesMike Looijmans
eMMC devices may report block devices like "mmcblk0rpmb" and "mmcblk0boot0". These are not actually block devices and any read/write operation on them will fail. To prevent spamming error messages attempting to mount them, just ignore these devices. Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-10-11sysklogd and busybox: ignore return code from init script stopMarkus Lehtonen
The init script will return '1' if we try to stop the service and it is not currently running. The prerm scriptlet must not fail because of this because it will cause package deinstallation of upgrade fail if opkg package manager is used. [YOCTO #10299] Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-14busybox: Avoid race building libbbJuro Bystricky
When building busybox, an occasional error was observed. The error is consistently the same: libbb/appletlib.c:164:13: error: 'NUM_APPLETS' undeclared (first use in this function) while (i < NUM_APPLETS) { The reason is the include file where NUM_APPLETS is defined is not yet generated (or is being modified) at the time libbb/appletlib.c is compiled. The attached patchset fixes the problem by assuring libb is compiled as the last directory. [YOCTO#10116] Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-13busybox: allow overriding compiler name in KConfigJérémy Rosen
The KConfig infrastructure needs to build HOST binaries in order to provide its infratstructure. Yocto needs to force the HOSTCC and HOSTCPP variables to BUILD_CC and BUILD_CPP to make sure that the proper compiler is used when compiling host binaries Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-09-08busybox: avoid circular dependency when using initramfsStefan Agner
The kernel does not automatically mount devtmpfs when using initramfs based booting (even when using CONFIG_DEVTMPFS_MOUNT). If the rootfs is built with USE_DEVFS=1 (which is the default), the system ends up with a completely empty /dev to begin with. Busybox uses the first entry in inittab slightly different than other init systems: <id>: WARNING: This field has a non-traditional meaning for BusyBox init! The id field is used by BusyBox init to specify the controlling tty for the specified process to run on. The contents of this field are appended to "/dev/" and used as-is. Since /dev/null is not there yet, Busybox throws errors instead of executing the commands, and hence never mounts devtmpfs: init started: BusyBox v1.24.1 (2016-09-04 11:53:14 PDT) can't open /dev/null: No such file or directory can't open /dev/null: No such file or directory can't open /dev/null: No such file or directory can't open /dev/null: No such file or directory can't open /dev/null: No such file or directory can't open /dev/null: No such file or directory can't open /dev/null: No such file or directory Avoid this circular dependency by not specifing <id>. With that Busybox ends up using the stdio of the init process and executes the inittab just fine. Signed-off-by: Stefan Agner <stefan@agner.ch> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-09-03busybox: fix "sed n (flushes pattern space, terminates early)" testcase failureDengke Du
It is a busybox upstream known bug. When the busybox sed sub-command 'n' hit the files EOF, it print an extra character that have been printed, but the GNU sed would not print it. In busybox source code ../editors/sed.c ------------------------------------------------------------------------ case 'n': if (!G.be_quiet) sed_puts(pattern_space, last_gets_char); if (next_line) { free(pattern_space); pattern_space = next_line; last_gets_char = next_gets_char; next_line = get_next_line(&next_gets_char, &last_puts_char, last_gets_char); substituted = 0; linenum++; break; } /* fall through */ /* Quit. End of script, end of input. */ case 'q': /* Exit the outer while loop */ free(next_line); next_line = NULL; goto discard_commands; ------------------------------------------------------------------------ when read at the end of the file, the 'next_line' is null, it would go "case 'q'" and goto discard_commands, the discard_commands would print the old pattern space which have been printed. So in order to comply with GNU sed, in case 'n', when the next_line is null I add "else" at the end of the second "if": "goto again;" and send it to the busybox upstream, the busybox maintainer adopt it and make a little changes to the patch, we can see it at: His reply: http://lists.busybox.net/pipermail/busybox/2016-September/084613.html The new patch on busybox master branch: https://git.busybox.net/busybox/commit/?id=76d72376e0244a5cafd4880cdc623e37d86a75e4 Signed-off-by: Dengke Du <dengke.du@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-20busybox: Add parallel make fixRichard Purdie
We're seeing regular parallel make failures in applet headers in busybox. This adds a patch to try and avoid the issue, building upon a fix already backported from upstream. The patch has been sent to upstream. [YOCTO #10116] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-18busybox: Backport makefile fix from upstreamRichard Purdie
This at least partially addresses one of the build races we've seen on the autobuilder in busybox. Its a straightforward backport from upstream. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-10busybox: Fix busybox-init on non-tty consolesStefan Agner
When using non-tty consoles (e.g. VirtIO console /dev/hvc0) the current init system fails with: process '/sbin/getty 115200 hvc0' (pid 545) exited. Scheduling for restart. can't open /dev/ttyhvc0: No such file or directory The first field needs to be a valid device. The BusyBox inittab example explains as follows: "<id>: WARNING: This field has a non-traditional meaning for BusyBox init! The id field is used by BusyBox init to specify the controlling tty for the specified process to run on. The contents of this field are appended to "/dev/" and used as-is." Signed-off-by: Stefan Agner <stefan@agner.ch> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-01busybox-syslog.default: When systemd is enabled don't use circular bufferAníbal Limón
Busybox syslog uses a shmmem circular buffer [1][2] when launch with -C option when systemd (is enabled) takes the control of syslog messages and then forward the messages to busybox syslog daemon, systemd journald don't usage of shmmem circular buffer. If -C is specified busybox-syslog never be able to read the forwarded messages from systemd journald and don't wrote it to /var/log/messages. This file is only installed when systemd is enabled [3]. [1] https://git.busybox.net/busybox/tree/sysklogd/syslogd.c?h=1_24_stable#n464 [2] https://git.busybox.net/busybox/tree/sysklogd/logread.c?h=1_24_stable#n82 [3] http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/recipes-core/busybox/busybox.inc#n295 Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-05-13busybox/mdev: Ensure /sys is mounted before using itKhem Raj
echo would fail if /sys is not mounted and boot would abort Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-29busybox: don't build arRoss Burton
As it's not 1978 anymore, nobody is using ar for anything apart from static archives. If people are using static archives, then binutils provides a far more capable ar. Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-04-29busybox: musl mips64 ip fixArmin Kuster
Signed-off-by: Armin Kuster <akuster@mvista.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-29busybox: Security fix CVE-2016-2147Armin Kuster
busybox <= 1.24.2 Signed-off-by: Armin Kuster <akuster@mvista.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-29busybox: Security Fix CVE-2016-2148Armin Kuster
busybox <= 1.24.2 Signed-off-by: Armin Kuster <akuster@mvista.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-22busybox: update flock behavior to match upstreamMaxin B. John
In "util-linux" implementation of flock, -c 'PROG ARGS' means run "sh -c 'PROG ARGS'". At present, busybox implementation doesn't follow it. That causes errors like the one listed below: smart install /media/cronie-1.5.0-r0.core2_64.rpm Updating cache... <snip> Output from cronie-1.5.0-r0@core2_64: Running groupadd commands... NOTE: cronie: Performing groupadd with [ --system crontab] ERROR: cronie: groupadd command did not succeed. error: %pre(cronie-1.5.0-r0.core2_64) scriptlet failed, exit status 1 error: install: %pre scriptlet failed (2), skipping cronie-1.5.0-r0.core2_64 This is because we use flock command in preinstall scripts in packages which create new groups/users. [YOCTO #9496] Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-03-20busybox: Drop -r passthrough patchKhem Raj
This was added to help clang compile busybox but since then the option has been added to llvm and now we have upgraded clang to 3.8 which has this option available Fix git recipe to build with mdev feature and update to tip when here Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-03-09busybox.inc: add tail symlink so busybox can commit suicide cleanlyAlejandro del Castillo
update-alternatives-opkg uses tail, which requires a temporary symlink on tmpdir during removal, to avoid errors of the type: /usr/bin/update-alternatives: line 113: tail: command not found Signed-off-by: Alejandro del Castillo <alejandro.delcastillo@ni.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-18busybox: drop patches that are not valid anymoreMaxin B. John
1. Removed following patches a) busybox-appletlib-dependency.patch - Kbuild rules handles that dependency b) get_header_tar.patch - tar applet uses a different code path to handle that scenario now. 2. Updated the upstream-status of fail_on_no_media.patch as Denied. Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-18busybox: Add musl config for _git recipeMaxin B. John
busybox_git recipe also requires musl specific configuration Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-11udhcpc: specify full path for ip command callsMark O'Donovan
Signed-off-by: Mark O'Donovan <modonovan@biotector.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-04busybox/gtk/perl/base-passwd: Ensure data is correctly expandedRichard Purdie
Where variables are used in python, we need to ensure they are expanded. This happens to work at the moment but likely will not happen in future and isn't good code practise. Its mostly an issue around key values, since bitbake has already performed key expansion when these functions are executed. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-26busybox: fix stop -vs- start typo in rcS scriptAndre McCurdy
Also make the rcS and rcK comments match the code. Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-26busybox: backport upstream truncate open mode fixAndre McCurdy
https://git.busybox.net/busybox/commit/?h=1_24_stable&id=be729c1d3b5c923f10871dd68ea94156d0f8c803 Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-24busybox: Add support for busybox-initKhem Raj
in config metadata we can configure busybox based init and device initializer ( mdev ) using e.g. VIRTUAL-RUNTIME_dev_manager = "busybox-mdev" VIRTUAL-RUNTIME_login_manager = "busybox" VIRTUAL-RUNTIME_init_manager = "busybox" VIRTUAL-RUNTIME_initscripts = "initscripts" VIRTUAL-RUNTIME_keymaps = "keymaps" DISTRO_FEATURES_BACKFILL_CONSIDERED += "sysvinit" busybox can be used to provide init system combined with mdev it makes it a complete init system for really tiny systems. This patch uses above defines to configure features in busybox to enable the init system and mdev in a configurable manner Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-27busybox: generalize recipe to work with arbitrary install directoriesMatthias Schiffer
Allow configuring base_bindir, base_sbindir, bindir and sbindir arbitrarily. Also change the temporary symlinks created in the postinst script from relative to absolute to make the code simpler and more flexible. There was no reason to use relative links anyways, as directly afterwards update-alternatives would replace them by absolute links anyways. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-12busybox: Add config for muslKhem Raj
Default config is enabling additional features that dont compile with musl so lets disable them for musl case Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-08busybox: backport upstream fixes for unzipAndre McCurdy
http://git.busybox.net/busybox/commit/?h=1_24_stable&id=6767af17f11144c7cd3cfe9ef799d7f89a78fe65 http://git.busybox.net/busybox/commit/?h=1_24_stable&id=092fabcf1df5d46cd22be4ffcd3b871f6180eb9c Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-01busybox: enable resize appletAndre McCurdy
The /etc/profile script contains a call to resize, which improves the usability of shells run on the serial console. http://git.openembedded.org/openembedded-core/commit/?id=cc6360f4c4d97e0000f9d3545f381224ee99ce7d Unfortunately the resize applet is not currently enabled in busybox defconfig, so resize is never called. Fix that. Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-01busybox: disable support for mounting NFS file systems on Linux < 2.6.23Andre McCurdy
The busybox CONFIG_FEATURE_MOUNT_NFS config option is described as: Enable mounting of NFS file systems on Linux kernels prior to version 2.6.23. Note that in this case mounting of NFS over IPv6 will not be possible. Since OE-core sets OLDEST_KERNEL = "2.6.32", CONFIG_FEATURE_MOUNT_NFS is not required in the default busybox defconfig. Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-01busybox: update 1.23.2 -> 1.24.1Andre McCurdy
The busybox defconfig has also been refreshed, with all new apps and features disabled by default. Update _git recipe version too. Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-01busybox: re-order defconfig to align with busybox 1.24.1Andre McCurdy
No functional changes, simply re-order lines in defconfig so that the existing options don't move elsewhere in the file when run though busybox 1.24.1 'make oldconfig'. Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-01busybox.inc: remove '-e MAKEFLAGS=' from EXTRA_OEMAKEAndre McCurdy
Busybox Kbuild likes to control its own MAKEFLAGS (it adds -rR, etc), so avoid over-riding MAKEFLAGS. Relying on 'make -e' is no longer required so remove that too. Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-01busybox.inc: set CC=${CC} via make command lineAndre McCurdy
Busybox currently relies on 'make -e' to over-ride CC and the make command line to over-ride LD. Set CC via the make command line to be consistent with LD and to allow '-e' to be dropped from EXTRA_OEMAKE. Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-01busybox.inc: fix CONFIG_EXTRA_CFLAGS configmangleAndre McCurdy
With current busybox Kbuild, setting .config to: CONFIG_EXTRA_CFLAGS="foo" "bar" and then running 'make oldconfig' results in .config containing: CONFIG_EXTRA_CFLAGS="foo" ie the CONFIG_EXTRA_CFLAGS configmangle in the busybox.inc doesn't currently work as intended. Remove the extra \" \" to ensure that ${HOST_CC_ARCH} gets added to CONFIG_EXTRA_CFLAGS. Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-01busybox.inc: don't set .config CROSS_COMPILER_PREFIXAndre McCurdy
Setting CROSS_COMPILER_PREFIX via .config is redundant (setting CROSS_COMPILE via the make command line will always over-ride it). Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-01busybox: move EXTRA_OEMAKE etc into busybox.incAndre McCurdy
EXTRA_OEMAKE options and do_install_ptest() are common to both busybox recipes, so move into busybox.inc. Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-01busybox.inc: don't export EXTRA_OEMAKEAndre McCurdy
EXTRA_OEMAKE is private to OE and shouldn't be exported to the busybox build. Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-01busybox_git: Enable getopt appletAndre McCurdy
Keep git recipe in sync with 1.23.2: http://git.openembedded.org/openembedded-core/commit/?id=10c2c484d5916ad476ad7717c3629f6684f01e6d Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-11-16busybox: Schedule mdev after mountallKhem Raj
mdev does automounting of block media, which expects /run/ to be mounted, so let mounting happen before running mdev service and mountall is done with at 03 so trigger mdev at 04 This helps in mounting the devices which are plugged on boot Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-11-16busybox: Fix mdev block device automountingKhem Raj
The directory ${MDEV_AUTOMOUNT_ROOT}/ which is '/run/media' may not exist yet when the device is found, so lets use -p switch to mkdir cmd so it create preceding parent dirs if needed. Remove some bash specific constructs Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-10-12busybox.inc: remove redundant @DATADIR@ replacementAndre McCurdy
The busybox defconfig doesn't contain a @DATADIR@ marker, so the attempt to replace it in do_prepare_config is redundant. Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>