Skip to contentSkip to conversation

bash: 4.3.30 -> 4.4

PATCH In review Hongxu Jia 2 participants 4 messages Feb 22, 2017 – Mar 7, 2017

lore
Share & tools
lore

Hongxu Jia

author
#0 lore raw

v5 cover bash: 4.3.30 -> 4.4

Changed in V5:
- Squash into a single commit.

Changed in V4:
- Rebase bash, to drop backported patch CVE-2016-9401.patch

//Hongxu

The following changes since commit e436a6398684d2872cb541f1cfb0f67b3618d15a:

layer.conf: bump version for change in eSDK selftest behaviour (2017-02-19 09:39:03 -0800)

are available in the git repository at:

git://git.openembedded.org/openembedded-core-contrib hongxu/upgrade-20170214
http://cgit.openembedded.org/openembedded-core-contrib/log/?h=hongxu/upgrade-20170214

Zheng Ruoqin (1):
bash: 4.3.30 -> 4.4

 ...e-builtins-uname-could-not-be-parsed-by-r.patch |  89 +++++++++++++
 .../0001-patch-to-obtain-pkgconfig-sanity.patch    |  28 +++++
 .../recipes-extended/bash/bash/CVE-2016-9401.patch |  50 --------
 ...roc-run-heredoc-run-execscript-run-test-f.patch | 137 ++-------------------
 meta/recipes-extended/bash/bash/fix-run-intl.patch | 110 -----------------
 meta/recipes-extended/bash/bash/test-output.patch  |  20 ++-
 meta/recipes-extended/bash/bash_4.3.30.bb          |  72 -----------
 meta/recipes-extended/bash/bash_4.4.bb             |  66 ++++++++++
 8 files changed, 209 insertions(+), 363 deletions(-)
 create mode 100644 meta/recipes-extended/bash/bash/0001-The-loadable-builtins-uname-could-not-be-parsed-by-r.patch
 create mode 100644 meta/recipes-extended/bash/bash/0001-patch-to-obtain-pkgconfig-sanity.patch
 delete mode 100644 meta/recipes-extended/bash/bash/CVE-2016-9401.patch
 delete mode 100644 meta/recipes-extended/bash/bash/fix-run-intl.patch
 delete mode 100644 meta/recipes-extended/bash/bash_4.3.30.bb
 create mode 100644 meta/recipes-extended/bash/bash_4.4.bb
Signature · 1 line
2.9.3
author
#1 lore raw

PATCH v5 1/1 bash: 4.3.30 -> 4.4

From: Zheng Ruoqin <[email protected]>

1) Upgrade bash from 4.3.30 to 4.4
2) Delete 1 patche below, since they are integrated upstream. fix-run-intl.patch
3) Modify 2 patches below to make it compatible with new version fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch test-output.patch
4) Add 1 patche below to solve pkgconfig sanity error 0001-patch-to-obtain-pkgconfig-sanity.patch

5) Delete CVE-2016-9401.patch which backported from 4.4

6) Update patches from upstream to 4.4

7) Add ${PN}-loadable for loadable builtins which is new features in Bash 4.4
--------------
a. `make install' now installs the example loadable builtins and a set of
bash headers to use when developing new loadable builtins.

b. `enable -f' now attempts to call functions named BUILTIN_builtin_load when
loading BUILTIN, and BUILTIN_builtin_unload when deleting it. This allows loadable builtins to run initialization and cleanup code.

c. There is a new BASH_LOADABLES_PATH variable containing a list of directories
where the `enable -f' command looks for shared objects containing loadable builtins.
--------------

8) Fix loadable builtins `uname' could not be parsed by rpmdeps correctly:
--------------

   $ recipe-sysroot-native/usr/lib/rpm/bin/rpmdeps-oecore --macros \
   recipe-sysroot-native/usr/lib/rpm/macros --define '_rpmfc_magic_path \
   recipe-sysroot-native/usr/share/misc/magic.mgc' --rpmpopt \
   recipe-sysroot-native/usr/lib/rpm/rpmpopt packages-split/bash/usr/lib64/bash/uname

|packages-split/bash/usr/lib64/bash/uname Provides: )(64bit |packages-split/bash/usr/lib64/bash/uname Provides: elf(buildid) = 7186059a5a6b11ec38493b53072c3a62edf7e05c
--------------

The incorrected "Provides: )(64bit" could not be parsed by rpmbuild.
--------------

   | DEBUG: Executing shell function BUILDSPEC
   | error: line 56: Dependency ")(64bit" must begin with alpha-numeric, '_' or '/': Provides: )(64bit
   | error: Package has no %description: bash-4.4-r0.core2_64

--------------

---
 ...e-builtins-uname-could-not-be-parsed-by-r.patch |  89 +++++++++++++
 .../0001-patch-to-obtain-pkgconfig-sanity.patch    |  28 +++++
 .../recipes-extended/bash/bash/CVE-2016-9401.patch |  50 --------
 ...roc-run-heredoc-run-execscript-run-test-f.patch | 137 ++-------------------
 meta/recipes-extended/bash/bash/fix-run-intl.patch | 110 -----------------
 meta/recipes-extended/bash/bash/test-output.patch  |  20 ++-
 meta/recipes-extended/bash/bash_4.3.30.bb          |  72 -----------
 meta/recipes-extended/bash/bash_4.4.bb             |  66 ++++++++++
 8 files changed, 209 insertions(+), 363 deletions(-)
 create mode 100644 meta/recipes-extended/bash/bash/0001-The-loadable-builtins-uname-could-not-be-parsed-by-r.patch
 create mode 100644 meta/recipes-extended/bash/bash/0001-patch-to-obtain-pkgconfig-sanity.patch
 delete mode 100644 meta/recipes-extended/bash/bash/CVE-2016-9401.patch
 delete mode 100644 meta/recipes-extended/bash/bash/fix-run-intl.patch
 delete mode 100644 meta/recipes-extended/bash/bash_4.3.30.bb
 create mode 100644 meta/recipes-extended/bash/bash_4.4.bb
meta/recipes-extended/bash/bash/0001-The-loadable-builtins-uname-could-not-be-parsed-by-r.patch new file +89 -0
new file mode 100644
index 0000000..79d9e4e
@@ -0,0 +1,89 @@
+rename uname to workaround name confliction in rpmnsProbe
+
+The loadable builtins `uname' could not be parsed by
+rpmdeps correctly:
+--------------
+$recipe-sysroot-native/usr/lib/rpm/bin/rpmdeps-oecore --macros \
+recipe-sysroot-native/usr/lib/rpm/macros --define '_rpmfc_magic_path \
+recipe-sysroot-native/usr/share/misc/magic.mgc' --rpmpopt \
+recipe-sysroot-native/usr/lib/rpm/rpmpopt packages-split/bash/usr/lib64/bash/uname
+
+|packages-split/bash/usr/lib64/bash/uname Provides: )(64bit
+|packages-split/bash/usr/lib64/bash/uname Provides: elf(buildid) = 7186059a5a6b11ec38493b53072c3a62edf7e05c
+--------------
+
+The incorrected "Provides: )(64bit" could not be parsed by rpmbuild.
+--------------
+| DEBUG: Executing shell function BUILDSPEC
+| error: line 56: Dependency ")(64bit" must begin with alpha-numeric, '_' or '/': Provides: )(64bit
+| error: Package has no %description: bash-4.4-r0.core2_64
+--------------
+
+The root cause is `uname' is incorrectly parsed by rpmnsProbe that string
+matches with "uname()(64bit)".
+
+The nsType of `uname' should be RPMNS_TYPE_NAMESPACE (like other utilities),
+rather than RPMNS_TYPE_UNAME which generates "Provides: )(64bit".
+
+We could not fix rpm-native without side effect. So rename to `uname-oe'
+and create a symlink `uname' could workaround the issue.
+
+Here is to load builtin uname in the target:
+----------------
+root@qemux86-64:# enable -f /usr/lib64/bash/uname uname
+root@qemux86-64:# help uname
+uname: uname [-amnrsv]
+    Display system information.
+
+    Display information about the system hardware and OS.
+----------------
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <[email protected]>
+---
+ examples/loadables/Makefile.in | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/examples/loadables/Makefile.in b/examples/loadables/Makefile.in
+index ec305cd..c7c96e2 100644
+--- a/examples/loadables/Makefile.in
++++ b/examples/loadables/Makefile.in
+@@ -102,7 +102,7 @@ INC = -I. -I.. -I$(topdir) -I$(topdir)/lib -I$(topdir)/builtins -I${srcdir} \
+ 
+ ALLPROG = print truefalse sleep finfo logname basename dirname \
+ 	  tty pathchk tee head mkdir rmdir printenv id whoami \
+-	  uname sync push ln unlink realpath strftime mypid setpgid
++	  uname-oe sync push ln unlink realpath strftime mypid setpgid
+ OTHERPROG = necho hello cat pushd
+ 
+ all:	$(SHOBJ_STATUS)
+@@ -178,7 +178,7 @@ id:	id.o
+ whoami:	whoami.o
+ 	$(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ whoami.o $(SHOBJ_LIBS)
+ 
+-uname:	uname.o
++uname-oe:	uname.o
+ 	$(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ uname.o $(SHOBJ_LIBS)
+ 
+ sync:	sync.o
+@@ -244,13 +244,15 @@ install-supported:	all installdirs install-dev
+ 		echo $$prog ; \
+ 		$(INSTALL_PROGRAM) $(INSTALLMODE) $$prog $(DESTDIR)$(loadablesdir)/$$prog ;\
+ 	done
++	-( cd $(DESTDIR)$(loadablesdir) && ln -snf uname-oe uname)
++
+ 
+ uninstall-dev:
+ 	-$(RM) $(DESTDIR)$(loadablesdir)/Makefile.inc
+ 	-( cd $(BUILD_DIR) && ${MAKE} ${MFLAGS} DESTDIR="$(DESTDIR)" uninstall-headers)
+ 
+ uninstall-supported:	uninstall-dev
+-	-( cd $(DESTDIR)${loadablesdir} && $(RM) ${ALLPROG} )
++	-( cd $(DESTDIR)${loadablesdir} && $(RM) ${ALLPROG} uname)
+ 
+ install-unsupported:
+ uninstall-unsupported:
+-- 
+2.8.1
+
meta/recipes-extended/bash/bash/0001-patch-to-obtain-pkgconfig-sanity.patch new file +28 -0
new file mode 100644
index 0000000..9b5e4ec
@@ -0,0 +1,28 @@
+Subject: [PATCH] patch to obtain pkgconfig sanity
+
+Drop the paths from the pkgconfig file bash.pc.in which will cause pkgconfig sanity error below:
+ERROR: QA Issue: bash.pc failed sanity test (tmpdir) in path /yocto/work001/fnst/zrq/community/poky/build/tmp/work/i586-poky-linux/bash    /4.4-r0/sysroot-destdir/usr/lib/pkgconfig [pkgconfig]
+
+Upstream-Status: Pending
+
+Signed-off-by: Zheng Ruoqin <[email protected]>
+---
+ support/bash.pc.in | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/support/bash.pc.in b/support/bash.pc.in
+index 6009659..871fa9f 100644
+--- a/support/bash.pc.in
++++ b/support/bash.pc.in
+@@ -12,8 +12,6 @@ LOCAL_CFLAGS = @LOCAL_CFLAGS@
+ LOCAL_DEFS = @LOCAL_DEFS@
+ CCFLAGS = ${LOCAL_DEFS} ${LOCAL_CFLAGS}
+ 
+-CC = @CC@
+-SHOBJ_CC = @SHOBJ_CC@
+ SHOBJ_CFLAGS = @SHOBJ_CFLAGS@
+ SHOBJ_LD = @SHOBJ_LD@
+ SHOBJ_LDFLAGS = @SHOBJ_LDFLAGS@
+-- 
+2.7.4
+
meta/recipes-extended/bash/bash/CVE-2016-9401.patch deleted +0 -50

50 lines not on this page · raw message

meta/recipes-extended/bash/bash/fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch +11 -126

161 lines not on this page · raw message

meta/recipes-extended/bash/bash/fix-run-intl.patch deleted +0 -110

110 lines not on this page · raw message

meta/recipes-extended/bash/bash/test-output.patch +15 -5
index 2b09b7d..652ffb1 100644
@@ -2,15 +2,21 @@ Add FAIL/PASS output to test output.
 
 Signed-off-by: Björn Stenberg <[email protected]>
 Upstream-Status: Pending
+
+Signed-off-by: Zheng Ruoqin <[email protected]>
 ---
-diff -uNr a/tests/run-all b/tests/run-all
---- a/tests/run-all	1999-10-08 17:07:46.000000000 +0200
-+++ b/tests/run-all	2012-10-27 21:04:18.663331887 +0200
-@@ -22,7 +22,15 @@
+ tests/run-all | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/tests/run-all b/tests/run-all
+index 2882fe0..069dbbe 100644
+--- a/tests/run-all
++++ b/tests/run-all
+@@ -33,7 +33,16 @@ do
  	case $x in
  	$0|run-minimal|run-gprof)	;;
  	*.orig|*~) ;;
--	*)	echo $x ; sh $x ;;
+-	*)	echo $x ; sh $x ; rm -f ${BASH_TSTOUT} ;;
 +    *)  echo $x
 +         output=`sh $x`
 +         if [ -n "$output" ]; then
@@ -19,7 +25,11 @@ diff -uNr a/tests/run-all b/tests/run-all
 +         else
 +             echo "PASS: $x"
 +         fi
++         rm -f ${BASH_TSTOUT} 
 +         ;;
  	esac
  done
  
+-- 
+2.7.4
+
meta/recipes-extended/bash/bash_4.3.30.bb deleted +0 -72

72 lines not on this page · raw message

meta/recipes-extended/bash/bash_4.4.bb new file +66 -0

66 lines not on this page · raw message

Signature · 1 line
2.9.3
#2 lore raw

The loadable package is empty when I do a build, do these have some floating build dependency?

Ross

Quoted 848 lines · Hongxu Jia

From: Zheng Ruoqin <[email protected]>

1) Upgrade bash from 4.3.30 to 4.4
2) Delete 1 patche below, since they are integrated upstream. fix-run-intl.patch
3) Modify 2 patches below to make it compatible with new version fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch test-output.patch
4) Add 1 patche below to solve pkgconfig sanity error 0001-patch-to-obtain-pkgconfig-sanity.patch

5) Delete CVE-2016-9401.patch which backported from 4.4

6) Update patches from upstream to 4.4

7) Add ${PN}-loadable for loadable builtins which is new features in Bash 4.4
--------------
a. `make install' now installs the example loadable builtins and a set
of
bash headers to use when developing new loadable builtins.

b. `enable -f' now attempts to call functions named
BUILTIN_builtin_load when
loading BUILTIN, and BUILTIN_builtin_unload when deleting it. This
allows
loadable builtins to run initialization and cleanup code.

c. There is a new BASH_LOADABLES_PATH variable containing a list of
directories
where the `enable -f' command looks for shared objects containing
loadable
builtins.
--------------

8) Fix loadable builtins `uname' could not be parsed by rpmdeps correctly:

   --------------
   $ recipe-sysroot-native/usr/lib/rpm/bin/rpmdeps-oecore --macros \
   recipe-sysroot-native/usr/lib/rpm/macros --define '_rpmfc_magic_path \
   recipe-sysroot-native/usr/share/misc/magic.mgc' --rpmpopt \
   recipe-sysroot-native/usr/lib/rpm/rpmpopt

packages-split/bash/usr/lib64/bash/uname

|packages-split/bash/usr/lib64/bash/uname Provides: )(64bit |packages-split/bash/usr/lib64/bash/uname Provides: elf(buildid) =
7186059a5a6b11ec38493b53072c3a62edf7e05c
--------------

The incorrected "Provides: )(64bit" could not be parsed by rpmbuild.
--------------
| DEBUG: Executing shell function BUILDSPEC
| error: line 56: Dependency ")(64bit" must begin with alpha-numeric,
'_' or '/': Provides: )(64bit
| error: Package has no %description: bash-4.4-r0.core2_64
--------------

---
 ...e-builtins-uname-could-not-be-parsed-by-r.patch |  89 +++++++++++++
 .../0001-patch-to-obtain-pkgconfig-sanity.patch    |  28 +++++
 .../recipes-extended/bash/bash/CVE-2016-9401.patch |  50 --------
 ...roc-run-heredoc-run-execscript-run-test-f.patch | 137
++-------------------
 meta/recipes-extended/bash/bash/fix-run-intl.patch | 110
-----------------
 meta/recipes-extended/bash/bash/test-output.patch  |  20 ++-
 meta/recipes-extended/bash/bash_4.3.30.bb          |  72 -----------
 meta/recipes-extended/bash/bash_4.4.bb             |  66 ++++++++++
 8 files changed, 209 insertions(+), 363 deletions(-)
 create mode 100644 meta/recipes-extended/bash/bash/0001-The-loadable-
builtins-uname-could-not-be-parsed-by-r.patch
 create mode 100644 meta/recipes-extended/bash/bash/0001-patch-to-obtain-
pkgconfig-sanity.patch
 delete mode 100644 meta/recipes-extended/bash/bash/CVE-2016-9401.patch
 delete mode 100644 meta/recipes-extended/bash/bash/fix-run-intl.patch
 delete mode 100644 meta/recipes-extended/bash/bash_4.3.30.bb
 create mode 100644 meta/recipes-extended/bash/bash_4.4.bb
(quoted diff) +0 -0

builtins-uname-could-not-be-parsed-by-r.patch b/meta/recipes-extended/bash/bash/0001-The-loadable- builtins-uname-could-not-be-parsed-by-r.patch new file mode 100644
index 0000000..79d9e4e

meta/recipes-extended/bash/bash/0001-The-loadable- new file +0 -0

builtins-uname-could-not-be-parsed-by-r.patch

meta/recipes-extended/bash/bash/0001-The-loadable- new file +9 -0
@@ -0,0 +1,89 @@
+rename uname to workaround name confliction in rpmnsProbe
+
+The loadable builtins `uname' could not be parsed by
+rpmdeps correctly:
+--------------
+$recipe-sysroot-native/usr/lib/rpm/bin/rpmdeps-oecore --macros \
+recipe-sysroot-native/usr/lib/rpm/macros --define '_rpmfc_magic_path \
+recipe-sysroot-native/usr/share/misc/magic.mgc' --rpmpopt \
+recipe-sysroot-native/usr/lib/rpm/rpmpopt packages-split/bash/usr/lib64/

bash/uname
+
+|packages-split/bash/usr/lib64/bash/uname Provides: )(64bit +|packages-split/bash/usr/lib64/bash/uname Provides: elf(buildid) = 7186059a5a6b11ec38493b53072c3a62edf7e05c
+--------------

meta/recipes-extended/bash/bash/0001-The-loadable- new file +5 -0
+
+The incorrected "Provides: )(64bit" could not be parsed by rpmbuild.
+--------------
+| DEBUG: Executing shell function BUILDSPEC
+| error: line 56: Dependency ")(64bit" must begin with alpha-numeric, '_'

or '/': Provides: )(64bit
+| error: Package has no %description: bash-4.4-r0.core2_64
+--------------

meta/recipes-extended/bash/bash/0001-The-loadable- new file +5 -0
+
+The root cause is `uname' is incorrectly parsed by rpmnsProbe that string
+matches with "uname()(64bit)".
+
+The nsType of `uname' should be RPMNS_TYPE_NAMESPACE (like other

utilities),

meta/recipes-extended/bash/bash/0001-The-loadable- new file +23 -0
+rather than RPMNS_TYPE_UNAME which generates "Provides: )(64bit".
+
+We could not fix rpm-native without side effect. So rename to `uname-oe'
+and create a symlink `uname' could workaround the issue.
+
+Here is to load builtin uname in the target:
+----------------
+root@qemux86-64:# enable -f /usr/lib64/bash/uname uname
+root@qemux86-64:# help uname
+uname: uname [-amnrsv]
+    Display system information.
+
+    Display information about the system hardware and OS.
+----------------
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <[email protected]>
+---
+ examples/loadables/Makefile.in | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/examples/loadables/Makefile.in

b/examples/loadables/Makefile.in

meta/recipes-extended/bash/bash/0001-The-loadable- new file +15 -1
+index ec305cd..c7c96e2 100644
+--- a/examples/loadables/Makefile.in
++++ b/examples/loadables/Makefile.in
+@@ -102,7 +102,7 @@ INC = -I. -I.. -I$(topdir) -I$(topdir)/lib
-I$(topdir)/builtins -I${srcdir} \
+
+ ALLPROG = print truefalse sleep finfo logname basename dirname \
+         tty pathchk tee head mkdir rmdir printenv id whoami \
+-        uname sync push ln unlink realpath strftime mypid setpgid
++        uname-oe sync push ln unlink realpath strftime mypid setpgid
+ OTHERPROG = necho hello cat pushd
+
+ all:  $(SHOBJ_STATUS)
+@@ -178,7 +178,7 @@ id:        id.o
+ whoami:       whoami.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ whoami.o

$(SHOBJ_LIBS)

meta/recipes-extended/bash/bash/0001-The-loadable- new file +4 -0
+
+-uname:        uname.o
++uname-oe:     uname.o
+       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ uname.o

$(SHOBJ_LIBS)

meta/recipes-extended/bash/bash/0001-The-loadable- new file +5 -0
+
+ sync: sync.o
+@@ -244,13 +244,15 @@ install-supported:       all installdirs install-dev
+               echo $$prog ; \
+               $(INSTALL_PROGRAM) $(INSTALLMODE) $$prog

$(DESTDIR)$(loadablesdir)/$$prog ;\

meta/recipes-extended/bash/bash/0001-The-loadable- new file +7 -0
+       done
++      -( cd $(DESTDIR)$(loadablesdir) && ln -snf uname-oe uname)
++
+
+ uninstall-dev:
+       -$(RM) $(DESTDIR)$(loadablesdir)/Makefile.inc
+       -( cd $(BUILD_DIR) && ${MAKE} ${MFLAGS} DESTDIR="$(DESTDIR)"

uninstall-headers)

meta/recipes-extended/bash/bash/0001-The-loadable- new file +10 -0
+
+ uninstall-supported:  uninstall-dev
+-      -( cd $(DESTDIR)${loadablesdir} && $(RM) ${ALLPROG} )
++      -( cd $(DESTDIR)${loadablesdir} && $(RM) ${ALLPROG} uname)
+
+ install-unsupported:
+ uninstall-unsupported:
+--
+2.8.1
+
meta/recipes-extended/bash/bash/0001-patch-to-obtain- renamed from meta/recipes-extended/bash/bash/0001-patch-to-obtain-pkgconfig-sanity.patch +0 -0

pkgconfig-sanity.patch
new file mode 100644
index 0000000..9b5e4ec

meta/recipes-extended/bash/bash/0001-patch-to-obtain- new file +0 -0

pkgconfig-sanity.patch

meta/recipes-extended/bash/bash/0001-patch-to-obtain- new file +3 -0
@@ -0,0 +1,28 @@
+Subject: [PATCH] patch to obtain pkgconfig sanity
+
+Drop the paths from the pkgconfig file bash.pc.in which will cause

pkgconfig sanity error below:
+ERROR: QA Issue: bash.pc failed sanity test (tmpdir) in path /yocto/work001/fnst/zrq/community/poky/build/tmp/work/i586-poky-linux/bash
/4.4-r0/sysroot-destdir/usr/lib/pkgconfig [pkgconfig]

meta/recipes-extended/bash/bash/0001-patch-to-obtain- new file +24 -0
+
+Upstream-Status: Pending
+
+Signed-off-by: Zheng Ruoqin <[email protected]>
+---
+ support/bash.pc.in | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/support/bash.pc.in b/support/bash.pc.in
+index 6009659..871fa9f 100644
+--- a/support/bash.pc.in
++++ b/support/bash.pc.in
+@@ -12,8 +12,6 @@ LOCAL_CFLAGS = @LOCAL_CFLAGS@
+ LOCAL_DEFS = @LOCAL_DEFS@
+ CCFLAGS = ${LOCAL_DEFS} ${LOCAL_CFLAGS}
+
+-CC = @CC@
+-SHOBJ_CC = @SHOBJ_CC@
+ SHOBJ_CFLAGS = @SHOBJ_CFLAGS@
+ SHOBJ_LD = @SHOBJ_LD@
+ SHOBJ_LDFLAGS = @SHOBJ_LDFLAGS@
+--
+2.7.4
+
meta/recipes-extended/bash/bash/CVE-2016-9401.patch deleted +0 -13
deleted file mode 100644
index 28c9277..0000000
@@ -1,50 +0,0 @@
-From fa741771ed47b30547be63b5b5dbfb51977aca12 Mon Sep 17 00:00:00 2001
-From: Chet Ramey <[email protected]>
-Date: Fri, 20 Jan 2017 11:47:31 -0500
-Subject: [PATCH] Bash-4.4 patch 6
-
-Bug-Reference-URL:
-https://lists.gnu.org/archive/html/bug-bash/2016-11/msg00116.html
-
-Reference to upstream patch:
-https://ftp.gnu.org/pub/gnu/bash/bash-4.4-patches/bash44-006
-
-Bug-Description:
-Out-of-range negative offsets to popd can cause the shell to crash

attempting

meta/recipes-extended/bash/bash/CVE-2016-9401.patch deleted +0 -18
-to free an invalid memory block.
-
-Upstream-Status: Backport
-CVE: CVE-2016-9401
-Signed-off-by: Li Zhou <[email protected]>
----
- builtins/pushd.def | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/builtins/pushd.def b/builtins/pushd.def
-index 9c6548f..8a13bae 100644
---- a/builtins/pushd.def
-+++ b/builtins/pushd.def
-@@ -359,7 +359,7 @@ popd_builtin (list)
-       break;
-     }
-
--  if (which > directory_list_offset || (directory_list_offset == 0 &&

which == 0))
-+ if (which > directory_list_offset || (which < -directory_list_offset) || (directory_list_offset == 0 && which == 0))

meta/recipes-extended/bash/bash/CVE-2016-9401.patch deleted +0 -10
-     {
-       pushd_error (directory_list_offset, which_word ? which_word : "");
-       return (EXECUTION_FAILURE);
-@@ -381,6 +381,11 @@ popd_builtin (list)
-        remove that directory from the list and shift the remainder
-        of the list into place. */
-       i = (direction == '+') ? directory_list_offset - which : which;
-+      if (i < 0 || i > directory_list_offset)
-+      {
-+        pushd_error (directory_list_offset, which_word ? which_word :

"");
-+ return (EXECUTION_FAILURE);
-+ }

meta/recipes-extended/bash/bash/CVE-2016-9401.patch deleted +0 -6
-       free (pushd_directory_list[i]);
-       directory_list_offset--;
-
---
-1.9.1
-
(quoted diff) +0 -0

heredoc-run-execscript-run-test-f.patch b/meta/recipes-extended/bash/ bash/fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch index 7f099ae..d6beaff 100644
--- a/meta/recipes-extended/bash/bash/fix-run-coproc-run- heredoc-run-execscript-run-test-f.patch
+++ b/meta/recipes-extended/bash/bash/fix-run-coproc-run- heredoc-run-execscript-run-test-f.patch

meta/recipes-extended/bash/bash/fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch +4 -64
@@ -20,150 +20,35 @@ the test suite should not be run as root
 Upstream-Status: Pending
 
 Signed-off-by: Hongxu Jia <[email protected]>
+Signed-off-by: Zheng Ruoqin <[email protected]>
 ---
- tests/coproc.right   |  5 +----
- tests/coproc.tests   | 30 +++++++++++++++++++++++++-----
- tests/heredoc.right  |  5 ++---
- tests/heredoc3.sub   |  3 ++-
- tests/run-execscript |  3 ++-
- tests/run-test       |  3 ++-
- 6 files changed, 34 insertions(+), 15 deletions(-)
+ tests/run-execscript | 3 ++-
+ tests/run-test       | 3 ++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
 
-diff --git a/tests/coproc.right b/tests/coproc.right
-index 6d9deaa..94b001c 100644
---- a/tests/coproc.right
-+++ b/tests/coproc.right
-@@ -1,11 +1,8 @@
--84575
- 63 60
- a b c
--84577
- 63 60
- flop
--./coproc.tests: line 22: 84577 Terminated              coproc REFLECT {
 cat -; }
--84579
-+coproc.tests: REFLECT: status 143
- 63 60
- FOO
- 63 60
-diff --git a/tests/coproc.tests b/tests/coproc.tests
-index 8be3563..d347eb7 100644
---- a/tests/coproc.tests
-+++ b/tests/coproc.tests
-@@ -1,6 +1,13 @@
-+: ${TMPDIR:=/tmp}
-+TMPOUT=${TMPDIR}/coproc-wait-$BASHPID
-+
- coproc { echo a b c; sleep 2; }
-
--echo $COPROC_PID
-+case $COPROC_PID in
-+[0-9]*)       ;;
-+*)    echo COPROC_PID not integer ;;
-+esac
-+
- echo ${COPROC[@]}
-
- read LINE <&${COPROC[0]}
-@@ -10,7 +17,11 @@ wait $COPROC_PID
-
- coproc REFLECT { cat - ; }
-
--echo $REFLECT_PID
-+case $REFLECT_PID in
-+[0-9]*)       ;;
-+*)    echo REFLECT_PID not integer ;;
-+esac
-+
- echo ${REFLECT[@]}
-
- echo flop >&${REFLECT[1]}
-@@ -18,12 +29,21 @@ read LINE <&${REFLECT[0]}
-
- echo $LINE
-
--kill $REFLECT_PID
--wait $REFLECT_PID
-+{ sleep 1; kill $REFLECT_PID; } &
-+wait $REFLECT_PID >$TMPOUT 2>&1 || echo "coproc.tests: REFLECT: status

$?"
-+grep 'Terminated.*coproc.*REFLECT' < $TMPOUT >/dev/null 2>&1 || {
-+ echo "coproc.tests: wait for REFLECT failed" >&2
-+}
-+rm -f $TMPOUT
-+exec 2>&1

meta/recipes-extended/bash/bash/fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch +0 -28
-
- coproc xcase -n -u
-
--echo $COPROC_PID
-+case $COPROC_PID in
-+[0-9]*)       ;;
-+*)    echo COPROC_PID not integer ;;
-+esac
-+
- echo ${COPROC[@]}
-
- echo foo >&${COPROC[1]}
-diff --git a/tests/heredoc.right b/tests/heredoc.right
-index 6abaa1f..8df91c5 100644
---- a/tests/heredoc.right
-+++ b/tests/heredoc.right
-@@ -76,15 +76,14 @@ ENDEND
- end ENDEND
- hello
- end hello
--x star x
- end x*x
- helloEND
- end helloEND
- hello
- \END
- end hello<NL>\END
--./heredoc3.sub: line 74: warning: here-document at line 72 delimited by

end-of-file (wanted `EOF')
--./heredoc3.sub: line 75: syntax error: unexpected end of file -+./heredoc3.sub: line 75: warning: here-document at line 73 delimited by end-of-file (wanted `EOF')
-+./heredoc3.sub: line 76: syntax error: unexpected end of file
- comsub here-string
- ./heredoc.tests: line 105: warning: here-document at line 103 delimited by end-of-file (wanted `EOF')
- hi

meta/recipes-extended/bash/bash/fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch +1 -17
-diff --git a/tests/heredoc3.sub b/tests/heredoc3.sub
-index 73a111e..9d3d846 100644
---- a/tests/heredoc3.sub
-+++ b/tests/heredoc3.sub
-@@ -49,9 +49,10 @@ hello
-     END
- echo end hello
-
--cat <<x*x & touch 'x*x'
-+cat <<x*x >/dev/null & touch 'x*x'
- x star x
- x*x
-+wait $!
- echo end 'x*x'
- rm 'x*x'
-
 diff --git a/tests/run-execscript b/tests/run-execscript
-index f97ab21..0d00a1b 100644
+index de78644..f7b075f 100644
 --- a/tests/run-execscript
 +++ b/tests/run-execscript
 @@ -5,5 +5,6 @@ echo "warning: \`/tmp/bash-notthere' not being found or

\`/' being a directory"
echo "warning: produce diff output, please do not consider this a test
failure" >&2
echo "warning: if diff output differing only in the location of the
bash" >&2
echo "warning: binary appears, please do not consider this a test
failure" >&2
--${THIS_SH} ./execscript > /tmp/xx 2>&1
+-${THIS_SH} ./execscript > ${BASH_TSTOUT} 2>&1
+rm -f /tmp/xx
+su -c "${THIS_SH} ./execscript > /tmp/xx 2>&1" test
- diff /tmp/xx exec.right && rm -f /tmp/xx
+ diff ${BASH_TSTOUT} exec.right && rm -f ${BASH_TSTOUT} diff --git a/tests/run-test b/tests/run-test

meta/recipes-extended/bash/bash/fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch +4 -4
-index b2482c3..2e8f049 100644
+index d68791c..699855f 100644
 --- a/tests/run-test
 +++ b/tests/run-test
 @@ -1,4 +1,5 @@
  unset GROUPS UID 2>/dev/null
 
--${THIS_SH} ./test.tests >/tmp/xx 2>&1
+-${THIS_SH} ./test.tests >${BASH_TSTOUT} 2>&1
 +rm -f /tmp/xx
 +su -c "${THIS_SH} ./test.tests >/tmp/xx 2>&1" test
- diff /tmp/xx test.right && rm -f /tmp/xx
+ diff ${BASH_TSTOUT} test.right && rm -f ${BASH_TSTOUT}
 --
-1.9.1
+2.7.4
meta/recipes-extended/bash/bash/fix-run-intl.patch deleted +0 -37
deleted file mode 100644
index d4a3409..0000000
@@ -1,110 +0,0 @@
-From a00d3161fd7b6a698bdd2ed5f0ac5faac580ee2a Mon Sep 17 00:00:00 2001
-From: Dengke Du <[email protected]>
-Date: Wed, 3 Aug 2016 23:13:00 -0400
-Subject: [PATCH] fix run-intl failed
-
-1. Filter extra white space of intl.right
-
-   Due to the extra white space of intl.right, when the result of
-   sub-test unicode2.sub of intl.tests compared to it, the test
-   failed.
-
-   So we need to filter the extra white space of 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, the payload value is:
-
-       payload=$'\065\247\100\063\231\053\306\123\070\237\242\352\263'
-
-   It used quoted string expansion(escaped octal) to assign ASCII
-   characters to variables. So when the test run the following:
-
-       printf %q "$payload"
-
-   It produced:
-
-       $'5\247@3\231+\306S8\237\242\352\263'
-
-   When compared to the intl.right(contain the converted character), it

failed.

meta/recipes-extended/bash/bash/fix-run-intl.patch deleted +0 -73
-
-   Import parts of patch for intl.right from bash devel branch:
-
-       http://git.savannah.gnu.org/cgit/bash.git/log/?h=devel
-
-   commit is:
-
-       74b8cbb41398b4453d8ba04d0cdd1b25f9dcb9e3
-
-Upstream-Status: Backport
-
-Signed-off-by: Dengke Du <[email protected]>
----
- tests/intl.right | 30 +++++++++++++++---------------
- 1 file changed, 15 insertions(+), 15 deletions(-)
-
-diff --git a/tests/intl.right b/tests/intl.right
-index acf108a..1efdfbe 100644
---- a/tests/intl.right
-+++ b/tests/intl.right
-@@ -18,34 +18,34 @@ aéb
- 1.0000
- 1,0000
- Passed all 1378 Unicode tests
--0000000   303 277 012
-+0000000 303 277 012
- 0000003
--0000000   303 277 012
-+0000000 303 277 012
- 0000003
--0000000   303 277 012
-+0000000 303 277 012
- 0000003
--0000000   303 277 012
-+0000000 303 277 012
- 0000003
--0000000   357 277 277 012
-+0000000 357 277 277 012
- 0000004
--0000000   357 277 277 012
-+0000000 357 277 277 012
- 0000004
--0000000   012
-+0000000 012
- 0000001
--0000000   012
-+0000000 012
- 0000001
--0000000   012
-+0000000 012
- 0000001
--0000000   012
-+0000000 012
- 0000001
--0000000   303 277 012
-+0000000 303 277 012
- 0000003
--0000000   303 277 012
-+0000000 303 277 012
- 0000003
--0000000   303 277 012
-+0000000 303 277 012
- 0000003
--0000000   101 040 302 243 040 305 222 012
-+0000000 101 040 302 243 040 305 222 012
- 0000010
- ./unicode3.sub: line 2: 5§@3™+ÆS8Ÿ¢ê³: command not found
--5§@3™+ÆS8Ÿ¢ê³
-+$'5\247@3\231+\306S8\237\242\352\263'
- + : $'5\247@3\231+\306S8\237\242\352\263'
---
-2.8.1
-
meta/recipes-extended/bash/bash/test-output.patch +15 -5
index 2b09b7d..652ffb1 100644
@@ -2,15 +2,21 @@ Add FAIL/PASS output to test output.
 
 Signed-off-by: Björn Stenberg <[email protected]>
 Upstream-Status: Pending
+
+Signed-off-by: Zheng Ruoqin <[email protected]>
 ---
-diff -uNr a/tests/run-all b/tests/run-all
---- a/tests/run-all    1999-10-08 17:07:46.000000000 +0200
-+++ b/tests/run-all    2012-10-27 21:04:18.663331887 +0200
-@@ -22,7 +22,15 @@
+ tests/run-all | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/tests/run-all b/tests/run-all
+index 2882fe0..069dbbe 100644
+--- a/tests/run-all
++++ b/tests/run-all
+@@ -33,7 +33,16 @@ do
        case $x in
        $0|run-minimal|run-gprof)       ;;
        *.orig|*~) ;;
--      *)      echo $x ; sh $x ;;
+-      *)      echo $x ; sh $x ; rm -f ${BASH_TSTOUT} ;;
 +    *)  echo $x
 +         output=`sh $x`
 +         if [ -n "$output" ]; then
@@ -19,7 +25,11 @@ diff -uNr a/tests/run-all b/tests/run-all
 +         else
 +             echo "PASS: $x"
 +         fi
++         rm -f ${BASH_TSTOUT}
 +         ;;
        esac
  done
 
+--
+2.7.4
+
meta/recipes-extended/bash/bash_4.3.30.bb deleted +0 -8
deleted file mode 100644
index e398e87..0000000
@@ -1,72 +0,0 @@
-require bash.inc
-
-# GPLv2+ (< 4.0), GPLv3+ (>= 4.0)
-LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-SRC_URI = "${GNU_MIRROR}/bash/${BP}.tar.gz;name=tarball \
-           ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-031;apply=yes;striplevel=0;name=patch031

\
- ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-032;apply=yes;striplevel=0;name=patch032
\
- ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-033;apply=yes;striplevel=0;name=patch033
\
- ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-034;apply=yes;striplevel=0;name=patch034
\
- ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-035;apply=yes;striplevel=0;name=patch035
\
- ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-036;apply=yes;striplevel=0;name=patch036
\
- ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-037;apply=yes;striplevel=0;name=patch037
\
- ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-038;apply=yes;striplevel=0;name=patch038
\
- ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-039;apply=yes;striplevel=0;name=patch039
\
- ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-040;apply=yes;striplevel=0;name=patch040
\
- ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-041;apply=yes;striplevel=0;name=patch041
\
- ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-042;apply=yes;striplevel=0;name=patch042
\
- ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-043;apply=yes;striplevel=0;name=patch043
\
- ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-044;apply=yes;striplevel=0;name=patch044
\
- ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-045;apply=yes;striplevel=0;name=patch045
\
- ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-046;apply=yes;striplevel=0;name=patch046
\

meta/recipes-extended/bash/bash_4.3.30.bb deleted +0 -5
-           file://execute_cmd.patch;striplevel=0 \
-           file://mkbuiltins_have_stringize.patch \
-           file://build-tests.patch \
-           file://test-output.patch \
-           file://fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch

\

meta/recipes-extended/bash/bash_4.3.30.bb deleted +0 -9
-           file://run-ptest \
-           file://fix-run-builtins.patch \
-           file://0001-help-fix-printf-format-security-warning.patch \
-           file://fix-run-intl.patch \
-           file://CVE-2016-9401.patch \
-           "
-
-SRC_URI[tarball.md5sum] = "a27b3ee9be83bd3ba448c0ff52b28447"
-SRC_URI[tarball.sha256sum] = "317881019bbf2262fb814b7dd8e406

32d13c3608d2f237800a8828fbb8a640dd"

meta/recipes-extended/bash/bash_4.3.30.bb deleted +0 -3
-
-SRC_URI[patch031.md5sum] = "236df1ac1130a033ed0dbe2d2115f28f"
-SRC_URI[patch031.sha256sum] = "cd529f59dd0f2fdd49d619fe34691d

a6f0affedf87cc37cd460a9f3fe812a61d"

meta/recipes-extended/bash/bash_4.3.30.bb deleted +0 -2
-SRC_URI[patch032.md5sum] = "2360f7e79cfb28526f80021025ea5909"
-SRC_URI[patch032.sha256sum] = "889357d29a6005b2c3308ca5b6286c

b223b5e9c083219e5db3156282dd554f4a"

meta/recipes-extended/bash/bash_4.3.30.bb deleted +0 -2
-SRC_URI[patch033.md5sum] = "b551c4ee7b8713759e4143499d0bbd48"
-SRC_URI[patch033.sha256sum] = "fb2a7787a13fbe027a7335aca6eb3c

21cdbd813e9edc221274b6a9d8692eaa16"

meta/recipes-extended/bash/bash_4.3.30.bb deleted +0 -2
-SRC_URI[patch034.md5sum] = "c9a56fbe0348e05a886dff97f2872b74"
-SRC_URI[patch034.sha256sum] = "f1694f04f110defe1330a851cc2768

e7e57ddd2dfdb0e3e350ca0e3c214ff889"

meta/recipes-extended/bash/bash_4.3.30.bb deleted +0 -2
-SRC_URI[patch035.md5sum] = "e564e8ab44ed1ca3a4e315a9f6cabdc9"
-SRC_URI[patch035.sha256sum] = "370d85e51780036f2386dc18c5efe9

96eba8e652fc1973f0f4f2ab55a993c1e3"

meta/recipes-extended/bash/bash_4.3.30.bb deleted +0 -2
-SRC_URI[patch036.md5sum] = "b00ff66c41a7c0f06e191200981980b0"
-SRC_URI[patch036.sha256sum] = "ac5f82445b36efdb543dbfae64afed

63f586d7574b833e9aa9cd5170bc5fd27c"

meta/recipes-extended/bash/bash_4.3.30.bb deleted +0 -2
-SRC_URI[patch037.md5sum] = "be2a7b05f6ae560313f3c9d5f7127bda"
-SRC_URI[patch037.sha256sum] = "33f170dd7400ab3418d749c55c6391

b1d161ef2de7aced1873451b3a3fca5813"

meta/recipes-extended/bash/bash_4.3.30.bb deleted +0 -2
-SRC_URI[patch038.md5sum] = "61e0522830b24fbe8c0d1b010f132470"
-SRC_URI[patch038.sha256sum] = "adbeaa500ca7a82535f0e88d673661

963f8a5fcdc7ad63445e68bf5b49786367"

meta/recipes-extended/bash/bash_4.3.30.bb deleted +0 -2
-SRC_URI[patch039.md5sum] = "a4775487abe958536751c8ce53cdf6f9"
-SRC_URI[patch039.sha256sum] = "ab94dced2215541097691f60c3eb32

3cc28ef2549463e6a5334bbcc1e61e74ec"

meta/recipes-extended/bash/bash_4.3.30.bb deleted +0 -2
-SRC_URI[patch040.md5sum] = "80d3587c58854e226055ef099ffeb535"
-SRC_URI[patch040.sha256sum] = "84bb396b9262992ca5424feab6ed3e

c39f193ef5c76dfe4a62b551bd8dd9d76b"

meta/recipes-extended/bash/bash_4.3.30.bb deleted +0 -2
-SRC_URI[patch041.md5sum] = "20bf63eef7cb441c0b1cc49ef3191d03"
-SRC_URI[patch041.sha256sum] = "4ec432966e4198524a7e0cd685fe22

2e96043769c9613e66742ac475db132c1a"

meta/recipes-extended/bash/bash_4.3.30.bb deleted +0 -2
-SRC_URI[patch042.md5sum] = "70790646ae61e207c995e44931390e50"
-SRC_URI[patch042.sha256sum] = "ac219322db2791da87a496ee6e8e55

44846494bdaaea2626270c2f73c1044919"

meta/recipes-extended/bash/bash_4.3.30.bb deleted +0 -2
-SRC_URI[patch043.md5sum] = "855a46955cb251534e80b4732b748e37"
-SRC_URI[patch043.sha256sum] = "47a8a3c005b46e25821f4d8f5ccb04

c1d653b1c829cb40568d553dc44f7a6180"

meta/recipes-extended/bash/bash_4.3.30.bb deleted +0 -2
-SRC_URI[patch044.md5sum] = "29623d3282fcbb37e1158136509b5bb8"
-SRC_URI[patch044.sha256sum] = "9338820630bf67373b44d8ea68409f

65162ea7a47b9b29ace06a0aed12567f99"

meta/recipes-extended/bash/bash_4.3.30.bb deleted +0 -2
-SRC_URI[patch045.md5sum] = "4473244ca5abfd4b018ea26dc73e7412"
-SRC_URI[patch045.sha256sum] = "ba6ec3978e9eaa1eb3fabdaf3cc6fd

f8c4606ac1c599faaeb4e2d69864150023"

meta/recipes-extended/bash/bash_4.3.30.bb deleted +0 -2
-SRC_URI[patch046.md5sum] = "7e5fb09991c077076b86e0e057798913"
-SRC_URI[patch046.sha256sum] = "b3b456a6b690cd293353f17e22d92a

202b3c8bce587ae5f2667c20c9ab6f688f"

meta/recipes-extended/bash/bash_4.3.30.bb deleted +0 -2
-
-BBCLASSEXTEND = "nativesdk"
meta/recipes-extended/bash/bash_4.4.bb new file +8 -0
new file mode 100644
index 0000000..798bfdb
@@ -0,0 +1,66 @@
+require bash.inc
+
+# GPLv2+ (< 4.0), GPLv3+ (>= 4.0)
+LICENSE = "GPLv3+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+SRC_URI = "${GNU_MIRROR}/bash/${BP}.tar.gz;name=tarball \
+           ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-001;apply=yes;striplevel=0;name=patch001

\
+ ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-002;apply=yes;striplevel=0;name=patch002
\
+ ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-003;apply=yes;striplevel=0;name=patch003
\
+ ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-004;apply=yes;striplevel=0;name=patch004
\
+ ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-005;apply=yes;striplevel=0;name=patch005
\
+ ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-006;apply=yes;striplevel=0;name=patch006
\
+ ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-007;apply=yes;striplevel=0;name=patch007
\
+ ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-008;apply=yes;striplevel=0;name=patch008
\
+ ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-009;apply=yes;striplevel=0;name=patch009
\
+ ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-010;apply=yes;striplevel=0;name=patch010
\
+ ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-011;apply=yes;striplevel=0;name=patch011
\
+ ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-012;apply=yes;striplevel=0;name=patch012
\

meta/recipes-extended/bash/bash_4.4.bb new file +5 -0
+           file://execute_cmd.patch;striplevel=0 \
+           file://mkbuiltins_have_stringize.patch \
+           file://build-tests.patch \
+           file://test-output.patch  \
+           file://fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch

\

meta/recipes-extended/bash/bash_4.4.bb new file +5 -0
+           file://run-ptest \
+           file://fix-run-builtins.patch \
+           file://0001-help-fix-printf-format-security-warning.patch \
+           file://0001-patch-to-obtain-pkgconfig-sanity.patch \
+           file://0001-The-loadable-builtins-uname-could-not-be-parsed-by-r.patch

\

meta/recipes-extended/bash/bash_4.4.bb new file +4 -0
+           "
+
+SRC_URI[tarball.md5sum] = "148888a7c95ac23705559b6f477dfe25"
+SRC_URI[tarball.sha256sum] = "d86b3392c1202e8ff5a423b302e628

4db7f8f435ea9f39b5b1b20fd3ac36dfcb"

meta/recipes-extended/bash/bash_4.4.bb new file +3 -0
+
+SRC_URI[patch001.md5sum] = "817d01a6c0af6f79308a8b7b649e53d8"
+SRC_URI[patch001.sha256sum] = "3e28d91531752df9a8cb167ad07cc5

42abaf944de9353fe8c6a535c9f1f17f0f"

meta/recipes-extended/bash/bash_4.4.bb new file +2 -0
+SRC_URI[patch002.md5sum] = "765e14cff12c7284009772e8e24f2fe0"
+SRC_URI[patch002.sha256sum] = "7020a0183e17a7233e665b979c78c1

84ea369cfaf3e8b4b11f5547ecb7c13c53"

meta/recipes-extended/bash/bash_4.4.bb new file +2 -0
+SRC_URI[patch003.md5sum] = "49e7da93bf07f510a2eb6bb43ac3e5a2"
+SRC_URI[patch003.sha256sum] = "51df5a9192fdefe0ddca4bdf290932

f74be03ffd0503a3d112e4199905e718b2"

meta/recipes-extended/bash/bash_4.4.bb new file +2 -0
+SRC_URI[patch004.md5sum] = "4557d674ab5831a5fa98052ab19edaf4"
+SRC_URI[patch004.sha256sum] = "ad080a30a4ac6c1273373617f29628

cc320a35c8cd06913894794293dc52c8b3"

meta/recipes-extended/bash/bash_4.4.bb new file +2 -0
+SRC_URI[patch005.md5sum] = "cce96dd77cdd1d293beec10848f6cbb5"
+SRC_URI[patch005.sha256sum] = "221e4b725b770ad0bb6924df3f8d04

f89eeca4558f6e4c777dfa93e967090529"

meta/recipes-extended/bash/bash_4.4.bb new file +2 -0
+SRC_URI[patch006.md5sum] = "d3379f8d8abce5c6ee338f931ad008d5"
+SRC_URI[patch006.sha256sum] = "6a8e2e2a6180d0f1ce39dcd651622f

b6d2fd05db7c459f64ae42d667f1e344b8"

meta/recipes-extended/bash/bash_4.4.bb new file +2 -0
+SRC_URI[patch007.md5sum] = "ec38c76ca439ca7f9c178e9baede84fc"
+SRC_URI[patch007.sha256sum] = "de1ccc07b7bfc9e25243ad854f3bbb

5d3ebf9155b0477df16aaf00a7b0d5edaf"

meta/recipes-extended/bash/bash_4.4.bb new file +2 -0
+SRC_URI[patch008.md5sum] = "e0ba18c1e3b94f905da9b5bf9d38b58b"
+SRC_URI[patch008.sha256sum] = "86144700465933636d7b945e89b77d

f95d3620034725be161ca0ca5a42e239ba"

meta/recipes-extended/bash/bash_4.4.bb new file +2 -0
+SRC_URI[patch009.md5sum] = "e952d4f44e612048930c559d90eb99bb"
+SRC_URI[patch009.sha256sum] = "0b6bdd1a18a0d20e330cc3bc71e048

864e4a13652e29dc0ebf3918bea729343c"

meta/recipes-extended/bash/bash_4.4.bb new file +2 -0
+SRC_URI[patch010.md5sum] = "57b5b35955d68f9a09dbef6b86d2c782"
+SRC_URI[patch010.sha256sum] = "8465c6f2c56afe559402265b39d9e9

4368954930f9aa7f3dfa6d36dd66868e06"

meta/recipes-extended/bash/bash_4.4.bb new file +2 -0
+SRC_URI[patch011.md5sum] = "cc896e1fa696b93ded568e557e2392d5"
+SRC_URI[patch011.sha256sum] = "dd56426ef7d7295e1107c0b3d06c19

2eb9298f4023c202ca2ba6266c613d170d"

meta/recipes-extended/bash/bash_4.4.bb new file +2 -0
+SRC_URI[patch012.md5sum] = "fa47fbfa56fb7e9e5367f19a9df5fc9e"
+SRC_URI[patch012.sha256sum] = "fac271d2bf6372c9903e3b353cb9ed

a044d7fe36b5aab52f21f3f21cd6a2063e"

meta/recipes-extended/bash/bash_4.4.bb new file +8 -1
+
+BBCLASSEXTEND = "nativesdk"
+
+PACKAGE_BEFORE_PN += "${PN}-loadable"
+RDEPENDS_${PN}-loadable += "${PN}"
+FILES_${PN}-dev += "${libdir}/bash/Makefile.inc"
+FILES_${PN}-loadable += "${libdir}/bash/*"
+
--

2.9.3

author
#3 lore raw
Quoted 2 lines · Ross

The loadable package is empty when I do a build, do these have some floating build dependency?

Analysis the examples/loadables/Makefile.in, only if SHOBJ_STATUS="unsupported", the do_install will not install loadable binaries.
------------------
[skip]
241 install-supported: all installdirs install-dev
242 @echo installing example loadable builtins in $(DESTDIR)${loadablesdir}
243 @for prog in ${ALLPROG}; do \
244 echo $$prog ; \
245 $(INSTALL_PROGRAM) $(INSTALLMODE) $$prog $(DESTDIR)$(loadablesdir)/$$prog ;\
246 done
247 -( cd $(DESTDIR)$(loadablesdir) && ln -snf uname-oe uname)
[snip]
260 install: install-$(SHOBJ_STATUS)
[skip]
-------------------

I could not reproduce the issue, could you tarball the workdir of bash and send to me? I also need the local.conf of the build.

Let me see what has happened,

//Hongxu

Quoted 921 lines

Ross

On 22 February 2017 at 02:25, Hongxu Jia <[email protected] <mailto:[email protected]>> wrote:

    From: Zheng Ruoqin <[email protected]
    <mailto:[email protected]>>

    1) Upgrade bash from 4.3.30 to 4.4
    2) Delete 1 patche below, since they are integrated upstream.
       fix-run-intl.patch
    3) Modify 2 patches below to make it compatible with new version
       fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch
       test-output.patch
    4) Add 1 patche below to solve pkgconfig sanity error
       0001-patch-to-obtain-pkgconfig-sanity.patch

    Signed-off-by: Zheng Ruoqin <[email protected]
    <mailto:[email protected]>>

    5) Delete CVE-2016-9401.patch which backported from 4.4

    6) Update patches from upstream to 4.4

    7) Add ${PN}-loadable for loadable builtins which is new features
    in Bash 4.4
       --------------
       a.  `make install' now installs the example loadable builtins
    and a set of
           bash headers to use when developing new loadable builtins.

       b.  `enable -f' now attempts to call functions named
    BUILTIN_builtin_load when
           loading BUILTIN, and BUILTIN_builtin_unload when deleting
    it.  This allows
           loadable builtins to run initialization and cleanup code.

       c.  There is a new BASH_LOADABLES_PATH variable containing a
    list of directories
           where the `enable -f' command looks for shared objects
    containing loadable
           builtins.
       --------------

    8) Fix loadable builtins `uname' could not be parsed by rpmdeps
    correctly:
       --------------
       $ recipe-sysroot-native/usr/lib/rpm/bin/rpmdeps-oecore --macros \
       recipe-sysroot-native/usr/lib/rpm/macros --define
    '_rpmfc_magic_path \
       recipe-sysroot-native/usr/share/misc/magic.mgc' --rpmpopt \
       recipe-sysroot-native/usr/lib/rpm/rpmpopt
    packages-split/bash/usr/lib64/bash/uname

       |packages-split/bash/usr/lib64/bash/uname Provides: )(64bit
       |packages-split/bash/usr/lib64/bash/uname Provides:
    elf(buildid) = 7186059a5a6b11ec38493b53072c3a62edf7e05c
       --------------

       The incorrected "Provides: )(64bit" could not be parsed by
    rpmbuild.
       --------------
       | DEBUG: Executing shell function BUILDSPEC
       | error: line 56: Dependency ")(64bit" must begin with
    alpha-numeric, '_' or '/': Provides: )(64bit
       | error: Package has no %description: bash-4.4-r0.core2_64
       --------------

    Signed-off-by: Hongxu Jia <[email protected]
    <mailto:[email protected]>>
    ---
     ...e-builtins-uname-could-not-be-parsed-by-r.patch |  89
    +++++++++++++
     .../0001-patch-to-obtain-pkgconfig-sanity.patch |  28 +++++
     .../recipes-extended/bash/bash/CVE-2016-9401.patch |  50 --------
     ...roc-run-heredoc-run-execscript-run-test-f.patch | 137
    ++-------------------
     meta/recipes-extended/bash/bash/fix-run-intl.patch | 110
    -----------------
     meta/recipes-extended/bash/bash/test-output.patch |  20 ++-
     meta/recipes-extended/bash/bash_4.3.30.bb
    <http://bash_4.3.30.bb>          |  72 -----------
     meta/recipes-extended/bash/bash_4.4.bb <http://bash_4.4.bb>     
           |  66 ++++++++++
     8 files changed, 209 insertions(+), 363 deletions(-)
     create mode 100644
    meta/recipes-extended/bash/bash/0001-The-loadable-builtins-uname-could-not-be-parsed-by-r.patch
     create mode 100644
    meta/recipes-extended/bash/bash/0001-patch-to-obtain-pkgconfig-sanity.patch
     delete mode 100644
    meta/recipes-extended/bash/bash/CVE-2016-9401.patch
     delete mode 100644 meta/recipes-extended/bash/bash/fix-run-intl.patch
     delete mode 100644 meta/recipes-extended/bash/bash_4.3.30.bb
    <http://bash_4.3.30.bb>
     create mode 100644 meta/recipes-extended/bash/bash_4.4.bb
    <http://bash_4.4.bb>

    diff --git
    a/meta/recipes-extended/bash/bash/0001-The-loadable-builtins-uname-could-not-be-parsed-by-r.patch
    b/meta/recipes-extended/bash/bash/0001-The-loadable-builtins-uname-could-not-be-parsed-by-r.patch
    new file mode 100644
    index 0000000..79d9e4e
    --- /dev/null
    +++
    b/meta/recipes-extended/bash/bash/0001-The-loadable-builtins-uname-could-not-be-parsed-by-r.patch
    @@ -0,0 +1,89 @@
    +rename uname to workaround name confliction in rpmnsProbe
    +
    +The loadable builtins `uname' could not be parsed by
    +rpmdeps correctly:
    +--------------
    +$recipe-sysroot-native/usr/lib/rpm/bin/rpmdeps-oecore --macros \
    +recipe-sysroot-native/usr/lib/rpm/macros --define
    '_rpmfc_magic_path \
    +recipe-sysroot-native/usr/share/misc/magic.mgc' --rpmpopt \
    +recipe-sysroot-native/usr/lib/rpm/rpmpopt
    packages-split/bash/usr/lib64/bash/uname
    +
    +|packages-split/bash/usr/lib64/bash/uname Provides: )(64bit
    +|packages-split/bash/usr/lib64/bash/uname Provides: elf(buildid)
    = 7186059a5a6b11ec38493b53072c3a62edf7e05c
    +--------------
    +
    +The incorrected "Provides: )(64bit" could not be parsed by rpmbuild.
    +--------------
    +| DEBUG: Executing shell function BUILDSPEC
    +| error: line 56: Dependency ")(64bit" must begin with
    alpha-numeric, '_' or '/': Provides: )(64bit
    +| error: Package has no %description: bash-4.4-r0.core2_64
    +--------------
    +
    +The root cause is `uname' is incorrectly parsed by rpmnsProbe
    that string
    +matches with "uname()(64bit)".
    +
    +The nsType of `uname' should be RPMNS_TYPE_NAMESPACE (like other
    utilities),
    +rather than RPMNS_TYPE_UNAME which generates "Provides: )(64bit".
    +
    +We could not fix rpm-native without side effect. So rename to
    `uname-oe'
    +and create a symlink `uname' could workaround the issue.
    +
    +Here is to load builtin uname in the target:
    +----------------
    +root@qemux86-64:# enable -f /usr/lib64/bash/uname uname
    +root@qemux86-64:# help uname
    +uname: uname [-amnrsv]
    +    Display system information.
    +
    +    Display information about the system hardware and OS.
    +----------------
    +
    +Upstream-Status: Inappropriate [oe specific]
    +
    +Signed-off-by: Hongxu Jia <[email protected]
    <mailto:[email protected]>>
    +---
    + examples/loadables/Makefile.in | 8 +++++---
    + 1 file changed, 5 insertions(+), 3 deletions(-)
    +
    +diff --git a/examples/loadables/Makefile.in
    b/examples/loadables/Makefile.in
    +index ec305cd..c7c96e2 100644
    +--- a/examples/loadables/Makefile.in
    ++++ b/examples/loadables/Makefile.in
    +@@ -102,7 +102,7 @@ INC = -I. -I.. -I$(topdir) -I$(topdir)/lib
    -I$(topdir)/builtins -I${srcdir} \
    +
    + ALLPROG = print truefalse sleep finfo logname basename dirname \
    +         tty pathchk tee head mkdir rmdir printenv id whoami \
    +-        uname sync push ln unlink realpath strftime mypid setpgid
    ++        uname-oe sync push ln unlink realpath strftime mypid setpgid
    + OTHERPROG = necho hello cat pushd
    +
    + all:  $(SHOBJ_STATUS)
    +@@ -178,7 +178,7 @@ id:        id.o
    + whoami:       whoami.o
    +       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@
    whoami.o $(SHOBJ_LIBS)
    +
    +-uname:        uname.o
    ++uname-oe:     uname.o
    +       $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@
    uname.o $(SHOBJ_LIBS)
    +
    + sync: sync.o
    +@@ -244,13 +244,15 @@ install-supported:       all installdirs
    install-dev
    +               echo $$prog ; \
    +               $(INSTALL_PROGRAM) $(INSTALLMODE) $$prog
    $(DESTDIR)$(loadablesdir)/$$prog ;\
    +       done
    ++      -( cd $(DESTDIR)$(loadablesdir) && ln -snf uname-oe uname)
    ++
    +
    + uninstall-dev:
    +       -$(RM) $(DESTDIR)$(loadablesdir)/Makefile.inc
    +       -( cd $(BUILD_DIR) && ${MAKE} ${MFLAGS}
    DESTDIR="$(DESTDIR)" uninstall-headers)
    +
    + uninstall-supported:  uninstall-dev
    +-      -( cd $(DESTDIR)${loadablesdir} && $(RM) ${ALLPROG} )
    ++      -( cd $(DESTDIR)${loadablesdir} && $(RM) ${ALLPROG} uname)
    +
    + install-unsupported:
    + uninstall-unsupported:
    +--
    +2.8.1
    +
    diff --git
    a/meta/recipes-extended/bash/bash/0001-patch-to-obtain-pkgconfig-sanity.patch
    b/meta/recipes-extended/bash/bash/0001-patch-to-obtain-pkgconfig-sanity.patch
    new file mode 100644
    index 0000000..9b5e4ec
    --- /dev/null
    +++
    b/meta/recipes-extended/bash/bash/0001-patch-to-obtain-pkgconfig-sanity.patch
    @@ -0,0 +1,28 @@
    +Subject: [PATCH] patch to obtain pkgconfig sanity
    +
    +Drop the paths from the pkgconfig file bash.pc.in
    <http://bash.pc.in> which will cause pkgconfig sanity error below:
    +ERROR: QA Issue: bash.pc failed sanity test (tmpdir) in path
    /yocto/work001/fnst/zrq/community/poky/build/tmp/work/i586-poky-linux/bash
      /4.4-r0/sysroot-destdir/usr/lib/pkgconfig [pkgconfig]
    +
    +Upstream-Status: Pending
    +
    +Signed-off-by: Zheng Ruoqin <[email protected]
    <mailto:[email protected]>>
    +---
    + support/bash.pc.in <http://bash.pc.in> | 2 --
    + 1 file changed, 2 deletions(-)
    +
    +diff --git a/support/bash.pc.in <http://bash.pc.in>
    b/support/bash.pc.in <http://bash.pc.in>
    +index 6009659..871fa9f 100644
    +--- a/support/bash.pc.in <http://bash.pc.in>
    ++++ b/support/bash.pc.in <http://bash.pc.in>
    +@@ -12,8 +12,6 @@ LOCAL_CFLAGS = @LOCAL_CFLAGS@
    + LOCAL_DEFS = @LOCAL_DEFS@
    + CCFLAGS = ${LOCAL_DEFS} ${LOCAL_CFLAGS}
    +
    +-CC = @CC@
    +-SHOBJ_CC = @SHOBJ_CC@
    + SHOBJ_CFLAGS = @SHOBJ_CFLAGS@
    + SHOBJ_LD = @SHOBJ_LD@
    + SHOBJ_LDFLAGS = @SHOBJ_LDFLAGS@
    +--
    +2.7.4
    +
    diff --git a/meta/recipes-extended/bash/bash/CVE-2016-9401.patch
    b/meta/recipes-extended/bash/bash/CVE-2016-9401.patch
    deleted file mode 100644
    index 28c9277..0000000
    --- a/meta/recipes-extended/bash/bash/CVE-2016-9401.patch
    +++ /dev/null
    @@ -1,50 +0,0 @@
    -From fa741771ed47b30547be63b5b5dbfb51977aca12 Mon Sep 17 00:00:00
    2001
    -From: Chet Ramey <[email protected] <mailto:[email protected]>>
    -Date: Fri, 20 Jan 2017 11:47:31 -0500
    -Subject: [PATCH] Bash-4.4 patch 6
    -
    -Bug-Reference-URL:
    -https://lists.gnu.org/archive/html/bug-bash/2016-11/msg00116.html
    <https://lists.gnu.org/archive/html/bug-bash/2016-11/msg00116.html>
    -
    -Reference to upstream patch:
    -https://ftp.gnu.org/pub/gnu/bash/bash-4.4-patches/bash44-006
    <https://ftp.gnu.org/pub/gnu/bash/bash-4.4-patches/bash44-006>
    -
    -Bug-Description:
    -Out-of-range negative offsets to popd can cause the shell to
    crash attempting
    -to free an invalid memory block.
    -
    -Upstream-Status: Backport
    -CVE: CVE-2016-9401
    -Signed-off-by: Li Zhou <[email protected]
    <mailto:[email protected]>>
    ----
    - builtins/pushd.def | 7 ++++++-
    - 1 file changed, 6 insertions(+), 1 deletion(-)
    -
    -diff --git a/builtins/pushd.def b/builtins/pushd.def
    -index 9c6548f..8a13bae 100644
    ---- a/builtins/pushd.def
    -+++ b/builtins/pushd.def
    -@@ -359,7 +359,7 @@ popd_builtin (list)
    -       break;
    -     }
    -
    --  if (which > directory_list_offset || (directory_list_offset ==
    0 && which == 0))
    -+  if (which > directory_list_offset || (which <
    -directory_list_offset) || (directory_list_offset == 0 && which == 0))
    -     {
    -       pushd_error (directory_list_offset, which_word ?
    which_word : "");
    -       return (EXECUTION_FAILURE);
    -@@ -381,6 +381,11 @@ popd_builtin (list)
    -        remove that directory from the list and shift the remainder
    -        of the list into place. */
    -       i = (direction == '+') ? directory_list_offset - which :
    which;
    -+      if (i < 0 || i > directory_list_offset)
    -+      {
    -+        pushd_error (directory_list_offset, which_word ?
    which_word : "");
    -+        return (EXECUTION_FAILURE);
    -+      }
    -       free (pushd_directory_list[i]);
    -       directory_list_offset--;
    -
    ---
    -1.9.1
    -
    diff --git
    a/meta/recipes-extended/bash/bash/fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch
    b/meta/recipes-extended/bash/bash/fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch
    index 7f099ae..d6beaff 100644
    ---
    a/meta/recipes-extended/bash/bash/fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch
    +++
    b/meta/recipes-extended/bash/bash/fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch
    @@ -20,150 +20,35 @@ the test suite should not be run as root
     Upstream-Status: Pending

     Signed-off-by: Hongxu Jia <[email protected]
    <mailto:[email protected]>>
    +Signed-off-by: Zheng Ruoqin <[email protected]
    <mailto:[email protected]>>
     ---
    - tests/coproc.right   |  5 +----
    - tests/coproc.tests   | 30 +++++++++++++++++++++++++-----
    - tests/heredoc.right  |  5 ++---
    - tests/heredoc3.sub   |  3 ++-
    - tests/run-execscript |  3 ++-
    - tests/run-test       |  3 ++-
    - 6 files changed, 34 insertions(+), 15 deletions(-)
    + tests/run-execscript | 3 ++-
    + tests/run-test       | 3 ++-
    + 2 files changed, 4 insertions(+), 2 deletions(-)

    -diff --git a/tests/coproc.right b/tests/coproc.right
    -index 6d9deaa..94b001c 100644
    ---- a/tests/coproc.right
    -+++ b/tests/coproc.right
    -@@ -1,11 +1,8 @@
    --84575
    - 63 60
    - a b c
    --84577
    - 63 60
    - flop
    --./coproc.tests: line 22: 84577 Terminated coproc REFLECT { cat -; }
    --84579
    -+coproc.tests: REFLECT: status 143
    - 63 60
    - FOO
    - 63 60
    -diff --git a/tests/coproc.tests b/tests/coproc.tests
    -index 8be3563..d347eb7 100644
    ---- a/tests/coproc.tests
    -+++ b/tests/coproc.tests
    -@@ -1,6 +1,13 @@
    -+: ${TMPDIR:=/tmp}
    -+TMPOUT=${TMPDIR}/coproc-wait-$BASHPID
    -+
    - coproc { echo a b c; sleep 2; }
    -
    --echo $COPROC_PID
    -+case $COPROC_PID in
    -+[0-9]*)       ;;
    -+*)    echo COPROC_PID not integer ;;
    -+esac
    -+
    - echo ${COPROC[@]}
    -
    - read LINE <&${COPROC[0]}
    -@@ -10,7 +17,11 @@ wait $COPROC_PID
    -
    - coproc REFLECT { cat - ; }
    -
    --echo $REFLECT_PID
    -+case $REFLECT_PID in
    -+[0-9]*)       ;;
    -+*)    echo REFLECT_PID not integer ;;
    -+esac
    -+
    - echo ${REFLECT[@]}
    -
    - echo flop >&${REFLECT[1]}
    -@@ -18,12 +29,21 @@ read LINE <&${REFLECT[0]}
    -
    - echo $LINE
    -
    --kill $REFLECT_PID
    --wait $REFLECT_PID
    -+{ sleep 1; kill $REFLECT_PID; } &
    -+wait $REFLECT_PID >$TMPOUT 2>&1 || echo "coproc.tests: REFLECT:
    status $?"
    -+grep 'Terminated.*coproc.*REFLECT' < $TMPOUT >/dev/null 2>&1 || {
    -+      echo "coproc.tests: wait for REFLECT failed" >&2
    -+}
    -+rm -f $TMPOUT
    -+exec 2>&1
    -
    - coproc xcase -n -u
    -
    --echo $COPROC_PID
    -+case $COPROC_PID in
    -+[0-9]*)       ;;
    -+*)    echo COPROC_PID not integer ;;
    -+esac
    -+
    - echo ${COPROC[@]}
    -
    - echo foo >&${COPROC[1]}
    -diff --git a/tests/heredoc.right b/tests/heredoc.right
    -index 6abaa1f..8df91c5 100644
    ---- a/tests/heredoc.right
    -+++ b/tests/heredoc.right
    -@@ -76,15 +76,14 @@ ENDEND
    - end ENDEND
    - hello
    - end hello
    --x star x
    - end x*x
    - helloEND
    - end helloEND
    - hello
    - \END
    - end hello<NL>\END
    --./heredoc3.sub: line 74: warning: here-document at line 72
    delimited by end-of-file (wanted `EOF')
    --./heredoc3.sub: line 75: syntax error: unexpected end of file
    -+./heredoc3.sub: line 75: warning: here-document at line 73
    delimited by end-of-file (wanted `EOF')
    -+./heredoc3.sub: line 76: syntax error: unexpected end of file
    - comsub here-string
    - ./heredoc.tests: line 105: warning: here-document at line 103
    delimited by end-of-file (wanted `EOF')
    - hi
    -diff --git a/tests/heredoc3.sub b/tests/heredoc3.sub
    -index 73a111e..9d3d846 100644
    ---- a/tests/heredoc3.sub
    -+++ b/tests/heredoc3.sub
    -@@ -49,9 +49,10 @@ hello
    -     END
    - echo end hello
    -
    --cat <<x*x & touch 'x*x'
    -+cat <<x*x >/dev/null & touch 'x*x'
    - x star x
    - x*x
    -+wait $!
    - echo end 'x*x'
    - rm 'x*x'
    -
     diff --git a/tests/run-execscript b/tests/run-execscript
    -index f97ab21..0d00a1b 100644
    +index de78644..f7b075f 100644
     --- a/tests/run-execscript
     +++ b/tests/run-execscript
     @@ -5,5 +5,6 @@ echo "warning: \`/tmp/bash-notthere' not being
    found or \`/' being a directory"
      echo "warning: produce diff output, please do not consider this
    a test failure" >&2
      echo "warning: if diff output differing only in the location of
    the bash" >&2
      echo "warning: binary appears, please do not consider this a
    test failure" >&2
    --${THIS_SH} ./execscript > /tmp/xx 2>&1
    +-${THIS_SH} ./execscript > ${BASH_TSTOUT} 2>&1
     +rm -f /tmp/xx
     +su -c "${THIS_SH} ./execscript > /tmp/xx 2>&1" test
    - diff /tmp/xx exec.right && rm -f /tmp/xx
    + diff ${BASH_TSTOUT} exec.right && rm -f ${BASH_TSTOUT}
     diff --git a/tests/run-test b/tests/run-test
    -index b2482c3..2e8f049 100644
    +index d68791c..699855f 100644
     --- a/tests/run-test
     +++ b/tests/run-test
     @@ -1,4 +1,5 @@
      unset GROUPS UID 2>/dev/null

    --${THIS_SH} ./test.tests >/tmp/xx 2>&1
    +-${THIS_SH} ./test.tests >${BASH_TSTOUT} 2>&1
     +rm -f /tmp/xx
     +su -c "${THIS_SH} ./test.tests >/tmp/xx 2>&1" test
    - diff /tmp/xx test.right && rm -f /tmp/xx
    + diff ${BASH_TSTOUT} test.right && rm -f ${BASH_TSTOUT}
     --
    -1.9.1
    +2.7.4

    diff --git a/meta/recipes-extended/bash/bash/fix-run-intl.patch
    b/meta/recipes-extended/bash/bash/fix-run-intl.patch
    deleted file mode 100644
    index d4a3409..0000000
    --- a/meta/recipes-extended/bash/bash/fix-run-intl.patch
    +++ /dev/null
    @@ -1,110 +0,0 @@
    -From a00d3161fd7b6a698bdd2ed5f0ac5faac580ee2a Mon Sep 17 00:00:00
    2001
    -From: Dengke Du <[email protected]
    <mailto:[email protected]>>
    -Date: Wed, 3 Aug 2016 23:13:00 -0400
    -Subject: [PATCH] fix run-intl failed
    -
    -1. Filter extra white space of intl.right
    -
    -   Due to the extra white space of intl.right, when the result of
    -   sub-test unicode2.sub of intl.tests compared to it, the test
    -   failed.
    -
    -   So we need to filter the extra white space of intl.right.
    -
    -   Import this patch for intl.right from bash devel branch:
    -
    - http://git.savannah.gnu.org/cgit/bash.git/log/?h=devel
    <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, the payload value is:
    -
    -     
     payload=$'\065\247\100\063\231\053\306\123\070\237\242\352\263'
    -
    -   It used quoted string expansion(escaped octal) to assign ASCII
    -   characters to variables. So when the test run the following:
    -
    -       printf %q "$payload"
    -
    -   It produced:
    -
    -       $'5\247@3\231+\306S8\237\242\352\263'
    -
    -   When compared to the intl.right(contain the converted
    character), it failed.
    -
    -   Import parts of patch for intl.right from bash devel branch:
    -
    - http://git.savannah.gnu.org/cgit/bash.git/log/?h=devel
    <http://git.savannah.gnu.org/cgit/bash.git/log/?h=devel>
    -
    -   commit is:
    -
    -       74b8cbb41398b4453d8ba04d0cdd1b25f9dcb9e3
    -
    -Upstream-Status: Backport
    -
    -Signed-off-by: Dengke Du <[email protected]
    <mailto:[email protected]>>
    ----
    - tests/intl.right | 30 +++++++++++++++---------------
    - 1 file changed, 15 insertions(+), 15 deletions(-)
    -
    -diff --git a/tests/intl.right b/tests/intl.right
    -index acf108a..1efdfbe 100644
    ---- a/tests/intl.right
    -+++ b/tests/intl.right
    -@@ -18,34 +18,34 @@ aéb
    - 1.0000
    - 1,0000
    - Passed all 1378 Unicode tests
    --0000000   303 277 012
    -+0000000 303 277 012
    - 0000003
    --0000000   303 277 012
    -+0000000 303 277 012
    - 0000003
    --0000000   303 277 012
    -+0000000 303 277 012
    - 0000003
    --0000000   303 277 012
    -+0000000 303 277 012
    - 0000003
    --0000000   357 277 277 012
    -+0000000 357 277 277 012
    - 0000004
    --0000000   357 277 277 012
    -+0000000 357 277 277 012
    - 0000004
    --0000000   012
    -+0000000 012
    - 0000001
    --0000000   012
    -+0000000 012
    - 0000001
    --0000000   012
    -+0000000 012
    - 0000001
    --0000000   012
    -+0000000 012
    - 0000001
    --0000000   303 277 012
    -+0000000 303 277 012
    - 0000003
    --0000000   303 277 012
    -+0000000 303 277 012
    - 0000003
    --0000000   303 277 012
    -+0000000 303 277 012
    - 0000003
    --0000000   101 040 302 243 040 305 222 012
    -+0000000 101 040 302 243 040 305 222 012
    - 0000010
    - ./unicode3.sub: line 2: 5§@3™+ÆS8Ÿ¢ê³: command not found
    --5§@3™+ÆS8Ÿ¢ê³
    -+$'5\247@3\231+\306S8\237\242\352\263'
    - + : $'5\247@3\231+\306S8\237\242\352\263'
    ---
    -2.8.1
    -
    diff --git a/meta/recipes-extended/bash/bash/test-output.patch
    b/meta/recipes-extended/bash/bash/test-output.patch
    index 2b09b7d..652ffb1 100644
    --- a/meta/recipes-extended/bash/bash/test-output.patch
    +++ b/meta/recipes-extended/bash/bash/test-output.patch
    @@ -2,15 +2,21 @@ Add FAIL/PASS output to test output.

     Signed-off-by: Björn Stenberg <[email protected] <mailto:[email protected]>>
     Upstream-Status: Pending
    +
    +Signed-off-by: Zheng Ruoqin <[email protected]
    <mailto:[email protected]>>
     ---
    -diff -uNr a/tests/run-all b/tests/run-all
    ---- a/tests/run-all    1999-10-08 17:07:46.000000000 +0200
    -+++ b/tests/run-all    2012-10-27 21:04:18.663331887
    <tel:18.663331887> +0200
    -@@ -22,7 +22,15 @@
    + tests/run-all | 11 ++++++++++-
    + 1 file changed, 10 insertions(+), 1 deletion(-)
    +
    +diff --git a/tests/run-all b/tests/run-all
    +index 2882fe0..069dbbe 100644
    +--- a/tests/run-all
    ++++ b/tests/run-all
    +@@ -33,7 +33,16 @@ do
            case $x in
            $0|run-minimal|run-gprof)       ;;
            *.orig|*~) ;;
    --      *)      echo $x ; sh $x ;;
    +-      *)      echo $x ; sh $x ; rm -f ${BASH_TSTOUT} ;;
     +    *)  echo $x
     +         output=`sh $x`
     +         if [ -n "$output" ]; then
    @@ -19,7 +25,11 @@ diff -uNr a/tests/run-all b/tests/run-all
     +         else
     +             echo "PASS: $x"
     +         fi
    ++         rm -f ${BASH_TSTOUT}
     +         ;;
            esac
      done

    +--
    +2.7.4
    +
    diff --git a/meta/recipes-extended/bash/bash_4.3.30.bb
    <http://bash_4.3.30.bb>
    b/meta/recipes-extended/bash/bash_4.3.30.bb <http://bash_4.3.30.bb>
    deleted file mode 100644
    index e398e87..0000000
    --- a/meta/recipes-extended/bash/bash_4.3.30.bb
    <http://bash_4.3.30.bb>
    +++ /dev/null
    @@ -1,72 +0,0 @@
    -require bash.inc
    -
    -# GPLv2+ (< 4.0), GPLv3+ (>= 4.0)
    -LICENSE = "GPLv3+"
    -LIC_FILES_CHKSUM =
    "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
    -
    -SRC_URI = "${GNU_MIRROR}/bash/${BP}.tar.gz;name=tarball \
    -         
     ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-031;apply=yes;striplevel=0;name=patch031
    \
    -         
     ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-032;apply=yes;striplevel=0;name=patch032
    \
    -         
     ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-033;apply=yes;striplevel=0;name=patch033
    \
    -         
     ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-034;apply=yes;striplevel=0;name=patch034
    \
    -         
     ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-035;apply=yes;striplevel=0;name=patch035
    \
    -         
     ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-036;apply=yes;striplevel=0;name=patch036
    \
    -         
     ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-037;apply=yes;striplevel=0;name=patch037
    \
    -         
     ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-038;apply=yes;striplevel=0;name=patch038
    \
    -         
     ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-039;apply=yes;striplevel=0;name=patch039
    \
    -         
     ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-040;apply=yes;striplevel=0;name=patch040
    \
    -         
     ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-041;apply=yes;striplevel=0;name=patch041
    \
    -         
     ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-042;apply=yes;striplevel=0;name=patch042
    \
    -         
     ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-043;apply=yes;striplevel=0;name=patch043
    \
    -         
     ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-044;apply=yes;striplevel=0;name=patch044
    \
    -         
     ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-045;apply=yes;striplevel=0;name=patch045
    \
    -         
     ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-046;apply=yes;striplevel=0;name=patch046
    \
    -           file://execute_cmd.patch;striplevel=0 \
    -           file://mkbuiltins_have_stringize.patch \
    -           file://build-tests.patch \
    -           file://test-output.patch \
    -         
     file://fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch \
    -           file://run-ptest \
    -           file://fix-run-builtins.patch \
    -         
     file://0001-help-fix-printf-format-security-warning.patch \
    -           file://fix-run-intl.patch \
    -           file://CVE-2016-9401.patch \
    -           "
    -
    -SRC_URI[tarball.md5sum] = "a27b3ee9be83bd3ba448c0ff52b28447"
    -SRC_URI[tarball.sha256sum] =
    "317881019bbf2262fb814b7dd8e40632d13c3608d2f237800a8828fbb8a640dd"
    -
    -SRC_URI[patch031.md5sum] = "236df1ac1130a033ed0dbe2d2115f28f"
    -SRC_URI[patch031.sha256sum] =
    "cd529f59dd0f2fdd49d619fe34691da6f0affedf87cc37cd460a9f3fe812a61d"
    -SRC_URI[patch032.md5sum] = "2360f7e79cfb28526f80021025ea5909"
    -SRC_URI[patch032.sha256sum] =
    "889357d29a6005b2c3308ca5b6286cb223b5e9c083219e5db3156282dd554f4a"
    -SRC_URI[patch033.md5sum] = "b551c4ee7b8713759e4143499d0bbd48"
    -SRC_URI[patch033.sha256sum] =
    "fb2a7787a13fbe027a7335aca6eb3c21cdbd813e9edc221274b6a9d8692eaa16"
    -SRC_URI[patch034.md5sum] = "c9a56fbe0348e05a886dff97f2872b74"
    -SRC_URI[patch034.sha256sum] =
    "f1694f04f110defe1330a851cc2768e7e57ddd2dfdb0e3e350ca0e3c214ff889"
    -SRC_URI[patch035.md5sum] = "e564e8ab44ed1ca3a4e315a9f6cabdc9"
    -SRC_URI[patch035.sha256sum] =
    "370d85e51780036f2386dc18c5efe996eba8e652fc1973f0f4f2ab55a993c1e3"
    -SRC_URI[patch036.md5sum] = "b00ff66c41a7c0f06e191200981980b0"
    -SRC_URI[patch036.sha256sum] =
    "ac5f82445b36efdb543dbfae64afed63f586d7574b833e9aa9cd5170bc5fd27c"
    -SRC_URI[patch037.md5sum] = "be2a7b05f6ae560313f3c9d5f7127bda"
    -SRC_URI[patch037.sha256sum] =
    "33f170dd7400ab3418d749c55c6391b1d161ef2de7aced1873451b3a3fca5813"
    -SRC_URI[patch038.md5sum] = "61e0522830b24fbe8c0d1b010f132470"
    -SRC_URI[patch038.sha256sum] =
    "adbeaa500ca7a82535f0e88d673661963f8a5fcdc7ad63445e68bf5b49786367"
    -SRC_URI[patch039.md5sum] = "a4775487abe958536751c8ce53cdf6f9"
    -SRC_URI[patch039.sha256sum] =
    "ab94dced2215541097691f60c3eb323cc28ef2549463e6a5334bbcc1e61e74ec"
    -SRC_URI[patch040.md5sum] = "80d3587c58854e226055ef099ffeb535"
    -SRC_URI[patch040.sha256sum] =
    "84bb396b9262992ca5424feab6ed3ec39f193ef5c76dfe4a62b551bd8dd9d76b"
    -SRC_URI[patch041.md5sum] = "20bf63eef7cb441c0b1cc49ef3191d03"
    -SRC_URI[patch041.sha256sum] =
    "4ec432966e4198524a7e0cd685fe222e96043769c9613e66742ac475db132c1a"
    -SRC_URI[patch042.md5sum] = "70790646ae61e207c995e44931390e50"
    -SRC_URI[patch042.sha256sum] =
    "ac219322db2791da87a496ee6e8e5544846494bdaaea2626270c2f73c1044919"
    -SRC_URI[patch043.md5sum] = "855a46955cb251534e80b4732b748e37"
    -SRC_URI[patch043.sha256sum] =
    "47a8a3c005b46e25821f4d8f5ccb04c1d653b1c829cb40568d553dc44f7a6180"
    -SRC_URI[patch044.md5sum] = "29623d3282fcbb37e1158136509b5bb8"
    -SRC_URI[patch044.sha256sum] =
    "9338820630bf67373b44d8ea68409f65162ea7a47b9b29ace06a0aed12567f99"
    -SRC_URI[patch045.md5sum] = "4473244ca5abfd4b018ea26dc73e7412"
    -SRC_URI[patch045.sha256sum] =
    "ba6ec3978e9eaa1eb3fabdaf3cc6fdf8c4606ac1c599faaeb4e2d69864150023"
    -SRC_URI[patch046.md5sum] = "7e5fb09991c077076b86e0e057798913"
    -SRC_URI[patch046.sha256sum] =
    "b3b456a6b690cd293353f17e22d92a202b3c8bce587ae5f2667c20c9ab6f688f"
    -
    -BBCLASSEXTEND = "nativesdk"
    diff --git a/meta/recipes-extended/bash/bash_4.4.bb
    <http://bash_4.4.bb> b/meta/recipes-extended/bash/bash_4.4.bb
    <http://bash_4.4.bb>
    new file mode 100644
    index 0000000..798bfdb
    --- /dev/null
    +++ b/meta/recipes-extended/bash/bash_4.4.bb <http://bash_4.4.bb>
    @@ -0,0 +1,66 @@
    +require bash.inc
    +
    +# GPLv2+ (< 4.0), GPLv3+ (>= 4.0)
    +LICENSE = "GPLv3+"
    +LIC_FILES_CHKSUM =
    "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
    +
    +SRC_URI = "${GNU_MIRROR}/bash/${BP}.tar.gz;name=tarball \
    +         
     ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-001;apply=yes;striplevel=0;name=patch001
    \
    +         
     ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-002;apply=yes;striplevel=0;name=patch002
    \
    +         
     ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-003;apply=yes;striplevel=0;name=patch003
    \
    +         
     ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-004;apply=yes;striplevel=0;name=patch004
    \
    +         
     ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-005;apply=yes;striplevel=0;name=patch005
    \
    +         
     ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-006;apply=yes;striplevel=0;name=patch006
    \
    +         
     ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-007;apply=yes;striplevel=0;name=patch007
    \
    +         
     ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-008;apply=yes;striplevel=0;name=patch008
    \
    +         
     ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-009;apply=yes;striplevel=0;name=patch009
    \
    +         
     ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-010;apply=yes;striplevel=0;name=patch010
    \
    +         
     ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-011;apply=yes;striplevel=0;name=patch011
    \
    +         
     ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-012;apply=yes;striplevel=0;name=patch012
    \
    +           file://execute_cmd.patch;striplevel=0 \
    +           file://mkbuiltins_have_stringize.patch \
    +           file://build-tests.patch \
    +           file://test-output.patch  \
    +         
     file://fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch \
    +           file://run-ptest \
    +           file://fix-run-builtins.patch \
    +         
     file://0001-help-fix-printf-format-security-warning.patch \
    +           file://0001-patch-to-obtain-pkgconfig-sanity.patch \
    +         
     file://0001-The-loadable-builtins-uname-could-not-be-parsed-by-r.patch
    \
    +           "
    +
    +SRC_URI[tarball.md5sum] = "148888a7c95ac23705559b6f477dfe25"
    +SRC_URI[tarball.sha256sum] =
    "d86b3392c1202e8ff5a423b302e6284db7f8f435ea9f39b5b1b20fd3ac36dfcb"
    +
    +SRC_URI[patch001.md5sum] = "817d01a6c0af6f79308a8b7b649e53d8"
    +SRC_URI[patch001.sha256sum] =
    "3e28d91531752df9a8cb167ad07cc542abaf944de9353fe8c6a535c9f1f17f0f"
    +SRC_URI[patch002.md5sum] = "765e14cff12c7284009772e8e24f2fe0"
    +SRC_URI[patch002.sha256sum] =
    "7020a0183e17a7233e665b979c78c184ea369cfaf3e8b4b11f5547ecb7c13c53"
    +SRC_URI[patch003.md5sum] = "49e7da93bf07f510a2eb6bb43ac3e5a2"
    +SRC_URI[patch003.sha256sum] =
    "51df5a9192fdefe0ddca4bdf290932f74be03ffd0503a3d112e4199905e718b2"
    +SRC_URI[patch004.md5sum] = "4557d674ab5831a5fa98052ab19edaf4"
    +SRC_URI[patch004.sha256sum] =
    "ad080a30a4ac6c1273373617f29628cc320a35c8cd06913894794293dc52c8b3"
    +SRC_URI[patch005.md5sum] = "cce96dd77cdd1d293beec10848f6cbb5"
    +SRC_URI[patch005.sha256sum] =
    "221e4b725b770ad0bb6924df3f8d04f89eeca4558f6e4c777dfa93e967090529"
    +SRC_URI[patch006.md5sum] = "d3379f8d8abce5c6ee338f931ad008d5"
    +SRC_URI[patch006.sha256sum] =
    "6a8e2e2a6180d0f1ce39dcd651622fb6d2fd05db7c459f64ae42d667f1e344b8"
    +SRC_URI[patch007.md5sum] = "ec38c76ca439ca7f9c178e9baede84fc"
    +SRC_URI[patch007.sha256sum] =
    "de1ccc07b7bfc9e25243ad854f3bbb5d3ebf9155b0477df16aaf00a7b0d5edaf"
    +SRC_URI[patch008.md5sum] = "e0ba18c1e3b94f905da9b5bf9d38b58b"
    +SRC_URI[patch008.sha256sum] =
    "86144700465933636d7b945e89b77df95d3620034725be161ca0ca5a42e239ba"
    +SRC_URI[patch009.md5sum] = "e952d4f44e612048930c559d90eb99bb"
    +SRC_URI[patch009.sha256sum] =
    "0b6bdd1a18a0d20e330cc3bc71e048864e4a13652e29dc0ebf3918bea729343c"
    +SRC_URI[patch010.md5sum] = "57b5b35955d68f9a09dbef6b86d2c782"
    +SRC_URI[patch010.sha256sum] =
    "8465c6f2c56afe559402265b39d9e94368954930f9aa7f3dfa6d36dd66868e06"
    +SRC_URI[patch011.md5sum] = "cc896e1fa696b93ded568e557e2392d5"
    +SRC_URI[patch011.sha256sum] =
    "dd56426ef7d7295e1107c0b3d06c192eb9298f4023c202ca2ba6266c613d170d"
    +SRC_URI[patch012.md5sum] = "fa47fbfa56fb7e9e5367f19a9df5fc9e"
    +SRC_URI[patch012.sha256sum] =
    "fac271d2bf6372c9903e3b353cb9eda044d7fe36b5aab52f21f3f21cd6a2063e"
    +
    +BBCLASSEXTEND = "nativesdk"
    +
    +PACKAGE_BEFORE_PN += "${PN}-loadable"
    +RDEPENDS_${PN}-loadable += "${PN}"
    +FILES_${PN}-dev += "${libdir}/bash/Makefile.inc"
    +FILES_${PN}-loadable += "${libdir}/bash/*"
    +
    --
    2.9.3