Commit Graph

87 Commits

Author SHA1 Message Date
Andreas Oberritter 33dd5fb96c busybox: make bash a valid login shell if enabled
Add bash to /etc/shells if busybox is built with bash applet anabled
to fix login via dropbear.

(From OE-Core rev: 86a2db0b2997fd05882ae0119ef45b1ea5411d39)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-29 11:17:23 +01:00
Andre McCurdy 3ed3ba16cb busybox.inc: drop comment explaining '-e MAKEFLAGS=' in EXTRA_OEMAKE
EXTRA_OEMAKE no longer contains '-e MAKEFLAGS=' so the comment
explaining that it needs to be removed / over-ridden is obsolete.

(From OE-Core rev: 19be2237798f51c01c1c21a68382d114a2f6ead2)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-05 23:22:13 +01:00
Andre McCurdy 2b52d7ebc0 busybox: ignore the largefile distro feature ( always enable LFS )
(From OE-Core rev: f16723f66837a2acad3c114e4064e0ab1cb3a7a6)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:20 +00:00
Richard Purdie bc72e4dac2 busybox: Guard against interrupted compiles
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.

(From OE-Core rev: 601abb497531823a73bdec3baf56952086e5b4f4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 22:38:49 +00:00
Joshua Lock c4e2c59088 meta: remove True option to getVar calls
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\)

(From OE-Core rev: 7c552996597faaee2fbee185b250c0ee30ea3b5f)

Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-16 10:23:23 +00:00
Markus Lehtonen df80b81076 sysklogd and busybox: ignore return code from init script stop
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]

(From OE-Core rev: 806a910927f479207d47b06c20a0497e91203266)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-10-11 22:19:21 +01:00
Jérémy Rosen 9da9abdd4d busybox: allow overriding compiler name in KConfig
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

(From OE-Core rev: 50fb24c889b6add053a5638a7367a8896dfebd8a)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-14 22:22:07 +01:00
Stefan Agner 4a4a24fccc busybox: Fix busybox-init on non-tty consoles
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."

(From OE-Core rev: a53393082f331a613cb3eb973a07bab22cefcde8)

Signed-off-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-10 10:46:34 +01:00
Alejandro del Castillo 656aeff16a busybox.inc: add tail symlink so busybox can commit suicide cleanly
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

(From OE-Core rev: 398728a78ddb6cbf770045e2684d910a0ba0fc90)

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-03-09 16:58:11 +00:00
Mark O'Donovan 691277f889 udhcpc: specify full path for ip command calls
(From OE-Core rev: 97dd53468537968422569797122ddef4b779a488)

Signed-off-by: Mark O'Donovan <modonovan@biotector.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-11 12:27:49 +00:00
Richard Purdie 6ab50017e1 busybox/gtk/perl/base-passwd: Ensure data is correctly expanded
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.

(From OE-Core rev: 6d1142b56948c048111c4f78d9909c1846ab225b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-04 23:39:00 +00:00
Khem Raj be145ad5dc busybox: Add support for busybox-init
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

(From OE-Core rev: 75cb4fe38fade382450c5f6f35d5dcf55962143e)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-25 12:44:12 +00:00
Matthias Schiffer 4cba706801 busybox: generalize recipe to work with arbitrary install directories
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.

(From OE-Core rev: d7907c9a32733d716202d6baf76dc450fe791f31)

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-28 09:25:19 +00:00
Andre McCurdy 3648a37b2d busybox.inc: remove '-e MAKEFLAGS=' from EXTRA_OEMAKE
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.

(From OE-Core rev: 1d841e103b229bf70a1c24c1cc22b7bdc8c9bf64)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:11 +00:00
Andre McCurdy bf28ea907f busybox.inc: set CC=${CC} via make command line
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.

(From OE-Core rev: b7c265e1edd5c82126c1f3915ba5ca9efef57c00)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:11 +00:00
Andre McCurdy f21dce1044 busybox.inc: fix CONFIG_EXTRA_CFLAGS configmangle
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.

(From OE-Core rev: 5f822373fadff2415cf1602b9d58fae0dbd33730)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:11 +00:00
Andre McCurdy 616766953c busybox.inc: don't set .config CROSS_COMPILER_PREFIX
Setting CROSS_COMPILER_PREFIX via .config is redundant (setting
CROSS_COMPILE via the make command line will always over-ride it).

(From OE-Core rev: db2daff77a9d533dc03ab3aaeffa87e32f834240)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:11 +00:00
Andre McCurdy e1ecccd0d4 busybox: move EXTRA_OEMAKE etc into busybox.inc
EXTRA_OEMAKE options and do_install_ptest() are common to both
busybox recipes, so move into busybox.inc.

(From OE-Core rev: aeeb80be6db8df0548c97b4a40c1561cc724debb)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:11 +00:00
Andre McCurdy 0e633006ff busybox.inc: don't export EXTRA_OEMAKE
EXTRA_OEMAKE is private to OE and shouldn't be exported to
the busybox build.

(From OE-Core rev: 61e1617f9f024ead0b77004c94f2de45c88a4aa8)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:11 +00:00
Khem Raj bffdc651c6 busybox: Schedule mdev after mountall
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

(From OE-Core rev: 7eda8fdd1585ce19e398e64f6bcea1ffafc90b41)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:27 +00:00
Andre McCurdy fedff4f1af busybox.inc: remove redundant @DATADIR@ replacement
The busybox defconfig doesn't contain a @DATADIR@ marker, so
the attempt to replace it in do_prepare_config is redundant.

(From OE-Core rev: a3b0c401cac043a132e7e2d491b3871ec94c258e)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-10-12 14:36:27 +01:00
Joshua Lock cf5704eae7 busybox: fixes for when base_bindir != /bin
* Replace all hard-coded paths with variables
* Run sed over busybox.links.* to replace /bin with ${base_bindir}

(From OE-Core rev: c61463a45441315b0006a28bb9f6069a393a8309)

Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-06 15:26:19 +01:00
mike.looijmans@topic.nl 973c565a7e busybox-mdev: Support automatic mounting of block devices
Upon inserting a USB stick or similar device, mdev will run
an automounter script that mounts valid partitions on
/media/<device>. The script first checks /etc/fstab entries
so that mounting on UUID or LABEL or using custom mount options
is still possible. If /etc/fstab does not contain particular
mount options, the script will create (and remove) the mountpoint
automatically.
The script also supports full disk partitions (devices without
partition table).

The following environments can be set in /etc/default/mdev:
MDEV_AUTOMOUNT=n (Disables automounting completely)
MDEV_AUTOMOUNT_ROOT=/media (Change the mount root location)

Automatic mounting for a particular device can be disabled by
creating a file "/dev/<device>.nomount". This is helpful in
scripts that create partitions for example, and want to perform
specific actions which require the device to remain unmounted.

A more complex variation (using LABEL based mounts) on this script
has been in use in OpenPLi for many years now, and I've used this
one on many projects already, so it's about time to push this to
mainline.

(From OE-Core rev: 19073fb991b3e2d2304e55f94e30674adf375197)

Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:03 +00:00
mike.looijmans@topic.nl f50c622239 busybox-mdev: Install missing find-touchscreen.sh
mdev.conf references the find-touchscreen.sh script, but this file
was not being installed. Add the script to the busybox-mdev package.

(From OE-Core rev: 44f6df0dfac54845ef5c3ab1af5663d1b6c1d64b)

Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:02 +00:00
Chen Qi 5d6ffdc475 busybox: handle syslog related files properly
If CONFIG_SYSLOGD is not enabled, then the related service file should
not be installed as it will always fail at system start-up. The error
message is as following.

	[FAILED] Failed to start System Logging Service.

The same logic applies to CONFIG_KLOGD.

So we should first check the configuration before we install these
service files.

[YOCTO #5302]

(From OE-Core rev: b44e291a87539fbb8e6da1a16c56f425a417e7bd)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-14 08:43:55 +01:00
Saul Wold b6ef8dccfe busybox: put udhcpc in background
If the interface is slow to come up udhcpc will continue in the background

[YOCTO #6339]

(From OE-Core rev: 45af0ba08dbc676be41fd29e9877fe820b531f7c)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-06 10:27:46 +01:00
Otavio Salvador 4c14b09498 Globally replace 'base_contains' calls with 'bb.utils.contains'
The base_contains is kept as a compatibility method and we ought to
not use it in OE-Core so we can remove it from base metadata in
future.

(From OE-Core rev: d83b16dbf0862be387f84228710cb165c6d2b03b)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-25 17:19:19 +01:00
Wenlin Kang 467b19efba busybox: fix a sh link wrong
When both bash and busybox be installed, without ash support
in busybox,if bash is installed before busybox in the final stage,
even if ALTERNATIVE_PRIORITY of bash > ALTERNATIVE_PRIORITY of busybox,
the symlink from /bin/sh to bash can be yet overwritten by busybox.

(From OE-Core rev: 6ef650359cc2a49376eb5ca92bc97b34cdd82862)

Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-09 09:53:14 +01:00
Drew Moseley 32acba5f62 busybox: Use CCLD
Use the CCLD variable to ensure proper tuning parameters.
Notably when building on a x86-64 host with an i686 toolchain
there is an error building built-in.o because it is trying to
link 32-bit and 64-bit object files:

     i686-pc-linux-gnu-ld --sysroot=/work/dmoseley/Mentor/amd-2014.05/build.genericx86-64-external/tmp/sysroots/genericx86-64     -r -o applets/built-in.o applets/ap
     i686-pc-linux-gnu-ld: Relocatable linking with relocations from format elf64-x86-64 (applets/applets.o) to format elf32-i386 (applets/built-in.o) is not support
     make[1]: *** [applets/built-in.o] Error 1

(From OE-Core rev: 088d2f0185da6648305b4719ee9cb0d2f2b37c6f)

Signed-off-by: Drew Moseley <drew_moseley@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-05 23:24:01 +01:00
Matthieu Crapet b88321ac78 recipes: convert remaining SUMMARY/DESCRIPTION cosmetic issues (part 2)
Completes previous commit b5292d4115a4555a66b5e35acdc67dd71fb8577f.
Updates SUMMARY[doc] (meta/conf/documentation.conf).

Changes:
- rename DESCRIPTION with length < 80 to (non present tag) SUMMARY
- drop final point character at the end of SUMMARY string
- remove trailing whitespace of SUMMARY line

Note: don't bump PR

(From OE-Core rev: ad17dfd31a2b97b3e610a0ea0889f5ecb2a63b97)

Signed-off-by: Matthieu Crapet <Matthieu.Crapet@ingenico.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-20 14:28:13 +00:00
Richard Purdie 6ab56c54f3 classes/recipes: More optimal DISTRO_FEATURES references
Using the contains function results in more optimal sstate checksums
resulting in better cache reuse as we as more consistent code.

(From OE-Core rev: 9c93526756e7cbbff027c88eb972f877bcb1f057)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-12-05 14:24:43 +00:00
Chen Qi 101662d357 busybox-syslog: add configuration file /etc/syslog.conf
By default, busybox has CONFIG_FEATURE_SYSLOGD_CFG enabled, but it
doesn't ship a configuration file.

This patch adds a configuration file (/etc/syslog.conf) to the
busybox-syslog package. This configuration file mainly serves as a
placeholder now.

The advantages of this change are:
1. Make the users aware of the fact that the /etc/syslog.conf file
   will actually be parsed by busybox's syslogd utility. And configuring
   that file will change the logging behaviour.
2. In a systemd based system, this file will prevent the same configuration
   file provided by the sysklogd package from messing things up.

[YOCTO #5066]

(From OE-Core rev: b7f6688f0700a1575037362af7a8ca94dccce471)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:03:21 +01:00
Paul Eggleton b18b210c1e busybox: enable shared memory logging for systemd
The default command-line options for launching busybox's syslogd are
"-C" if using sysvinit; but because we use /etc/default/busybox-syslog
when using systemd which the sysvinit initscript doesn't use, and no
/etc/default/busybox-syslog is installed by default in OE-Core, the
default arguments with systemd were no arguments at all with OE-Core
alone. Effectively merge in the bbappend from meta-oe that adds a
default file in order to set the default options to "-C" for systemd as
well.

(From OE-Core rev: a23aa8e7467cf2b7f4e8ff85a3aa841ff6b508e5)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:47:19 +01:00
Florin Sarbu 02521a40d3 busybox.inc: Avoid error when SYSLOG is not enabled
Add -f to rm of ${D}${sysconfdir}/syslog-startup.conf.${BPN} so as to
not error out when the busybox config used does not have SYSLOG enabled
and DISTRO_FEATURES does not contain sysvinit.

(From OE-Core rev: 4c5756149754d0b18b14595db335f8f5e14cc0a3)

Signed-off-by: Florin Sarbu <florin.sarbu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22 15:11:13 +01:00
Chen Qi 86d8d89c21 busybox: remove syslog-startup.conf if sysvinit not in DISTRO_FEATURES
sysvinit and systemd have different ideas about configuration files (or
environment files in systemd), so basically we can't use the same one in
both cases.

To avoid confusion, this patch removes syslog-startup.conf if 'sysvinit'
is not in DISTRO_FEATURES.

[YOCTO #4837]
[YOCTO #4860]

(From OE-Core rev: 89f62147a61108b4be40001e1fbe3be33bacf00b)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-12 13:09:52 +01:00
Muhammad Shakeel fe378e1d46 busybox: Add syslog-init alternative only if SysV in enabled
If systemd is enabled then syslog is handled through a service file
and related files in /etc/init.d are removed. This removes following
warning:

WARNING: busybox: NOT adding alternative provide /etc/init.d/syslog:
/etc/init.d/syslog.busybox does not exist

(From OE-Core rev: 29c3ecee32d9bfb03099a4f10456fd0270e107fb)

Signed-off-by: Muhammad Shakeel <muhammad_shakeel@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-07-31 06:59:56 +01:00
Chen Qi cb53421428 busybox: fix the on-target upgrade problem
We now can have a 'one-binary' version of busybox, or 'two-binary'
version of busybox, controlled by the 'BUSYBOX_SPLIT_SUID' variable.
This makes on-target upgrade a problem, as we have to support the
following four upgrading paths.

For convenience, in the following context, A is used to denote a
'two-binary' version of busybox while B is used to denote a 'one-binary'
version of busybox.

A --(upgrade)--> B
B --(upgrade)--> A
A --(upgrade)--> A
B --(upgrade)--> B

This patch makes effort to support the above four situations.

[YOCTO #4802]

(From OE-Core rev: 4e571e97750f3ac6a62cd0d2d10c08be98230630)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-07-05 15:34:21 +01:00
Björn Stenberg 67d95bffa9 busybox: Add ptest
Install busybox test suite and run it as ptest.

(From OE-Core rev: 0d29dc5b5f7742df60fdba90835ef77425963bde)

Signed-off-by: Anders Roxell <anders.roxell@enea.com>
Signed-off-by: Björn Stenberg <bjst@enea.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-06-25 17:44:58 +01:00
Chen Qi 680ff5552d busybox: add the ability to split the busybox binary
This patch enables us to split the busybox into two binaries, one
containing suid applications, and the other containing nosuid apps.

Add a variable, BUSYBOX_SPLIT_SUID, to control whether to split the
busybox binary into two parts. We default it to "1" to enable the
splitting, but users could still override it to disable the splitting.
After all, busybox has no internal support for this suid apps splitting,
so there might be users out there who want just one busybox binary.

The basic idea here is to build the busybox twice, each with the correct
configuration items. We extract the non-app part of the original .config
file, and merge this part with the suid-app part to form a .config which
contains only suid apps. The same strategy applies to the non-suid apps.

[YOCTO #4207]

(From OE-Core rev: e5a1442819dfb74e86a6f69da008ba6908c8bbc7)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-06-25 17:44:52 +01:00
Chen Qi 726483741a busybox: add support for CONFIG_FEATURE_INDIVIDUAL
Previously, if CONFIG_FEATURE_INDIVIDUAL was enabled for busybox,
yocto-based systems could start correctly.

This is because if busybox is built as individual apps, '/bin/busybox'
may not be present, so setting the default ALTERNATIVE_TARGET to
'/bin/busybox' is not appropriate and could lead to errors.

This patch fixes this problem by checking the existence of '/bin/busybox'
before setting the ALTERNATIVE_TARGET to '/bin/busybox'.

After this change, if busybox is built as individual apps, we'll have
links like '/bin/ls -> /bin/ls.busybox', otherwise, we'll have links
like '/bin/ls -> /bin/busybox'.

Note there's a grep expression change in this patch. The old expression
doesn't work well, it has an unwanted underscore, so I changed it to make
it work.

[YOCTO #4570]

(From OE-Core rev: 87efa83191f0b4f4cec3a821b6dfe425c781c077)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-06-25 17:44:51 +01:00
Chen Qi 6984890b2e busybox: remove the postinst part of the recipe
Remove the pkg_postinst_${PN} from this recipe, as it's redundant.
It basically wants to do the same thing as the update-alternatives
does. But it doesn't do it well.

(From OE-Core rev: 5b961afc784747eb8240540e542a789849118596)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-06-25 17:44:51 +01:00
Mike Looijmans 39537e01a5 busybox-mdev: Startup at level S03 instead of S06
The udev hotplug deamon starts at 03, so mdev should start at the same
point.

This fixes the bug that when modutils (runs at 04) initializes devices
that the mdev hotplug will often not pick them up, resulting in missing
device nodes and similar problems.

(From OE-Core rev: 18d3e5eb9102a984d00837f8fec16fda522c511a)

Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-16 00:09:49 +03:00
Richard Purdie 566628d8cd class/lib: Fix up various file access methods
There are various bits of cruft that have built up around our file accesses. This patch
cleans some of them up, specifically:

 * Remove pointless "from __builtin__ import file"
 * Use open(), not file()
 * Wrap file usage in a with container to ensure files are closed
 * Add missing .close() calls in some cases

(From OE-Core rev: a43e0a8ecd0441131e929daf998c3cd454d9c8f3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-09 22:28:04 +01:00
Ross Burton 09b89187b8 busybox: hard-code the syslog service file
Previously this was using ${PN}-syslog.service, which changes with multilib.

(From OE-Core rev: ee36f997e68f5a995baf361191cef7a46ff51203)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-18 00:37:58 +01:00
Ting Liu aa1d7fa9ce busybox: Add inetd related files
Add back inetd and inetd.conf files which are needed if
CONFIG_INETD is enabled in the defconfig. Grabbed these
files from oe-classic

This patch is based on the previous patch for denzil:
http://patches.openembedded.org/patch/33235/

(From OE-Core rev: 929c738787b6f513ce235ed5f7753408a570d632)

Signed-off-by: Ting Liu <b28495@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-15 15:57:30 +01:00
Ting Liu fc30d72a73 busybox: detects customized configs when do_install
After using 'bitbake -c menuconfig busybox' to customize defconfig,
do_install fail to detect the changes. Grep configs in ${B}/.config
instead of ${WORKDIR}/defconfig.

(From OE-Core rev: 5c088c2d3b23026752649d077ee44fe3dbe26aa4)

Signed-off-by: Ting Liu <b28495@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-15 15:57:30 +01:00
Ross Burton ce10e5f34a busybox: order and group initscript variables logically
(From OE-Core rev: 94acb39385a14d54503db08351a717449e2d4b50)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-26 22:43:04 +00:00
Radu Moisan 58a6a7c056 busybox: enable systemd integration for syslogd
(From OE-Core rev: cf3618f9a57e46fb78d5be35d473e2dd5290e961)

Signed-off-by: Radu Moisan <radu.moisan@intel.com>
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-26 22:43:01 +00:00
Chen Qi 56dc1720ca busybox: add config fragments
Add config fragments to busybox.

The implementation makes use of merge_config.sh script in kern-tools-native.
The use case is similar to the yocto kernel's configuration fragments.

We also add kern-tools-native to busybox's DEPENDS variable to ensure
that merge_config.sh is available when required.

[YOCTO #3379]

(From OE-Core rev: bbcd8b344598850ea2c8d3ad375c519713581fde)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-13 16:52:31 +00:00
Elizabeth Flanagan 094c4a0878 bzip2 and busybox: Incorrect LICENSE
The license for bzip2 is not quite BSD. I have an email out to the
maintainer to see if we can utilize a common BSD license (or something
else) however, for now, we should revert bzip2 back to a special
license.

As busybox also utilizes a lightly modified bzip2, this also
effects busybox.

(From OE-Core rev: a0b132798d2c1adf79414787b8317327a554f852)

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-03 10:04:08 +01:00