upgrade bash and ncurses
v3 cover upgrade bash and ncurses
Changed in V3:
- Fix nativesdk-bash compile failure
- Fix ncurses configure failure in beaglebone
//Hongxu
The following changes since commit e758547db9048d4aa1c1415d6af8072f519fae24:
nss: Fix nss-native so the checksum doesn't change with BUILD_ARCH (2017-02-09 10:52:03 +0000)
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
Hongxu Jia (3):
bash: update patches for 4.4
ncurses: 6.0+20160625 -> 6.0+20161126
ncurses: fix beaglebone do_configure failure
Zheng Ruoqin (1):
bash: 4.3.30 -> 4.4
...ses_6.0+20160625.bb => ncurses_6.0+20161126.bb} | 4 +-
...e-builtins-uname-could-not-be-parsed-by-r.patch | 89 +++++++++++++
.../0001-patch-to-obtain-pkgconfig-sanity.patch | 28 +++++
...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 | 71 -----------
meta/recipes-extended/bash/bash_4.4.bb | 66 ++++++++++
8 files changed, 212 insertions(+), 313 deletions(-)
rename meta/recipes-core/ncurses/{ncurses_6.0+20160625.bb => ncurses_6.0+20161126.bb} (77%)
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/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.bbSignature · 1 line
2.8.1
PATCH v3 1/4 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
--- .../0001-patch-to-obtain-pkgconfig-sanity.patch | 28 +++++ ...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 | 71 ----------- meta/recipes-extended/bash/bash_4.4.bb | 38 ++++++ 6 files changed, 92 insertions(+), 312 deletions(-) create mode 100644 meta/recipes-extended/bash/bash/0001-patch-to-obtain-pkgconfig-sanity.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-patch-to-obtain-pkgconfig-sanity.patch new file +28 -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] + +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/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
@@ -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 -71
71 lines not on this page · raw message
meta/recipes-extended/bash/bash_4.4.bb new file +38 -0
@@ -0,0 +1,38 @@ +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 \ + 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 \ + " + +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" + +BBCLASSEXTEND = "nativesdk"
Signature · 1 line
2.8.1
PATCH v3 2/4 bash: update patches for 4.4
In reply to Hongxu Jia- Update patches from upstream to 4.4
- 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.
--------------
- 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
--------------
--- ...e-builtins-uname-could-not-be-parsed-by-r.patch | 89 ++++++++++++++++++++++ meta/recipes-extended/bash/bash_4.4.bb | 28 +++++++ 2 files changed, 117 insertions(+) create mode 100644 meta/recipes-extended/bash/bash/0001-The-loadable-builtins-uname-could-not-be-parsed-by-r.patch
meta/recipes-extended/bash/bash/0001-The-loadable-builtins-uname-could-not-be-parsed-by-r.patch new file +89 -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 +-------------- + +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_4.4.bb +28 -0
@@ -10,6 +10,13 @@ SRC_URI = "${GNU_MIRROR}/bash/${BP}.tar.gz;name=tarball \ ${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 \
@@ -19,6 +26,7 @@ SRC_URI = "${GNU_MIRROR}/bash/${BP}.tar.gz;name=tarball \ 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"
@@ -34,5 +42,25 @@ 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/*" +
Signature · 1 line
2.8.1
PATCH v3 3/4 ncurses: 6.0+20160625 -> 6.0+20161126
In reply to Hongxu Jia---
.../ncurses/{ncurses_6.0+20160625.bb => ncurses_6.0+20161126.bb} | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
rename meta/recipes-core/ncurses/{ncurses_6.0+20160625.bb => ncurses_6.0+20161126.bb} (84%)meta/recipes-core/ncurses/ncurses_6.0+20161126.bb renamed from meta/recipes-core/ncurses/ncurses_6.0+20160625.bb +1 -1
@@ -4,7 +4,7 @@ SRC_URI += "file://tic-hang.patch \ file://config.cache \ " # commit id corresponds to the revision in package version -SRCREV = "63dd558cb8e888d6fab5f00bbf7842736a2356b9" +SRCREV = "3db0bd19cb50e3d9b4f2cf15b7a102fe11302068" S = "${WORKDIR}/git" EXTRA_OECONF += "--with-abi-version=5" UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+(\+\d+)*)"
Signature · 1 line
2.8.1
PATCH v3 4/4 ncurses: fix beaglebone do_configure failure
In reply to Hongxu JiaIn configure, the option ${HOST_CC_ARCH} was removed from ${CC}:
---------------
|configure:2188: WARNING: your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options
|configure:2284: testing resulting CC: 'arm-poky-linux-gnueabi-gcc --sysroot=tmp/work/cortexa8hf-neon-poky-linux-gnueabi/ncurses/ 6.0+20161126-r0/recipe-sysroot'
---------------
While arm compiling, option "-mfloat-abi=hard" in ${HOST_CC_ARCH} lost that caused the failure:
---------------
|tmp/work/cortexa8hf-neon-poky-linux-gnueabi/ncurses/6.0+20161126-r0/ recipe-sysroot/usr/include/gnu/stubs.h:7:29: fatal error:gnu/stubs-soft.h: No such file or directory
| # include <gnu/stubs-soft.h>
---------------
Append ${HOST_CC_ARCH} to ${CFLAGS} could fix the issue.
--- meta/recipes-core/ncurses/ncurses_6.0+20161126.bb | 2 ++ 1 file changed, 2 insertions(+)
meta/recipes-core/ncurses/ncurses_6.0+20161126.bb +2 -0
@@ -8,3 +8,5 @@ SRCREV = "3db0bd19cb50e3d9b4f2cf15b7a102fe11302068" S = "${WORKDIR}/git" EXTRA_OECONF += "--with-abi-version=5" UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+(\+\d+)*)" + +CFLAGS += "${HOST_CC_ARCH}"
Signature · 1 line
2.8.1
Re: [PATCH 4/4] ncurses: fix beaglebone do_configure failure
Quoted 1 line · Hongxu Jia
Append ${HOST_CC_ARCH} to ${CFLAGS} could fix the issue.
I think, the correct fix would be
a) bother the ncurses author to remove the stupid CC sanity check, or
b) create a wrapper around CC like in
Enrico
Re: [PATCH 4/4] ncurses: fix beaglebone do_configure failure
On 14 February 2017 at 10:48, Enrico Scholz <[email protected]
Quoted 6 lines
wrote:
a) bother the ncurses author to remove the stupid CC sanity check, or
b) create a wrapper around CC like in
c) fix the function that detects the "broken" use of CC as it should be extracting the flags and moving them to CFLAGS. Clearly this isn't working somewhere.
Ross
Re: [PATCH 4/4] ncurses: fix beaglebone do_configure failure
Quoted 4 lines · Ross
c) fix the function that detects the "broken" use of CC as it should be extracting the flags and moving them to CFLAGS. Clearly this isn't working somewhere.
So upstream's sed made the assumption that there was only one argument being passed via CC.
I've a local working fix that basically does this:
- cf_flags=echo "$CC" | sed -e 's/^.*[ ]\(-[^ ]\)/\1/'
+ cf_flags=echo "$CC" | cut -f2- -d' '
(use cut to remove the first word, assuming everything after the first word of CC is an option).
Hongxu, would you mind if I squash this into your upgrade so we don't end up with a revision where ncurses doesn't build?
Ross
Re: [PATCH 4/4] ncurses: fix beaglebone do_configure failure
Quoted 3 lines · Ross
Quoted 3 lines
c) fix the function that detects the "broken" use of CC as it should be extracting the flags and moving them to CFLAGS. Clearly this isn't working somewhere.
Upstream tries to do it correctly for nearly a year and fails everytime at some cornercases.
Quoted 4 lines
I've a local working fix that basically does this:
- cf_flags=
echo "$CC" | sed -e 's/^.*[ ]\(-[^ ]\)/\1/'
+ cf_flags=echo "$CC" | cut -f2- -d' '
This will break for
CC='ccache gcc -m32'
Perhaps there are cases (not for OE), where gcc contains a space... How to deal with this?
Enrico
Re: [PATCH 4/4] ncurses: fix beaglebone do_configure failure
Quoted 11 lines · Enrico Scholz
Quoted 3 lines · Ross
Quoted 3 lines
c) fix the function that detects the "broken" use of CC as it should be extracting the flags and moving them to CFLAGS. Clearly this isn't working somewhere.
Upstream tries to do it correctly for nearly a year and fails everytime at some cornercases.
Quoted 2 lines
I've a local working fix that basically does this:
Quoted 8 lines
Quoted 2 lines
- cf_flags=
echo "$CC" | sed -e 's/^.*[ ]\(-[^ ]\)/\1/'
+ cf_flags=echo "$CC" | cut -f2- -d' 'This will break for
CC='ccache gcc -m32'Perhaps there are cases (not for OE), where gcc contains a space... How to deal with this?
How about directly remove the cf_flags assigning? Because our OE have correctly assigned it in bitbake.conf.
//Hongxu
Quoted 3 lines
Enrico
Re: [PATCH 4/4] ncurses: fix beaglebone do_configure failure
Quoted 3 lines · Hongxu Jia
How about directly remove the
cf_flagsassigning? Because our OE have correctly assigned it in bitbake.conf.
I'm a big fan of fixing upstream so we don't have to carry a patch forever. Their rationale I don't understand, but the implementation is clearly broken.
Ross
Re: [PATCH 4/4] ncurses: fix beaglebone do_configure failure
Quoted 4 lines · Ross
I'm a big fan of fixing upstream so we don't have to carry a patch forever. Their rationale I don't understand, but the implementation is clearly broken.
Here's my current fix:
+ cf_flags=`echo "$CC" | awk 'BEGIN{ORS=" ";RS=" "} /^-.+/ {print
$1}'`
+ CC=echo "$CC " | awk 'BEGIN{ORS=" ";RS=" "} /^[^-].+/ {print $1}'
Works for ccache, and doesn't involve a long/horrible sed. I've also sent it upstream.
Ross