initial buildroot for linux 5.15

This commit is contained in:
Huan.Feng
2021-12-06 14:12:13 +08:00
parent d7767d594e
commit 7b6fc358fa
12736 changed files with 508822 additions and 0 deletions
+83
View File
@@ -0,0 +1,83 @@
[From http://mirror.keystealth.org/gnu/bash/bash-5.1-patches/bash51-001]
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
BASH PATCH REPORT
=================
Bash-Release: 5.1
Patch-ID: bash51-001
Bug-Reported-by: Fazal Majid <fazal@majid.org>
Bug-Reference-ID: <DEAB7D2C-C626-450C-B2E5-281AFF2D26D4@majid.org>
Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2020-12/msg00000.html
Bug-Description:
There is a missing dependency on a constructed file, which can cause highly
parellel builds to fail.
Patch (apply with `patch -p0'):
*** ../bash-5.1-patched/Makefile.in 2020-12-04 09:51:19.000000000 -0500
--- b/Makefile.in 2020-12-16 11:28:36.000000000 -0500
***************
*** 1316,1319 ****
--- 1316,1320 ----
bashline.o: pcomplete.h ${BASHINCDIR}/chartypes.h input.h
bashline.o: ${BASHINCDIR}/shmbutil.h ${BASHINCDIR}/shmbchar.h
+ bashline.o: ${DEFDIR}/builtext.h
bracecomp.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h
bracecomp.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h
***************
*** 1436,1439 ****
--- 1437,1441 ----
builtins/evalstring.o: jobs.h builtins.h flags.h input.h execute_cmd.h
builtins/evalstring.o: bashhist.h $(DEFSRC)/common.h pathnames.h
+ builtins/evalstring.o: ${DEFDIR}/builtext.h
builtins/getopt.o: config.h ${BASHINCDIR}/memalloc.h
builtins/getopt.o: shell.h syntax.h bashjmp.h command.h general.h xmalloc.h error.h
*** ../bash-5.1-patched/builtins/Makefile.in 2019-07-25 08:03:45.000000000 -0400
--- b/builtins/Makefile.in 2020-12-16 11:29:29.000000000 -0500
***************
*** 362,366 ****
evalstring.o: $(topdir)/flags.h $(topdir)/input.h $(topdir)/execute_cmd.h
evalstring.o: $(topdir)/bashhist.h $(srcdir)/common.h
! evalstring.o: $(topdir)/trap.h $(topdir)/redir.h ../pathnames.h
#evalstring.o: $(topdir)/y.tab.h
getopt.o: ../config.h $(BASHINCDIR)/memalloc.h
--- 362,366 ----
evalstring.o: $(topdir)/flags.h $(topdir)/input.h $(topdir)/execute_cmd.h
evalstring.o: $(topdir)/bashhist.h $(srcdir)/common.h
! evalstring.o: $(topdir)/trap.h $(topdir)/redir.h ../pathnames.h ./builtext.h
#evalstring.o: $(topdir)/y.tab.h
getopt.o: ../config.h $(BASHINCDIR)/memalloc.h
*** ../bash-5.1/patchlevel.h 2020-06-22 14:51:03.000000000 -0400
--- b/patchlevel.h 2020-10-01 11:01:28.000000000 -0400
***************
*** 1,5 ****
/* patchlevel.h -- current bash patch level */
! /* Copyright (C) 2001-2016 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
--- 1,5 ----
/* patchlevel.h -- current bash patch level */
! /* Copyright (C) 2001-2020 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
***************
*** 26,30 ****
looks for to find the patch level (for the sccs version string). */
! #define PATCHLEVEL 0
#endif /* _PATCHLEVEL_H_ */
--- 26,30 ----
looks for to find the patch level (for the sccs version string). */
! #define PATCHLEVEL 1
#endif /* _PATCHLEVEL_H_ */
+60
View File
@@ -0,0 +1,60 @@
[From http://mirror.keystealth.org/gnu/bash/bash-5.1-patches/bash51-002]
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
BASH PATCH REPORT
=================
Bash-Release: 5.1
Patch-ID: bash51-002
Bug-Reported-by: oguzismailuysal@gmail.com
Bug-Reference-ID: <CAH7i3LoHFUa4aSF5-AD2r80HG-p-YzD_9ZxomarZkhP8NMq63g@mail.gmail.com>
Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2020-12/msg00037.html
Bug-Description:
If there are no jobs, and the `-n' and `-p' options are both supplied to
`wait', bash can assign a value to the variable name specified with `-p'
instead of leaving it unset.
Patch (apply with `patch -p0'):
*** ../bash-5.1-patched/builtins/wait.def 2020-04-09 15:13:57.000000000 -0400
--- b/builtins/wait.def 2020-12-11 09:46:49.000000000 -0500
***************
*** 214,222 ****
status = wait_for_any_job (wflags, &pstat);
- if (status < 0)
- status = 127;
-
if (vname && status >= 0)
bind_var_to_int (vname, pstat.pid);
if (list)
unset_waitlist ();
--- 214,222 ----
status = wait_for_any_job (wflags, &pstat);
if (vname && status >= 0)
bind_var_to_int (vname, pstat.pid);
+
+ if (status < 0)
+ status = 127;
if (list)
unset_waitlist ();
*** ../bash-5.1/patchlevel.h 2020-06-22 14:51:03.000000000 -0400
--- b/patchlevel.h 2020-10-01 11:01:28.000000000 -0400
***************
*** 26,30 ****
looks for to find the patch level (for the sccs version string). */
! #define PATCHLEVEL 1
#endif /* _PATCHLEVEL_H_ */
--- 26,30 ----
looks for to find the patch level (for the sccs version string). */
! #define PATCHLEVEL 2
#endif /* _PATCHLEVEL_H_ */
+56
View File
@@ -0,0 +1,56 @@
[From http://mirror.keystealth.org/gnu/bash/bash-5.1-patches/bash51-003]
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
BASH PATCH REPORT
=================
Bash-Release: 5.1
Patch-ID: bash51-003
Bug-Reported-by: oguzismailuysal@gmail.com
Bug-Reference-ID: <CAH7i3LpG91BnNcDtaTUm2Ph7a+PnJkuh6nAc87cVL7_38tOaMQ@mail.gmail.com>
Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2020-12/msg00050.html
Bug-Description:
Bash does not put a command substitution process that is started to perform an
expansion in a child process into the right process group where it can receive
keyboard-generated signals.
Patch (apply with `patch -p0'):
*** ../bash-5.1-patched/subst.c 2020-11-16 10:33:15.000000000 -0500
--- b/subst.c 2020-12-12 13:50:11.000000000 -0500
***************
*** 6357,6362 ****
#if defined (JOB_CONTROL)
old_pipeline_pgrp = pipeline_pgrp;
! /* Don't reset the pipeline pgrp if we're already a subshell in a pipeline. */
! if ((subshell_environment & SUBSHELL_PIPE) == 0)
pipeline_pgrp = shell_pgrp;
cleanup_the_pipeline ();
--- 6357,6364 ----
#if defined (JOB_CONTROL)
old_pipeline_pgrp = pipeline_pgrp;
! /* Don't reset the pipeline pgrp if we're already a subshell in a pipeline or
! we've already forked to run a disk command (and are expanding redirections,
! for example). */
! if ((subshell_environment & (SUBSHELL_FORK|SUBSHELL_PIPE)) == 0)
pipeline_pgrp = shell_pgrp;
cleanup_the_pipeline ();
*** ../bash-5.1/patchlevel.h 2020-06-22 14:51:03.000000000 -0400
--- b/patchlevel.h 2020-10-01 11:01:28.000000000 -0400
***************
*** 26,30 ****
looks for to find the patch level (for the sccs version string). */
! #define PATCHLEVEL 2
#endif /* _PATCHLEVEL_H_ */
--- 26,30 ----
looks for to find the patch level (for the sccs version string). */
! #define PATCHLEVEL 3
#endif /* _PATCHLEVEL_H_ */
+129
View File
@@ -0,0 +1,129 @@
[From http://mirror.keystealth.org/gnu/bash/bash-5.1-patches/bash51-004]
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
BASH PATCH REPORT
=================
Bash-Release: 5.1
Patch-ID: bash51-004
Bug-Reported-by: oguzismailuysal@gmail.com
Bug-Reference-ID: <CAH7i3LoHGmwaghDpCWRUfcY04gQmeDTH3RiG=bf2b=KbU=gyhw@mail.gmail.com>
Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2020-12/msg00039.html
Bug-Description:
If a key-value compound array assignment to an associative array is supplied
as an assignment statement argument to the `declare' command that declares the
array, the assignment doesn't perform the correct word expansions.
This patch makes key-value assignment and subscript assignment perform the
same expansions when they're supplied as an argument to `declare'.
Patch (apply with `patch -p0'):
*** ../bash-5.1-patched/arrayfunc.c 2020-10-09 11:38:58.000000000 -0400
--- b/arrayfunc.c 2020-12-11 15:12:22.000000000 -0500
***************
*** 598,601 ****
--- 598,622 ----
}
}
+
+ /* Return non-zero if L appears to be a key-value pair associative array
+ compound assignment. */
+ int
+ kvpair_assignment_p (l)
+ WORD_LIST *l;
+ {
+ return (l && (l->word->flags & W_ASSIGNMENT) == 0 && l->word->word[0] != '['); /*]*/
+ }
+
+ char *
+ expand_and_quote_kvpair_word (w)
+ char *w;
+ {
+ char *t, *r;
+
+ t = w ? expand_assignment_string_to_string (w, 0) : 0;
+ r = sh_single_quote (t ? t : "");
+ free (t);
+ return r;
+ }
#endif
***************
*** 641,645 ****
#if ASSOC_KVPAIR_ASSIGNMENT
! if (assoc_p (var) && nlist && (nlist->word->flags & W_ASSIGNMENT) == 0 && nlist->word->word[0] != '[') /*]*/
{
iflags = flags & ~ASS_APPEND;
--- 662,666 ----
#if ASSOC_KVPAIR_ASSIGNMENT
! if (assoc_p (var) && kvpair_assignment_p (nlist))
{
iflags = flags & ~ASS_APPEND;
*** ../bash-5.1-patched/arrayfunc.h 2020-04-29 17:24:15.000000000 -0400
--- b/arrayfunc.h 2020-12-11 14:23:50.000000000 -0500
***************
*** 68,71 ****
--- 68,74 ----
extern void quote_compound_array_list PARAMS((WORD_LIST *, int));
+ extern int kvpair_assignment_p PARAMS((WORD_LIST *));
+ extern char *expand_and_quote_kvpair_word PARAMS((char *));
+
extern int unbind_array_element PARAMS((SHELL_VAR *, char *, int));
extern int skipsubscript PARAMS((const char *, int, int));
*** ../bash-5.1-patched/subst.c 2020-11-16 10:33:15.000000000 -0500
--- b/subst.c 2020-12-11 15:11:10.000000000 -0500
***************
*** 11605,11608 ****
--- 11605,11609 ----
WORD_LIST *l, *nl;
char *t;
+ int kvpair;
if (flags == 0)
***************
*** 11619,11622 ****
--- 11620,11627 ----
/* Associative array */
l = parse_string_to_word_list (value, 1, "array assign");
+ #if ASSOC_KVPAIR_ASSIGNMENT
+ kvpair = kvpair_assignment_p (l);
+ #endif
+
/* For associative arrays, with their arbitrary subscripts, we have to
expand and quote in one step so we don't have to search for the
***************
*** 11624,11627 ****
--- 11629,11638 ----
for (nl = l; nl; nl = nl->next)
{
+ #if ASSOC_KVPAIR_ASSIGNMENT
+ if (kvpair)
+ /* keys and values undergo the same set of expansions */
+ t = expand_and_quote_kvpair_word (nl->word->word);
+ else
+ #endif
if ((nl->word->flags & W_ASSIGNMENT) == 0)
t = sh_single_quote (nl->word->word ? nl->word->word : "");
*** ../bash-5.1/patchlevel.h 2020-06-22 14:51:03.000000000 -0400
--- b/patchlevel.h 2020-10-01 11:01:28.000000000 -0400
***************
*** 26,30 ****
looks for to find the patch level (for the sccs version string). */
! #define PATCHLEVEL 3
#endif /* _PATCHLEVEL_H_ */
--- 26,30 ----
looks for to find the patch level (for the sccs version string). */
! #define PATCHLEVEL 4
#endif /* _PATCHLEVEL_H_ */
@@ -0,0 +1,38 @@
From 4fa85c85b9a76afd3b19ed75bf17ccd2940f1f55 Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Sun, 16 Feb 2020 16:18:48 +0100
Subject: [PATCH] input.h: add missing include on stdio.h
This will fix the following build failure on uclibc:
test -n "/usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-2/output/host/bin/arm-linux-ranlib" && /usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-2/output/host/bin/arm-linux-ranlib libsh.a
In file included from ./exec.def:71:
../input.h:76:3: error: unknown type name 'FILE'
FILE *file;
^~~~
Fixes:
- http://autobuild.buildroot.org/results/bfca306868df54c567215c45c8cdac838d02f567
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Upstream status: https://savannah.gnu.org/support/?110196]
---
input.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/input.h b/input.h
index 6aef1269..08b0fdea 100644
--- a/input.h
+++ b/input.h
@@ -21,6 +21,8 @@
#if !defined (_INPUT_H_)
#define _INPUT_H_
+#include <stdio.h>
+
#include "stdc.h"
/* Function pointers can be declared as (Function *)foo. */
--
2.24.1
@@ -0,0 +1,72 @@
From 3d6b9e18506ad9daf4ec7b7d406b38d58ec88009 Mon Sep 17 00:00:00 2001
From: Peter Seiderer <ps.report@gmx.net>
Date: Thu, 11 Mar 2021 20:48:36 +0100
Subject: [PATCH] locale: fix typo local_shiftstates vs. locale_shiftstates
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Fixes:
locale.c:94:3: error: local_shiftstates undeclared (first use in this function); did you mean locale_shiftstates?
94 | local_shiftstates = 0;
| ^~~~~~~~~~~~~~~~~
| locale_shiftstates
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
locale.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/locale.c b/locale.c
index 17ccc58..d6dd95a 100644
--- a/locale.c
+++ b/locale.c
@@ -91,7 +91,7 @@ set_default_locale ()
#if defined (HANDLE_MULTIBYTE)
locale_shiftstates = mblen ((char *)NULL, 0);
#else
- local_shiftstates = 0;
+ locale_shiftstates = 0;
#endif
}
@@ -117,7 +117,7 @@ set_default_locale_vars ()
# if defined (HANDLE_MULTIBYTE)
locale_shiftstates = mblen ((char *)NULL, 0);
# else
- local_shiftstates = 0;
+ locale_shiftstates = 0;
# endif
u32reset ();
@@ -226,7 +226,7 @@ set_locale_var (var, value)
# if defined (HANDLE_MULTIBYTE)
locale_shiftstates = mblen ((char *)NULL, 0);
# else
- local_shiftstates = 0;
+ locale_shiftstates = 0;
# endif
u32reset ();
return r;
@@ -250,7 +250,7 @@ set_locale_var (var, value)
#if defined (HANDLE_MULTIBYTE)
locale_shiftstates = mblen ((char *)NULL, 0);
#else
- local_shiftstates = 0;
+ locale_shiftstates = 0;
#endif
u32reset ();
}
@@ -391,7 +391,7 @@ reset_locale_vars ()
# if defined (HANDLE_MULTIBYTE)
locale_shiftstates = mblen ((char *)NULL, 0);
# else
- local_shiftstates = 0;
+ locale_shiftstates = 0;
# endif
u32reset ();
#endif
--
2.30.1
@@ -0,0 +1,40 @@
From a60ab1e5e88863acf9b0e9bcaa7919bbf093da05 Mon Sep 17 00:00:00 2001
From: Peter Seiderer <ps.report@gmx.net>
Date: Thu, 11 Mar 2021 20:55:52 +0100
Subject: [PATCH] glob: fix dequote_pathname vs. udequote_pathname
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Fixes:
glob.c:123:28: error: static declaration of udequote_pathname follows non-static declaration
123 | # define dequote_pathname udequote_pathname
| ^~~~~~~~~~~~~~~~~
glob.c:125:13: note: in expansion of macro dequote_pathname
125 | static void dequote_pathname PARAMS((char *));
| ^~~~~~~~~~~~~~~~
glob.c:118:6: note: previous declaration of udequote_pathname was here
118 | void udequote_pathname PARAMS((char *));
| ^~~~~~~~~~~~~~~~~
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
lib/glob/glob.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/lib/glob/glob.c b/lib/glob/glob.c
index eb6277f..c903b15 100644
--- a/lib/glob/glob.c
+++ b/lib/glob/glob.c
@@ -117,6 +117,5 @@ static int mbskipname PARAMS((char *, char *, int));
#else
# define dequote_pathname udequote_pathname
#endif
-static void dequote_pathname PARAMS((char *));
static int glob_testdir PARAMS((char *, int));
static char **glob_dir_to_array PARAMS((char *, char **, int));
--
2.30.1
+25
View File
@@ -0,0 +1,25 @@
config BR2_PACKAGE_BASH
bool "bash"
# uses fork()
depends on BR2_USE_MMU
depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
select BR2_PACKAGE_NCURSES
select BR2_PACKAGE_READLINE
help
The standard GNU Bourne again shell.
http://tiswww.case.edu/php/chet/bash/bashtop.html
if BR2_PACKAGE_BASH
config BR2_PACKAGE_BASH_LOADABLE_EXAMPLES
bool "loadable examples"
depends on !BR2_STATIC_LIBS
help
This option will enable the installation of the "loadable"
examples, which are dynamically loadable extension providing
additional built-ins commands to bash. There are typically
not needed as they are provided as regular, external
commands.
endif
+4
View File
@@ -0,0 +1,4 @@
# Locally calculated after checking pgp signature from
# http://mirror.keystealth.org/gnu/bash/bash-5.1.tar.gz.sig
sha256 cc012bc860406dcf42f64431bcd3d2fa7560c02915a601aba9cd597a39329baa bash-5.1.tar.gz
sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING
+71
View File
@@ -0,0 +1,71 @@
################################################################################
#
# bash
#
################################################################################
BASH_VERSION = 5.1
BASH_SITE = $(BR2_GNU_MIRROR)/bash
BASH_DEPENDENCIES = ncurses readline host-bison
BASH_LICENSE = GPL-3.0+
BASH_LICENSE_FILES = COPYING
BASH_CPE_ID_VENDOR = gnu
# We want the bash binary in /bin
BASH_CONF_OPTS = \
--bindir=/bin \
--with-installed-readline \
--without-bash-malloc
BASH_CONF_ENV += \
ac_cv_rl_prefix="$(STAGING_DIR)" \
ac_cv_rl_version="$(READLINE_VERSION)" \
bash_cv_getcwd_malloc=yes \
bash_cv_job_control_missing=present \
bash_cv_sys_named_pipes=present \
bash_cv_func_sigsetjmp=present \
bash_cv_printf_a_format=yes
# The static build needs some trickery
ifeq ($(BR2_STATIC_LIBS),y)
BASH_CONF_OPTS += --enable-static-link
# bash wants to redefine the getenv() function. To check whether this is
# possible, AC_TRY_RUN is used which is not possible in
# cross-compilation.
# On uClibc, redefining getenv is not possible; on glibc and musl it is.
# Related:
# http://lists.gnu.org/archive/html/bug-bash/2012-03/msg00052.html
ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
BASH_CONF_ENV += bash_cv_getenv_redef=no
else
BASH_CONF_ENV += bash_cv_getenv_redef=yes
endif
endif
define BASH_REMOVE_UNUSED_FILES
rm -f $(TARGET_DIR)/bin/bashbug
endef
BASH_POST_INSTALL_TARGET_HOOKS += BASH_REMOVE_UNUSED_FILES
ifeq ($(BR2_PACKAGE_BASH_LOADABLE_EXAMPLES),y)
define BASH_REMOVE_LOADABLE_UNUSED_FILES
rm -f $(TARGET_DIR)/usr/lib/bash/Makefile.inc
rm -f $(TARGET_DIR)/usr/lib/bash/loadables.h
endef
BASH_POST_INSTALL_TARGET_HOOKS += BASH_REMOVE_LOADABLE_UNUSED_FILES
else
define BASH_REMOVE_LOADABLE_EXAMPLES
rm -rf $(TARGET_DIR)/usr/lib/bash
endef
BASH_POST_INSTALL_TARGET_HOOKS += BASH_REMOVE_LOADABLE_EXAMPLES
endif
# Add /bin/bash to /etc/shells otherwise some login tools like dropbear
# can reject the user connection. See man shells.
define BASH_ADD_MKSH_TO_SHELLS
grep -qsE '^/bin/bash$$' $(TARGET_DIR)/etc/shells \
|| echo "/bin/bash" >> $(TARGET_DIR)/etc/shells
endef
BASH_TARGET_FINALIZE_HOOKS += BASH_ADD_MKSH_TO_SHELLS
$(eval $(autotools-package))