Message ID | 1487700646-25006-1-git-send-email-ross.burton@intel.com |
---|---|
State | New |
Headers | show |
It is fine to me //Hongxu On 2017年02月22日 02:10, Ross Burton wrote: > From: Hongxu Jia <hongxu.jia@windriver.com> > > Add a patch to fix the CC/CFLAGS mangling that broke builds. [RB] > > Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> > Signed-off-by: Ross Burton <ross.burton@intel.com> > --- > .../recipes-core/ncurses/files/fix-cflags-mangle.patch | 18 ++++++++++++++++++ > ...ncurses_6.0+20160625.bb => ncurses_6.0+20161126.bb} | 3 ++- > 2 files changed, 20 insertions(+), 1 deletion(-) > create mode 100644 meta/recipes-core/ncurses/files/fix-cflags-mangle.patch > rename meta/recipes-core/ncurses/{ncurses_6.0+20160625.bb => ncurses_6.0+20161126.bb} (73%) > > diff --git a/meta/recipes-core/ncurses/files/fix-cflags-mangle.patch b/meta/recipes-core/ncurses/files/fix-cflags-mangle.patch > new file mode 100644 > index 0000000..e9447c5 > --- /dev/null > +++ b/meta/recipes-core/ncurses/files/fix-cflags-mangle.patch > @@ -0,0 +1,18 @@ > +configure has a piece of logic to detect users "abusing" CC to hold compiler > +flags (which we do). It also has logic to "correct" this by moving the flags > +from CC to CFLAGS, but the sed only handles a single argument in CC. > + > +Replace the sed with awk to filter out all words that start with a hyphen. > + > +Upstream-Status: Pending > +Signed-off-by: Ross Burton <ross.burton@intel.com> > + > +diff --git a/configure b/configure > +index 7f31208..1a29cfc 100755 > +--- a/configure > ++++ b/configure > +@@ -2191,2 +2191,2 @@ echo "$as_me: WARNING: your environment misuses the CC variable to hold CFLAGS/C > +- cf_flags=`echo "$CC" | sed -e 's/^.*[ ]\(-[^ ]\)/\1/'` > +- CC=`echo "$CC " | sed -e 's/[ ]-[^ ].*$//' -e 's/[ ]*$//'` > ++ cf_flags=`echo "$CC" | awk 'BEGIN{ORS=" ";RS=" "} /^-.+/ {print $1}'` > ++ CC=`echo "$CC " | awk 'BEGIN{ORS=" ";RS=" "} /^[^-].+/ {print $1}'` > diff --git a/meta/recipes-core/ncurses/ncurses_6.0+20160625.bb b/meta/recipes-core/ncurses/ncurses_6.0+20161126.bb > similarity index 73% > rename from meta/recipes-core/ncurses/ncurses_6.0+20160625.bb > rename to meta/recipes-core/ncurses/ncurses_6.0+20161126.bb > index 6514613..e95741f 100644 > --- a/meta/recipes-core/ncurses/ncurses_6.0+20160625.bb > +++ b/meta/recipes-core/ncurses/ncurses_6.0+20161126.bb > @@ -1,10 +1,11 @@ > require ncurses.inc > > SRC_URI += "file://tic-hang.patch \ > + file://fix-cflags-mangle.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+)*)"
diff --git a/meta/recipes-core/ncurses/files/fix-cflags-mangle.patch b/meta/recipes-core/ncurses/files/fix-cflags-mangle.patch new file mode 100644 index 0000000..e9447c5 --- /dev/null +++ b/meta/recipes-core/ncurses/files/fix-cflags-mangle.patch @@ -0,0 +1,18 @@ +configure has a piece of logic to detect users "abusing" CC to hold compiler +flags (which we do). It also has logic to "correct" this by moving the flags +from CC to CFLAGS, but the sed only handles a single argument in CC. + +Replace the sed with awk to filter out all words that start with a hyphen. + +Upstream-Status: Pending +Signed-off-by: Ross Burton <ross.burton@intel.com> + +diff --git a/configure b/configure +index 7f31208..1a29cfc 100755 +--- a/configure ++++ b/configure +@@ -2191,2 +2191,2 @@ echo "$as_me: WARNING: your environment misuses the CC variable to hold CFLAGS/C +- cf_flags=`echo "$CC" | sed -e 's/^.*[ ]\(-[^ ]\)/\1/'` +- CC=`echo "$CC " | sed -e 's/[ ]-[^ ].*$//' -e 's/[ ]*$//'` ++ cf_flags=`echo "$CC" | awk 'BEGIN{ORS=" ";RS=" "} /^-.+/ {print $1}'` ++ CC=`echo "$CC " | awk 'BEGIN{ORS=" ";RS=" "} /^[^-].+/ {print $1}'` diff --git a/meta/recipes-core/ncurses/ncurses_6.0+20160625.bb b/meta/recipes-core/ncurses/ncurses_6.0+20161126.bb similarity index 73% rename from meta/recipes-core/ncurses/ncurses_6.0+20160625.bb rename to meta/recipes-core/ncurses/ncurses_6.0+20161126.bb index 6514613..e95741f 100644 --- a/meta/recipes-core/ncurses/ncurses_6.0+20160625.bb +++ b/meta/recipes-core/ncurses/ncurses_6.0+20161126.bb @@ -1,10 +1,11 @@ require ncurses.inc SRC_URI += "file://tic-hang.patch \ + file://fix-cflags-mangle.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+)*)"