summaryrefslogtreecommitdiffstats
path: root/meta/recipes-extended/bash
AgeCommit message (Collapse)Author
2017-10-16bash: add missing build dependencies for ptestRoss Burton
Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-10-06bash-ptest: install additional localesJuro Bystricky
bash-ptest fails several tests. This patch fixes: FAIL: run-intl The test used to fail because of missing locales (fr_FR, de_DE) [YOCTO #12145] Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-08-30bash.inc: improve reproducibilityJuro Bystricky
Remove all host build references from the following bash packages: bash-ptest, bash-bashbug, bash-dev, bash-loadable. [YOCTO #11918] Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-27bash: memleak bug fix for builtin command readZhang Xiao
Built in command "read" with "-e" use Readline to obtain the line in an interactive shell. In this process, a string "rlbuf" is just allocated without free operation thus cause memory leak. This patch had been submitted to upstream: http://lists.gnu.org/archive/html/bug-bash/2017-02/msg00061.html Signed-off-by: Zhang Xiao <xiao.zhang@windriver.com> Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18bash: 4.3.30 -> 4.4Hongxu Jia
1. Rebase patches: - fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch - test-output.patch 2. Drop backported patches: - CVE-2016-9401.patch - fix-run-intl.patch 3. Add ${PN}-loadable for loadable builtins which is new features in Bash 4.4 4. The 4.4 fixed CVE-2017-5932 and CVE-2016-0634 - https://security-tracker.debian.org/tracker/CVE-2017-5932 - https://security-tracker.debian.org/tracker/CVE-2016-0634 5. The 4.4 installed include header files, fix bash-dev confilicts with lib32-bash-dev ..... $ bitbake lib32-core-image-sato-sdk ... |Error: Transaction check error: file /usr/include/bash/config.h conflicts between attempted installs |of lib32-bash-dev-4.4-r0.x86 and bash-dev-4.4-r0.core2_64 ...... Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-14bash: changes to support merged /usrAmarnath Valluri
Most of shell scripts refer to '#!/bin/{sh,bash}' inside the script. But when 'usrmege' feature is enabled this path will be /usr/bin/{sh, bash}. so to satisify build dependency add '/bin/{sh,bash}' to its providers list. Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-12bash: CVE-2016-0634Zhixiong Chi
A vulnerability was found in a way bash expands the $HOSTNAME. Injecting the hostname with malicious code would cause it to run each time bash expanded \h in the prompt string. Porting patch from <https://ftp.gnu.org/gnu/bash/bash-4.3-patches/ bash43-047> to solve CVE-2016-0634 CVE: CVE-2016-0634 Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-03-11bash: package bashbug separatelyAlexander Kanavin
It's a machine-specific script, which is causing conflicts when multiple versions of bash are installed in multilib setting, and it also does not really make sense for embedded systems anyway. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-07recipes: Move out stale GPLv2 versions to a seperate layeruninative-1.5Richard Purdie
These are recipes where the upstream has moved to GPLv3 and these old versions are the last ones under the GPLv2 license. There are several reasons for making this move. There is a different quality of service with these recipes in that they don't get security fixes and upstream no longer care about them, in fact they're actively hostile against people using old versions. The recipes tend to need a different kind of maintenance to work with changes in the wider ecosystem and there needs to be isolation between changes made in the v3 versions and those in the v2 versions. There are probably better ways to handle a "non-GPLv3" system but right now having these in OE-Core makes them look like a first class citizen when I believe they have potential for a variety of undesireable issues. Moving them into a separate layer makes their different needs clearer, it also makes it clear how many of these there are. Some are probably not needed (e.g. mc), I also wonder whether some are useful (e.g. gmp) since most things that use them are GPLv3 only already. Someone could now more clearly see how to streamline the list of recipes here. I'm proposing we mmove to this separate layer for 2.3 with its future maintinership and testing to be determined in 2.4 and beyond. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-02-15bash: fix CVE-2016-9401Li Zhou
popd in bash might allow local users to bypass the restricted shell and cause a use-after-free via a crafted address. Porting patch from <https://ftp.gnu.org/pub/gnu/bash/bash-4.4-patches/ bash44-006> to solve CVE-2016-9401. Signed-off-by: Li Zhou <li.zhou@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-02-05bash: use update-alternatives for the bash binaryAndreas Oberritter
Busybox may offer a bash applet. If enabled, the alternatives mechanism avoids breaking logins if bash gets deinstalled while /bin/bash is configured as a login shell. Signed-off-by: Andreas Oberritter <obi@opendreambox.org> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-11-06bash_3.2.x: update recipe version to match what we're shippingAndré Draszik
Make sure the recipe version matches what we're actually shipping, so that tools like cve-check can do the right thing. Rather than fetching version 3.2.48 and applying all patches up to and including version 3.2.57, we just fetch the latter in the first place. Signed-off-by: André Draszik <adraszik@tycoint.com> Acked-by: Sylvain Lemieux <slemieux@tycoint.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-23bash: fix run-intl ptest failedDengke Du
1. Filter the extra white space in intl.right When the sub-test unicode2.sub of intl.tests executed, it produced compact results without extra white space, compared to intl.right, it failed. So we need to filter the extra white space in intl.right. Import this patch for intl.right from bash devel branch: http://git.savannah.gnu.org/cgit/bash.git/log/?h=devel Commit is: 85ec0778f9d778e1820fb8c0e3e996f2d1103b45 2. Change intl.right correspond to the unicode3.sub's output In sub-test unicode3.sub of intl.tests have this: printf %q "$payload" The payload variable was assigned by ASCII characters, when using '%q' format strings, it means print the associated argument shell-quoted. When the strings contain the non-alpha && non-digit && non-punctuation && non-ISO 646 character(7-bit), it would output like this: " $'...', ANSI-C style quoted string. We can check the bash source code at: http://git.savannah.gnu.org/cgit/bash.git/tree/builtins/printf.def#n557 http://git.savannah.gnu.org/cgit/bash.git/tree/lib/sh/strtrans.c#n331 So we need to change the intl.right contain the correct output of unicode3.sub. Import parts of this patch for intl.right from bash devel branch: http://git.savannah.gnu.org/cgit/bash.git/log/?h=devel Commit is: 74b8cbb41398b4453d8ba04d0cdd1b25f9dcb9e3 3. Add the sanity check for locales When run the intl.tests, we need the following locales: en_US & fr_FR & de_DE So add the locales check for the intl.tests in run-ptest. Signed-off-by: Dengke Du <dengke.du@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-18bash: 4.3.39 -> 4.3.46Dengke Du
Signed-off-by: Dengke Du <dengke.du@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-01bash: add patch to build w/ -Wformat-securityAndré Draszik
Signed-off-by: André Draszik <adraszik@tycoint.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-20bash: fix string format errors when enabling security flagsRoss Burton
If security_flags.inc is included then bash 3.2.48 fails to build: | ../bash-3.2.48/print_cmd.c:1152:3: error: format not a string literal and no format arguments [-Werror=format-security] | cprintf (indentation_string); Backport a patch from upstream to solve this. Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-20bash: ensure LDFLAGS is passed when building ptestRoss Burton
Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-05-06bash: fix dependencies and QA IssueMaxin B. John
Fix the following QA warning: WARNING: bash-4.3.30-r0 do_package_qa: QA Issue: bash rdepends on libiconv, but it isn't a build dependency, missing libiconv in DEPENDS or PACKAGECONFIG? [build-deps] Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-04-29bash: fixed ptest run-builtins failedDengke Du
1. redirect the stderr output of the command exec with -l option to /dev/null. Because when we run command exec with -l option in builtins.tests, it is a login shell, so it would read the file /etc/profile, that file executes the /usr/bin/resize which added by commit: cc6360f4c4d97e0000f9d3545f381224ee99ce7d The /usr/bin/resize is produced by busybox that source code resize.c contains: fprintf(stderr, ESC"7" ESC"[r" ESC"[999;999H" ESC"[6n"); In the end, it outputs an escape sequence to the stderr, so when we compare the test output file /tmp/xx with builtins.right, it failed. we need to redirect the stderr output to the /dev/null to solve the problem. 2. ensure the target system contains the locales "en_US.UTF-8". Because when run the run-builtins, it executes the source5.sub file that contain: LC_ALL=en_US.UTF-8 such as add the following to the local.conf: IMAGE_LINGUAS_append = " en-us" Signed-off-by: Dengke Du <dengke.du@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-07bash: fix buildpaths qa check errorKai Kang
Script bashbug and Makefile for ptest contain build related paths which cause fail to pass buldpaths QA check. Remove such paths from these 2 files. Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-12bash: fix testcase run-coproc/run-execscript/run-test/run-heredoc failedHongxu Jia
Add user 'test' to fix the failure of 'the test suite should not be run as root'(run-execscript and run-test) Backport test case from git://git.sv.gnu.org/bash.git to fix run-execscript and run-heredoc Still failed cases: FAIL: run-intl FAIL: run-lastpipe FAIL: run-trap YOCTO: 5698 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-10-12bash: Disable custom memory allocatorAníbal Limón
Bash is failing trying to allocate memory [1] using the custom memory allocator if we disable it the issue is fixed. The major distributions also disabled by default [2], so we don't have a good reason to use it. The underlying issue is due to bash’s malloc using brk() calls to allocate memory, which fail when address randomization is enabled in kernel. sbrk() based custom allocators are obsolete. There may be some performance impact of this however correctness is more important. [YOCTO #8452] [1] https://bugzilla.yoctoproject.org/show_bug.cgi?id=8452#c0 [2] https://bugzilla.yoctoproject.org/show_bug.cgi?id=8452#c5 Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-08-16bash: append srcdir to run-ptest scriptAjay M
If srcdir is not set, we get below error while running ptest for bash on qemu target, -- snip -- root@qemux86:/usr/lib/bash/ptest# ./run-ptest /bin/sh: line 0: cd: /home/ajay/Downloads/poky-fido-13.0.0/build/tmp/work/i586-poky-linux/bash/4.3-r1/bash-4.3/tests: No such file or directory Makefile:879: recipe for target 'runtest' failed make: *** [runtest] Error 1 root@qemux86:/usr/lib/bash/ptest# vi run-ptest root@qemux86:/usr/lib/bash/ptest# -- CUT -- So, set srcdir to current directory, where tests binaries exist. [YOCTO #8145] Signed-off-by: Ajay M <ajay.gju@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-08-09bash_3.2.48: dont include target CFLAGS in host LDFLAGSAndre McCurdy
Building the host tool 'mkbuiltins' will fail if the target CFLAGS contains an option which isn't supported by the host's gcc. To prevent the issue, define LDFLAGS_FOR_BUILD based on CFLAGS_FOR_BUILD instead of CFLAGS. Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-09bash: 4.3 -> 4.3.30Robert Yang
Remove patch001 -> patch030 since they are already in source, add patch031 -> patch039 Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
2015-04-24bash: explicitly define NON_INTERACTIVE_LOGIN_SHELLS in CFLAGSChen Qi
If NON_INTERACTIVE_LOGIN_SHELLS is defined, all login shells read the startup files, even if they are not interactive. This is the behaviour of other major distros like Ubuntu and Fedora. We also need to set it so that when executing `su -l xxx -c env' command, /etc/profile is parsed. [YOCTO #5359] [YOCTO #7137] Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-09bash 3.2.48: disable parallel buildRobert Yang
It's Makefile has the two rules: $(BUILTINS_LIBRARY): $(BUILTIN_DEFS) $(BUILTIN_C_SRC) config.h ${BASHINCDIR}/memalloc.h version.h @(cd $(DEFDIR) && $(MAKE) $(MFLAGS) DEBUG=${DEBUG} libbuiltins.a ) || exit 1 ${DEFDIR}/builtext.h: $(BUILTIN_DEFS) @(cd $(DEFDIR) && $(MAKE) $(MFLAGS) builtext.h ) || exit 1 which causes parallel issues: mkbuiltins.o: file not recognized: File truncated collect2: ld returned 1 exit status I don't have any good ideas to fix the problem, so disable parallel build for it. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-02-14meta: enable parallel build for several recipesRobert Yang
I used a for loop to build these packages more than 520 times, these recipes never failed. Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
2015-01-16bash: separate B and SRobert Yang
It works well now, and bump the PR to avoid: x86_64-poky-linux-ar: shmatch.o: No such file or directory Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
2014-12-03bash: use EXTRA_AUTORECONF to disable autoheaderRoss Burton
Disable autoheader by setting EXTRA_AUTORECONF to --exclude=autoheader instead of setting AUTOHEADER to true. Signed-off-by: Ross Burton <ross.burton@intel.com>
2014-11-25bash: clean host path in bashbugShiqun Lin
* /usr/bin/bashbug Signed-off-by: Shiqun Lin <Shiqun.Lin@windriver.com> Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
2014-10-06bash: update and CVE-2014-6278 fixMark Hatle
Update both bash 3.2.48 (to 57), and bash 4.3 (to 30) to fix the remaining 'shellshock' security issues, CVE-2014-6278. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-06bash: Upgrade bash to latest patch level to fix CVEsMark Hatle
We upgrade bash_4.3 to patch revision 29, and bash_3.2.48 to 56. There are numerous community bug fixes included with this set, but the key items are: bash32-052 CVE-2014-6271 9/24/2014 bash32-053 CVE-2014-7169 9/26/2014 bash32-054 exported function namespace change 9/27/2014 bash32-055 CVE-2014-7186/CVE-2014-7187 10/1/2014 bash32-056 CVE-2014-6277 10/2/2014 bash43-025 CVE-2014-6271 9/24/2014 bash43-026 CVE-2014-7169 9/26/2014 bash43-027 exported function namespace change 9/27/2014 bash43-028 CVE-2014-7186/CVE-2014-7187 10/1/2014 bash43-029 CVE-2014-6277 10/2/2014 Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-29bash: Fix CVE-2014-7169Khem Raj
This is a followup patch to incomplete CVE-2014-6271 fix code execution via specially-crafted environment Change-Id: Ibb0a587ee6e09b8174e92d005356e822ad40d4ed Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-29bash: fix CVE-2014-6271Ross Burton
CVE-2014-6271 aka ShellShock. "GNU Bash through 4.3 processes trailing strings after function definitions in the values of environment variables, which allows remote attackers to execute arbitrary code via a crafted environment." Signed-off-by: Ross Burton <ross.burton@intel.com>
2014-05-01Add texinfo.bbclass; recipes that use texinfo utils at build-time inherit it.Max Eliaser
The class itself currently does nothing. The idea is to mark all recipes that make use of the texinfo utilities. In the future, this class could be used to suppress the generation/formatting of documentation for performance, explicitly track dependencies on these utilities, and eliminate Yocto's current dependency on the host system's texinfo utilities. Signed-off-by: Max Eliaser <max.eliaser@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-05bash: update build-tests.patchHongxu Jia
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-05bash: upgrade to 4.3Hongxu Jia
The bash-4.2-patches is obsolete. Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-28autotools-brokensep: Mark recipes with broken separate build dir supportRichard Purdie
This patch goes through the OE-Core recipes and marks those which use autotools but don't support a separate build directory (${S} != ${B}). A new class, autotools-brokensep is used for this purpose. This doesn't introduce any change in behaviour in its own right. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-02bash: update HOMEPAGEPaul Eggleton
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2014-01-02Replace one-line DESCRIPTION with SUMMARYPaul Eggleton
A lot of our recipes had short one-line DESCRIPTION values and no SUMMARY value set. In this case it's much better to just set SUMMARY since DESCRIPTION is defaulted from SUMMARY anyway and then the SUMMARY is at least useful. I also took the opportunity to fix up a lot of the new SUMMARY values, making them concisely explain the function of the recipe / package where possible. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2013-10-26bash: dynamically add or remove a entry to/from /etc/shellsMing Liu
1 Add base-files to RDEPENDS. 2 Use ${base_bindir} in regex to match bash path. 3 Add pkg_postrm to remove the entry from /etc/shells that added by pkg_postinst. Signed-off-by: Ming Liu <ming.liu@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-08-09bash: reference acl*.m4 from ${S}Bian Naimeng
bash: reference acl*.m4 from ${S}. The build directory had been moved to ${WORKDIR}/build, so we should reference acl*.m4 from ${S}. Otherwise, the following configure error will be caught. | cat: aclocal.m4: No such file or directory | ERROR: Function failed: do_configure (log file is located at ...) Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-07-25bash: Add ptestMuhammad Shakeel
ptest support was already added for v4.2 but for the distros using GPLv2 version of bash (3.2.48) this update is required. Signed-off-by: Muhammad Shakeel <muhammad_shakeel@mentor.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-06-25bash ptest: Sed away the Makefile dependency to remove error messages.Björn Stenberg
The bash Makefile defines a dependency on itself and tries to run configure, causing error messages when running ptest on target: make: *** No rule to make target `configure.in', needed by `configure'. make: *** No rule to make target `aclocal.m4', needed by `configure'. make: *** No rule to make target `config.h.in', needed by `configure'. make: *** No rule to make target `Makefile.in', needed by `Makefile'. make: Failed to remake makefile `Makefile'. This patch edits out this dependency in the Makefile installed for ptest, to get rid of these messages. Signed-off-by: Sona Sarmadi <sona.sarmadi@enea.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-05-12Upstream-Status: Correct CapitalizationSaul Wold
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-03-07bash: Use new _ptest functionsBjörn Stenberg
Signed-off-by: Björn Stenberg <bjst@enea.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-01-09bash: fix mkbuiltins build failureSaul Wold
Same patch for non-gplv3 version: http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=1fd9a16d2a4594a4e9179dc7353ac51ce32eb712 [YOCTO #3646] Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-12-25Add ptest for bash.Björn Stenberg
Signed-off-by: Björn Stenberg <bjst@enea.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-11-14bash: fix mkbuiltins build failureChristopher Larson
On hosts with FORTIFY_SOURCES, stringize support is required, as it's used by the macros to wrap functions (e.g. read and open in unistd.h). Those wrappers use the STRING() macro from unistd.h. A header in the bash sources overrides the unistd.h macro to 'x' when HAVE_STRINGIZE is not defined, causing the wrappers to generate calls to 'xread' and 'xopen', which do not exist, resulting in a failure to link. Assume we have stringize support when cross-compiling, which works around the issue. It may be best for upstream to either give up on supporting compilers without stringize support, or to not define STRING() at all when FORTIFY_SOURCES is defined, letting the unistd.h one be used, instead. Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>