Commit Graph

126 Commits

Author SHA1 Message Date
Antonin Godard
7618011039 busybox: rm temporary files if do_compile was interrupted
To avoid working with undeterministic config files, remove all the
temporary files to start from scratch.

(From OE-Core rev: a3f31997c633e8476bad68c81fac0dcd0750c7d4)

Signed-off-by: Antonin Godard <antoningodard@pm.me>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-24 16:41:42 +00:00
Antonin Godard
b4802e2fdb busybox: always start do_compile with orig config files
When compiling busybox a second time (e.g. with `compile -f`), busybox
can use an altered autoconf.h file for compiling, which can ultimately
produces different and unwanted binaries.

This can produce errors like this one:

ERROR: busybox-1.35.0-r0 do_package: Error executing a python function in exec_func_python() autogenerated:
The stack trace of python calls that resulted in this exception/failure was:
File: 'exec_func_python() autogenerated', lineno: 2, function: <module>
     0001:
 *** 0002:ptest_update_alternatives(d)
     0003:
File: '…/poky/meta/classes/ptest.bbclass', lineno: 100, function: ptest_update_alternatives
     0096:        for alt_name, alt_link, alt_target, _ in alternatives:
     0097:            # Some alternatives are for man pages,
     0098:            # check if the alternative is in PATH
     0099:            if os.path.dirname(alt_link) in bin_paths:
 *** 0100:                os.symlink(alt_target, os.path.join(ptest_bindir, alt_name))
     0101:}
     0102:
     0103:do_configure_ptest_base[dirs] = "${B}"
     0104:do_compile_ptest_base[dirs] = "${B}"
Exception: FileExistsError: [Errno 17] File exists: '/bin/busybox.suid' -> '…/busybox/1.35.0-r0/package/usr/lib/busybox/ptest/bin/login'

This happens because ALTERNATIVE:busybox contains `/bin/login` twice,
initially that's because `/bin/login` is present in both
busybox.links.suid and busybox.links.nosuid. The reason for that is
because of the altered autoconf.h.

Steps to reproduce above error:

<add ptest to distro configs>
bitbake busybox -c clean
bitbake busybox -c package -f
bitbake busybox -c compile -f
bitbake busybox -c package -f

This patch guards against potential bugs by:

- making a backup of .config and autoconf.h that have matching
  timestamps.
- make sure do_compile always starts with these files.
- restore .config and autoconf.h at the end of do_compile.

(From OE-Core rev: 7ef76eaf5b68d52afdc4292bbe20309e29bb464a)

Signed-off-by: Antonin Godard <antoningodard@pm.me>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-24 16:41:42 +00:00
Khem Raj
b4ba37ce13 busybox: Use base_bindir instead of hardcoding /bin path
This symlink is not valid when using usrmerge and ptest packaging would fail

Exception: FileExistsError: [Errno 17] File exists: '/usr/bin/busybox.suid' -> '/mnt/b/yoe/master/build/tmp/work/ppc64p9le-yoe-linux-musl/busybox/1.35.0-r0/package/usr/lib/busybox/ptest/bin/login'

(From OE-Core rev: e40f202d5f3228934c0e4b49218767864580d003)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 238fd30689054c7b44176dce7180fb6dac4e1b6f)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-05-09 11:51:59 +01:00
Yann E. MORIN
b7a3c102b4 recipes-core/busybox: fixup licensing information
Commit 7d32417b4d (busybox: Correct the name of the bzip2 license)
changes the licesne from 'bzip2' to 'bzip2-1.0.6' on the rationale
that the 'bzip2 license was renamed from "bzip2" to "bzip2-1.0.6"
[...] to match the official SPDX identifier.'

Though the above is true for the bzip2 and pbzip2 packages, the bzip2
code bundled in busybox is a copy from the bzip2 1.0.4 version, not the
1.0.6 version.

As such, using bzip2-1.0.6 is wrong.

Unfortunately, there is no official SPDX license identifier for this
bzip2 1.0.4 version, so we just mimick the existing ones (bzip2-1.0.5
and bzip2-1.0.6) by using bzip2-1.0.4.

Also, there is a license file attached to that, so we add it to the
list.

(From OE-Core rev: 61959632cb1ba4f20e6ecf1077e4d95ac1df26c1)

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
Cc: Alexandre BELLONI <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 6238ee3ecd385cbadd8e75eb8b22a96d9cb13639)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-12 13:07:52 +00:00
Rasmus Villemoes
b118808d5c cml1: Move find_cfgs() helper to cml1.bbclass
u-boot.inc and busybox.inc contain identical copies of this little
helper. They both inherit the cml1 class and use cml1_do_configure
right after having used this helper, and other recipes that want to
write similar logic for doing Kconfig via fragments will also need it
or something equivalent.

(From OE-Core rev: b0fb7f18f9091db50204ef1ebd5248739ddcd6c2)

Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit af687c9137a3e8efe48afa6fd12866cf656ae913)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-10 19:07:40 +01:00
Peter Kjellerstedt
301153707c busybox: Correct the name of the bzip2 license
The common bzip2 license was renamed from "bzip2" to "bzip2-1.0.6" in
commit 669600ef to match the official SPDX identifier.

(From OE-Core rev: be67faad412c47fb739059bd401322271f2cd7c8)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-05-07 13:03:30 +01:00
Jeremy Puhlman
ac39c11d49 busybox: on upgrade save busybox if it is the last shell
During a busybox upgrade on a ipk based system, it is possible
that busybox is the only shell in the system. During the uninstall
the alternative for /bin/sh is removed and everything after that
goes down hill.

* Add a check to verify if busybox is the shell, and save it to
the busyboxrm directory created in tmp. Then add an alternative
for /bin/sh that points to that busybox at the lowest priority.

* Add PATH to the busyboxrm directory using shell(as during an upgrade
busybox and its links are missing).

* When install over remove extra busybox if present.

deb and rpm are uneffected by the bug because they both drag in bash,
however neither upgrade seemed to have issue with the changes.

[YOCTO 13850]

(From OE-Core rev: a9d2af8f5b3da8239cf00a52883ca596a19ea23a)

Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-05 11:46:38 +01:00
Alexander Kanavin
6c09c9259f busybox: sort the .config file used by ptests
It was found to have slight variations in order of options
depending on the host. Sorting it helps reproducibility.

[YOCTO #13756]

(From OE-Core rev: 93c7fa3b369c8eb61b65cdd82111c8016d707fb6)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-02 16:57:21 +00:00
Alexander Kanavin
a2a33b7678 busybox: fix failing ptests
(From OE-Core rev: d1693ddac0a80664aaf7431b1672391b94696b4f)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-16 22:33:09 +00:00
Stefan Müller-Klieser
820c10e689 recipes: change SRC_URI to use https
Change all recipes to https where we get an http 301 permanent redirect.

(From OE-Core rev: e514acda9e12bccde6d3974e0fd1a37b3837191a)

Signed-off-by: Stefan Müller-Klieser <s.mueller-klieser@phytec.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-06 14:41:28 +00:00
Andre McCurdy
8f38568a64 busybox: rcS and rcK should not be writeable by everyone
(From OE-Core rev: 917789ab3c61784ca7b3cdef6b76ff091abcf8c1)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-18 12:09:02 +01:00
Mikko Rapeli
224355418b busybox.inc: handle empty DEBUG_PREFIX_MAP
DEBUG_PREFIX_MAP can be empty if e.g. old clang
toolchain doesn't support the default poky values for gcc.

Fixes build failure:

ERROR: Logfile of failure stored in: /home/builder/src/base/build/tmp/work/aarch64-poky-linux/busybox/1.31.0-r
0/temp/log.do_configure.14451
Log data follows:
| DEBUG: Executing shell function do_configure
| sed: -e expression #1, char 0: no previous regular expression
| WARNING: exit code 1 from a shell command.
| ERROR: Execution of '/home/builder/src/base/build/tmp/work/aarch64-poky-linux/busybox/1.31.0-r0/temp/run.do_configure.14451' failed with exit code 1:
| sed: -e expression #1, char 0: no previous regular expression
| WARNING: exit code 1 from a shell command.
|

This log entry is really useless for debugging problems so
add "set -x" to the configure script so that details can be seen
if something isn't working.

(From OE-Core rev: 20f1a454317ddff8a2e321c1fe55d086ff6fa286)

Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-16 23:02:45 +01:00
Robert Yang
cebda73b3f busybox: make postinst run firstly before update-alternatives
The update-alternatives.bbclass' postinst script runs firstly before other
postinst, but busybox needs set basic tools such as sed command firstly,
otherwise, update-alternatives doesn't work, so run busybox' postinst firstly
to fix the problem.

(From OE-Core rev: 3a035bd0a06a6ded4d0ce7e35a3bce42245727d2)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-06-27 12:20:36 +01:00
Mariano Lopez
677bacd446 busybox: Use PTEST binary directory
This will generate the symlinks in the ptest binary directory using the
ptest class functionality instead of generating them manually. Because
the ptest class uses update-alternatives to get the metadata for the
symlinks it will respect the use of BUSYBOX_SPLIT_SUID automatically.

[YOCTO #12597]

(From OE-Core rev: a3923085d1cad7de7e644ff57d05c4a8955b5b00)

Signed-off-by: Mariano Lopez <just.another.mariano@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-11 21:12:48 +01:00
Matt Porter
24fbb31bc7 busybox: fix CONFIG_RFKILL enable logic
Currently CONFIG_RFKILL is enabled only if both bluetooth *and* wifi
distro features are present. It should be enabled when either feature
is present. Fix this by switching to use of bb.utils.contains_any().

(From OE-Core rev: 5e6d7760c599b09b9417aa8d044084f4c5123762)

Signed-off-by: Matt Porter <mporter@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-02 15:24:11 +01:00
Chen Qi
9d2f4b00e1 busybox: add zip to RDEPENDS of ptest package
busybox's unzip test case requires zip command. However, busybox
itself does not provide one. So add zip as a runtime dependency.

(From OE-Core rev: 223e5c3e1f7cb4001961347c85505d88a52d221f)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-23 23:35:19 +00:00
Ross Burton
f72e95df33 busybox: ship a symlink farm for ptest
Ship a symlink farm for busybox, which correctly considers SUID
split. This ensures that all utilities used in busybox's test cases
will first use that ones that are provided by busybox.

Modify run-ptest to prepend the directory to PATH, and also change
variable name from current_dir to current_path, as the former is
a little misleading. `readlink -f $0' gets a path to the current
script instead of the current directory.

(From OE-Core rev: 7ef8f96941ed52b2a00cbe8f57511a8891b39698)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-23 23:35:19 +00:00
Robert Yang
fec5323dba recipes: Remove tab indentations in python code
Use 4 spaces to replace a tab.

(From OE-Core rev: cbb6743d46752481782789fa1a0dfade11057114)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-23 23:35:19 +00:00
Wes Lindauer
2ce3efc6a6 busybox: Provide /bin/ash when usrmerge is enabled
When usrmerge is enabled, scripts that were explicitly using #!/bin/ash
will cause a QA Error like the following:

QA Issue: bar.sh contained in package foo requires /bin/ash,
but no providers found in RDEPENDS_foo? [file-rdeps].

It seems perfectly acceptable for scripts to use /bin/ash so provide
it along with /bin/sh.

(From OE-Core rev: cc8d54521aa79c1ca88c801e89c3ade6c17ae7a2)

Signed-off-by: Wes Lindauer <wesley.lindauer@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-16 11:46:07 +00:00
Martin Hundebøll
3689c735b5 busybox: make busybox.links.{suid, nosuid} reproducible
The busybox.link.* files are generated from autoconf.h and applets.h,
which are both auto-generated by the build system. The contents of the
two files might be in different order, and so the link files are not
reproducble as is.

Fix this by sorting the lists using `sort`.

(From OE-Core rev: e2450857d898238b0b719a5400e2340c65c80ada)

Signed-off-by: Martin Hundebøll <martin@geanix.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-14 11:14:39 +00:00
Andrej Valek
7ee1b6a734 busybox: unify recipe style
- change spaces to tabs and unify indent level

(From OE-Core rev: 38f8c4725da016df100e7ed434eece26ba77bf5f)

Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-10 12:47:34 +01:00
Andrej Valek
2ff05e9c19 busybox: do not write grep outputs into log
Make grep quiet for prevent to write information into logs.

(From OE-Core rev: f9f150fa38b188b279b65886cad187b15bae0ce6)

Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-10 12:47:34 +01:00
Andrej Valek
e57eaaad60 busybox: fix conflict with runlevel applet
- remove OE runlevel script which conflicts with busybox's applet
- don't install empty directories

(From OE-Core rev: dca804a9595002ddc3893720a96b7f1a67b6e6c4)

Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-10 12:47:34 +01:00
Richard Purdie
4b41d9072a busybox/packagegroups: Break out the busybox-syslog dependency
The busybox-syslog rrecomends is proving tricky as it gets pulled in early and
there are conflicts between its use of update-alternatives and busybox needing
to provide those things.

We already have recipes using BAD_RRECOMMENDS to remove this dependency, it probably
makes sense to spell it out explicitly and allow it to be overridden more easily.

This patch does this, dropping the now unneeded BAD_RRECOMMENDS. It preserves
the dependency as a recommendation for now, further cleanup may allow simplication
of that.

This unbreaks certain build failures on the autobuilder, more as a workaround but
is a change we probably want to make anyway.

(From OE-Core rev: 544ade2d78f1375d9e93d6bf5842d857ddaf3530)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-10 12:13:07 +01:00
Richard Purdie
3578a05aed busybox: Ensure busybox-syslog depends on busybox
If we don't do this, busybox-syslog can install before busybox
which clearly doesn't make sense and can trigger postinst failures
(missing sed which u-a depends upon).

(From OE-Core rev: 7080711849347c7fff55f925c33e6ea69d7c46bb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-10 12:13:06 +01:00
Richard Purdie
705bb5e847 busybox: Put klogd/syslogd alternative links in syslog package
Currently these are in ${PN} and ${PN}-syslog may get replaced by
other packages but update-alternatives would error in the postinst
if other files were installed first. Avoid the problems by putting
the links in the correct package.

(From OE-Core rev: ef11c54ba99af261a70ec31091216cdd1556da24)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-05 18:00:25 +01:00
Richard Purdie
9fb645f0df busybox: Sync arch and link locations with coreutils
coreutils installs these into bindir, folllow its lead to avoid postinst
failures when installing coreutils and busybox together.

(From OE-Core rev: ed6e039bf9b16ea882995780425b33b84f9356cf)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-05 18:00:25 +01:00
Andrej Valek
29108755c1 busybox: update to 1.29.2
- refresh busybox-udhcpc-no_deconfig.patch
  - remove obsolete patches which are included in this update
  - update defconfig
  - Add newly required virtual/crypt depends [RB]

(From OE-Core rev: b9c7fdd4b204ab1c2466e9ec5d933bbc635fcc4f)

Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-05 18:00:25 +01:00
Yadi.hu
53ba34d143 busybox: handle syslog
If CONFIG_KLOGD is not enabled, then the related service file should
not be installed, The error message is below:

    Cannot add dependency job for unit busybox-klogd.service,
    ignoring: Unit busybox-klogd.service failed to load:
    No such file or directory.

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

(From OE-Core rev: c3cc402df996654bf6f838b1e79e16a8bdd6d4d7)

Signed-off-by: Yadi.hu <yadi.hu@windriver.com>
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-09 22:48:38 +01:00
Juro Bystricky
98e852983c classes/recipes: Use expanded BUILD_REPRODUCIBLE_BINARIES value
Replace the occurences of BUILD_REPRODUCIBLE_BINARIES with expanded
values ${BUILD_REPRODUCIBLE_BINARIES} so the variable does not need to be
exported.

(From OE-Core rev: 27f87bbc8395a2481ef808465a62d213a6b678ac)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-12 15:06:32 -07:00
Denys Dmytriyenko
55baf5b707 busybox: separate inittab into own package, due to SERIAL_CONSOLES being machine-specific
* Create busybox-inittab recipe to produce machine-specific package with /etc/inittab
  and necessary getty calls for a machine, based on SERIAL_CONSOLES, similar to how
  sysvinit-inittab was done

* Since CONFIG_FEATURE_USE_INITTAB is controlled by VIRTUAL-RUNTIME_init_manager, make
  main busybox package RDEPENDS on busybox-inittab when init_manager is set to busybox

(From OE-Core rev: afb09abd2f0f7555ba156260a87fd3867f591310)

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 21:23:03 +00:00
Nathan Rossi
b8bd1f7163 busybox.inc: Add sanity check to test if the suid binary provides sh
Add a sanity check during the do_compile task to fail if the suid
busybox provides /bin/sh. This is considered as a hard fail since not
only is providing sh as suid problematic for security reasons but also
because the sh configured for suid is less functional than the nosuid
configured sh and breaks a number of required features (e.g. 64-bit
test).

(From OE-Core rev: b64807549569817c8f1921a0aad52c815af90731)

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-29 08:49:49 +00:00
Nathan Rossi
220e40674b busybox.inc: Fix bashism in compile, which fixes sh being suid
Fix the bashism in the suid check. This ensures that the check works
correctly on hosts that default sh to e.g. dash. If this check fails the
suid shell workaround does not remove sh from the suid binary and
results in the target system containing a busybox.suid with sh as well
as /bin/sh -> /bin/busybox.suid.

(From OE-Core rev: 28547cf01b5ebb81c525a2b982db9b04997d7c4f)

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Cc: Andrej Valek <andrej.valek@siemens.com>
Cc: Radovan Scasny <radovan.scasny@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-11-09 11:49:07 +00:00
Andrej Valek
3bbc1577d9 busybox: 1.24.1 -> 1.27.2
- fixed link creation to shell
 - reported bug with suid shells [https://bugs.busybox.net/show_bug.cgi?id=10346]
- removed and modified already merged patches
- updated defconfig regarding to new version

(From OE-Core rev: 55740077a1f3bed5956fe02ef17ba1d99176ea24)

Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Radovan Scasny <radovan.scasny@siemens.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-11-05 22:33:21 +00:00
Chen Qi
cb92d86b4d busybox: fix syslog related meta data
Set RCONFLICTS to disallow multiple syslog daemon providers to be installed
on the target at the same time,  and remove codes which dealt with such
situation.

Supporting multiple syslog daemons on the same image doesn't have much sense.
rsyslog and syslog-ng in meta-oe have set RCONFLICTS to disallow this. And
we do the same for busybox.

Also, remove the line of creating a meaningless symlink of
/lib/systemd/syslog.service to /dev/null.

(From OE-Core rev: 597bbf99ee8e88294f2ed96c84a51f9ed83e8933)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-25 14:14:16 +01:00
Juro Bystricky
01d82ea619 busybox.inc: improve reproducibility
For reproducible builds do not generate build timestamp as part of
the version string.

Remove host tools references from .config file.
With this patch all eight busybox packages are built as
binary reproducible.

(From OE-Core rev: fad94cdb02be86b463e691ca2598b393e7875919)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:15 +01:00
Richard Purdie
eb40fcf627 meta: Drop remnants of uclibc support
uclibc support was removed a while ago and musl works much better. Start to
remove the various overrides and patches related to uclibc which are no longer
needed.

uclibc support in a layer would still be possible. I have strong reasons to
believe nobody is still using uclibc since patches are missing and I doubt
the metadata even parses anymore.

(From OE-Core rev: 653704e9cf325cb494eb23facca19e9f05132ffd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-22 09:16:00 +01:00
Amarnath Valluri
39b8fbfd53 busybox: changes to support merged /usr
Most of the shell scripts refer to /bin/sh inside the script. When 'usrmege'
feature is enabled, this path would be /usr/bin/sh. Hence, to satisfy build
dependency add '/bin/sh' to it's providers list.

(From OE-Core rev: 1f6c14939c8daa5e09103789c3ff5031cc888d16)

Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-14 10:18:30 +01:00
Romain Perier
298dd9baab busybox: make SYSLOGD optionnal
Some distros might choose another syslogd provider like rsyslogd.
update-alternative will update the link from syslogd to the right
provider. However the syslogd feature is still present and enabled
in busybox.

This commit adds a new configuration fragment to make syslogd
optionnal in busybox.

(From OE-Core rev: 9732a2ba2edf2607e61ae4fe0d65a02b7918cfe7)

Signed-off-by: Romain Perier <romain.perier@collabora.com>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-29 15:15:20 +01:00
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