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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
We package this separately to be able to pull this in only if this makes
sense for the MACHINE.
(From OE-Core rev: b97e37e1444ef32e7837dcc79e3fad36c4284b65)
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
udhcpc is invoked from the networking service, so it shouldn't exist
standalone. If /etc/init.d/busybox-udhcpc is present, it will cause
udhcpc to be started two times.
And since the script doesn't support the stop action, it will cause
udhcpc to be started even when system is being shutdown.
Remove /etc/init.d/busybox-udhcpc to resolve the issues.
[YOCTO #2840]
(From OE-Core rev: 8329c4679ec0ce319d2a81d755a0da5b05474688)
Signed-off-by: Jesse Zhang <sen.zhang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When update alternatives was modified, the syslog configuration file
alternative was incorrectly defined to be "busybox". Fix this by
enabling the proper target file.
[YOCTO #2557]
(From OE-Core rev: 935f2c02809814de2b903a704707d7bc85bbefdf)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
rfkill is a usefull tool when you have a device with bluetooth and wifi enabled
[YOCTO #2494]
(From OE-Core rev: f71258f0ef96802e714b6f12ecc8c17842d6cf87)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The -mabi option is part of HOST_CC_ARCH which does not
appear in CFLAGS. This is for completeness since compiler
already defaults to n64 it wont matter that much
(From OE-Core rev: 2aa0540515efc15957101e24224b425ee00446d9)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* We have various variables which are either not quoted at all or are half
quoted. This patch fixes the bad exmaples so everything is consistent.
(From OE-Core rev: 960ee8076e860353a05eb2eb7f825a455c54698d)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* It's not used by the recipe and its creation
currently depends on CONFIG_HWCLOCK=y.
(From OE-Core rev: cd59c2fcefa6aeacf78a63c5c9a623a4d77c0941)
Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently a process was being forked off for each individual file
this class wanted to inspect with rpmdeps. This converts it to use
rpmdeps-oecore which allows batch processing of these dependencies.
For do_package for perl, this reduced the time by about 1 minute (33%).
(From OE-Core rev: 548037acd63bd4859f8de8d23a3d12f36ce9f97f)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Busybox checks if MACHINE_FEATURES contains "kernel24". If so, CONFIG_FEATURE_2_4_MODULES will be on "y".
kernel24 is no longer present in any machine configuration. The same situation is in uglibc with a
different CONFIG mapping.
[YOCTO #1901]
(From OE-Core rev: 7257ded5355ffdc0fc169e7f34daeedb0b3dcd78)
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Busybox 1.19 introduced basic support for an rsyslog inspired syslog.conf
whereas we've been shipping syslog.conf as a file to be sourced by the
syslog init script in order to configure which options busybox's syslog is
started with.
Busybox 1.19 in syslog mode chokes on our syslog.conf and doesn't start.
This patch renames the syslog.conf we ship to syslog-startup.conf in order
to prevent busybox trying to parse the file as an rsyslog style syslog.conf
Fixes [YOCTO #1848]
(From OE-Core rev: b406998019b577eac7f758298cc2695372e03d15)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is a quick audit of only the most obviously wrong licenses
found within OECore. These fixes fall into four areas:
- LICENSE field had incorrect format so that the parser choked
- LICENSE field has a license with no version
- LICENSE field was actually incorrect
- LICENSE field has an imaginary license that didn't exist
This fixes most of the LICENSE warnings thrown, along with my prior
commit adding additional licenses to common-licenses and additional
SPDXLICENSEMAP entries.
HOWEVER..... there is much to be done on the license front.
For a list of recipes with licenses that need obvious fixing see:
https://wiki.yoctoproject.org/wiki/License_Audit
That said, I would suggest another license audit as I've found
enough inconsistencies. A good suggestion is when in doubt, look at
how openSuse or Gentoo or Debian license the package.
(From OE-Core rev: 3083dd70b3a9fa01fcc3cf00373b05502505996e)
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Complete the bb.data.getVar/setVar replacements with accesses
directly to the data store object.
(From OE-Core rev: 2864ff6a4b3c3f9b3bbb6d2597243cc5d3715939)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In the busybox package prerm we set up some temporary links and modify
PATH so that certain utilities are provided for the purpose of running
update-alternatives; if grep is not among these then you get errors when
removing busybox, so add a temporary link for grep as well.
(From OE-Core rev: 013eca09c863862cc6b7ee3bc22923bf8fb42956)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When using the RPM package backend, we need a full list of per-file
provides (and requires). The busybox package provides a number of
command line utilities, such as /usr/bin/env. However, because
the utilities are created at post install time via scripting the
provide of each of the links was never made. So any programs,
such as python, that require /usr/bin/env were unable to resolve
the dependency and failed.
This change only affects packaging backends that use per-file
dependency data. Currently RPM is the only packaging backend
with this ability.
(From OE-Core rev: dd63f64155e0fe41c27a8c9be84dfc0a255a3ff7)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Some files in busybox are named with ${PN}. In multilib case, ${PN}
will be prefixed with "lib32-" or "lib64-". Use ${BPN} instead.
(From OE-Core rev: d6c24d3944ed662591372fbd7bf855395655d634)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
With this, we get a useful busybox-dbg package.
(From OE-Core rev: 95c9834a358118f322159139950dd9a92f561e88)
Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This avoids a GNU_HASH QA warning.
(From OE-Core rev: 42cc35d1103c82e6e1f9aefc60bbea518ccc0768)
Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Expand DISTRO_FEATURES and MACHINE_FEATURES fully so that any inner
variable references (such as DISTRO_FEATURES_LIBC) are expanded properly.
(From OE-Core rev: 01e372559052aa348ceced07540fdb774d292c65)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
As discussed on the mailing list, this variable isn't useful and if wanted
would be better implemented by distros using pn-X overrides.
This patch executes:
find . -regex ".*\.\(bb\|inc\)$" | xargs sed -i '/^PRIORITY = ".*"$/d'
against the tree removing the referenced. Thanks to Phil Blundell for
the command.
(From OE-Core rev: d122343362669c683acc4af295971a62cbc823fc)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is a backport from oe master of the code which adjusts the busybox
config according to DISTRO_FEATURES etc.
(From OE-Core rev: b5564c4a9cadf306b447180c433b25ec071f8ce1)
Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is basically a backport of the current state of the art from the
openembedded master repo. In particular this fixes an installation
error on micro:
| + cp -dPr /home/pb/oe/build-meta/tmp-eglibc/work/i586-oe-linux/busybox-1.18.4-r1.2/image/bin /home/pb/oe/build-meta/tmp-eglibc/work/i586-oe-linux/busybox-1.18.4-r1.2/image/sbin /home/pb/oe/build-meta/tmp-eglibc/work/i586-oe-linux/busybox-1.18.4-r1.2/image /home/pb/oe/build-meta/tmp-eglibc/work/i586-oe-linux/busybox-1.18.4-r1.2/image/busybox/
| cp: will not create hard link `/home/pb/oe/build-meta/tmp-eglibc/work/i586-oe-linux/busybox-1.18.4-r1.2/image/busybox/image/bin' to directory `/home/pb/oe/build-meta/tmp-eglibc/work/i586-oe-linux/busybox-1.18.4-r1.2/image/busybox/bin'
| cp: cannot copy a directory, `/home/pb/oe/build-meta/tmp-eglibc/work/i586-oe-linux/busybox-1.18.4-r1.2/image', into itself, `/home/pb/oe/build-meta/tmp-eglibc/work/i586-oe-linux/busybox-1.18.4-r1.2/image/busybox/image'
| ERROR: Function 'do_install' failed (see /home/pb/oe/build-meta/tmp-eglibc/work/i586-oe-linux/busybox-1.18.4-r1.2/temp/log.do_install.3808 for further information)
(From OE-Core rev: 613d0275a59be9154c2a2cdc101bd3e2c79a6d44)
Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This changes the packaging only if the configuration used has mdev
support enabled.
(From OE-Core rev: 82b163043aa53488a03bb3de3a78e5b6eeb76019)
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
A recent busybox change added a "second" initscript to the main busybox
package. This however is not supported by the update-rc.d.bbclass.
Instead we split the package so that each initscript gets it's own split.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
When the kernel is started using ip=dhcp, we want a way to be able to run
the udhcp client within busybox and not reset the interface.
When using the '-D' option to udhcpc, the defconfig script will be skipped
allowing the refresh without changing the network settings.
Also provide an initscript that can be used to detect ip=dhcp on the
kernel command line, if detected it will refresh the lease and set the
proper resolve.conf and related files, but not reset the interface.
Original code in Wind River Linux by Greg Moffatt <greg.moffat@windriver.com>
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
The format of the syslog.conf files is different between busybox and sysklogd.
Use the alternatives method to ensure we get the correct config file for
any specific configurations.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
This commit fix [BUGID #482]
Two issues cause bug 482:
- firsty, there are two version of syslog: sysklogd and busybox.
the busybox one is directly installed as /etc/init.d/syslog,
and the sysklogd one is installed by update-alternative. the
update-alternative will thus fail because the /etc/init.d/syslog
(busybox one) already exist and not a link. so the correct way
is to install busybox one by update-alternative, the layout will be:
/etc/init.d/syslog.busybox
/etc/init.d/syslog.sysklogd
/etc/init.d/syslog -> syslog.busybox or
/etc/init.d/syslog -> syslog.sysklogd
- secondly, sysklogd default conf is not comply with poky. Its dir /var/adm/
does not exist. Check the debian /etc/syslog.conf and find it is more
sophiscated and suitable, so port /etc/syslog.conf from debian.
Signed-off-by: Yu Ke <ke.yu@intel.com>