All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/1] ncurses: drop the compatible option
@ 2016-01-20  9:30 Dengke Du
  2016-01-20  9:30 ` [PATCH 1/1] " Dengke Du
  0 siblings, 1 reply; 7+ messages in thread
From: Dengke Du @ 2016-01-20  9:30 UTC (permalink / raw)
  To: dengke.du; +Cc: openembedded-core

The following changes since commit 68c7113a746694e25df2ac5d86171ed96b7c2e94:

  poky.conf: Delete BB_SIGNATURE_HANDLER settings (2016-01-19 23:02:01 +0000)

are available in the git repository at:

  git://git.openembedded.org/openembedded-core-contrib dengke/ncurses_drop_compatible_option
  http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=dengke/ncurses_drop_compatible_option

Dengke Du (1):
  ncurses: drop the compatible option

 meta/recipes-core/ncurses/ncurses.inc    | 10 +++++-----
 meta/recipes-core/ncurses/ncurses_6.0.bb |  1 -
 2 files changed, 5 insertions(+), 6 deletions(-)

-- 
1.9.1



^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/1] ncurses: drop the compatible option
  2016-01-20  9:30 [PATCH 0/1] ncurses: drop the compatible option Dengke Du
@ 2016-01-20  9:30 ` Dengke Du
  2016-01-20  9:33   ` Richard Purdie
  0 siblings, 1 reply; 7+ messages in thread
From: Dengke Du @ 2016-01-20  9:30 UTC (permalink / raw)
  To: dengke.du; +Cc: openembedded-core

drop the compatible option --with-abi-version=5

Signed-off-by: Dengke Du <dengke.du@windriver.com>
---
 meta/recipes-core/ncurses/ncurses.inc    | 10 +++++-----
 meta/recipes-core/ncurses/ncurses_6.0.bb |  1 -
 2 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/meta/recipes-core/ncurses/ncurses.inc b/meta/recipes-core/ncurses/ncurses.inc
index fbe74d5..0ebf8d5 100644
--- a/meta/recipes-core/ncurses/ncurses.inc
+++ b/meta/recipes-core/ncurses/ncurses.inc
@@ -7,7 +7,7 @@ SECTION = "libs"
 DEPENDS = "ncurses-native"
 DEPENDS_class-native = ""
 
-BINCONFIG = "${bindir}/ncurses5-config ${bindir}/ncursesw5-config"
+BINCONFIG = "${bindir}/ncurses6-config ${bindir}/ncursesw6-config"
 
 inherit autotools binconfig-disabled multilib_header pkgconfig
 
@@ -205,7 +205,7 @@ do_install() {
                 test -h $f || continue
                 rm -f $f
                 echo '/* GNU ld script */'  >$f
-                echo "INPUT($i.so.5 AS_NEEDED(-ltinfo))" >>$f
+                echo "INPUT($i.so.6 AS_NEEDED(-ltinfo))" >>$f
         done
 
         # Make sure that libcurses is linked so that it gets -ltinfo
@@ -231,7 +231,7 @@ do_install() {
             # Use lnr to ensure this is a relative link despite absolute paths
             # (as we can't know the relationship between base_libdir and libdir).
             # At some point we can rely on coreutils 8.16 which has ln -r.
-            lnr ${D}${base_libdir}/libtinfo.so.5 ${D}${libdir}/libtinfo.so
+            lnr ${D}${base_libdir}/libtinfo.so.6 ${D}${libdir}/libtinfo.so
         fi
         if [ -d "${D}${includedir}/ncurses" ]; then
             for f in `find ${D}${includedir}/ncurses -name "*.h"`
@@ -271,8 +271,8 @@ PACKAGES += " \
 FILES_${PN} = "\
   ${bindir}/tput \
   ${bindir}/tset \
-  ${bindir}/ncurses5-config \
-  ${bindir}/ncursesw5-config \
+  ${bindir}/ncurses6-config \
+  ${bindir}/ncursesw6-config \
   ${datadir}/tabset \
 "
 
diff --git a/meta/recipes-core/ncurses/ncurses_6.0.bb b/meta/recipes-core/ncurses/ncurses_6.0.bb
index 8587287..ea45ea7 100644
--- a/meta/recipes-core/ncurses/ncurses_6.0.bb
+++ b/meta/recipes-core/ncurses/ncurses_6.0.bb
@@ -8,4 +8,3 @@ SRC_URI += "file://tic-hang.patch \
 # commit id corresponds to the above listed REVISION
 SRCREV = "c6b034b4d69f8c9092c2a1b5d5bb718282b2a522"
 S = "${WORKDIR}/git"
-EXTRA_OECONF += "--with-abi-version=5"
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/1] ncurses: drop the compatible option
  2016-01-20  9:30 ` [PATCH 1/1] " Dengke Du
@ 2016-01-20  9:33   ` Richard Purdie
  2016-01-21  1:30     ` Robert Yang
  0 siblings, 1 reply; 7+ messages in thread
From: Richard Purdie @ 2016-01-20  9:33 UTC (permalink / raw)
  To: Dengke Du; +Cc: openembedded-core

On Wed, 2016-01-20 at 04:30 -0500, Dengke Du wrote:
> drop the compatible option --with-abi-version=5

This says what the patch does, but not why.

Why should we do this? Does any of our software depend on the v5 ABI?
How did you test this?

Cheers,

Richard


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/1] ncurses: drop the compatible option
  2016-01-20  9:33   ` Richard Purdie
@ 2016-01-21  1:30     ` Robert Yang
  2016-01-21  2:17       ` Khem Raj
  0 siblings, 1 reply; 7+ messages in thread
From: Robert Yang @ 2016-01-21  1:30 UTC (permalink / raw)
  To: Richard Purdie, Dengke Du; +Cc: openembedded-core



On 01/20/2016 05:33 PM, Richard Purdie wrote:
> On Wed, 2016-01-20 at 04:30 -0500, Dengke Du wrote:
>> drop the compatible option --with-abi-version=5
>
> This says what the patch does, but not why.

I had talked with Dengke, we have upgraded ncurses to 6, so remove
--with-abi-version=5 seems better. He had tested world and sdk
build based on oe-core. He will test it based on meta-openembedded.

// Robert

>
> Why should we do this? Does any of our software depend on the v5 ABI?
> How did you test this?
>
> Cheers,
>
> Richard
>


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/1] ncurses: drop the compatible option
  2016-01-21  1:30     ` Robert Yang
@ 2016-01-21  2:17       ` Khem Raj
  2016-01-21  9:34         ` dengke.du
  2016-01-21  9:38         ` dengke.du
  0 siblings, 2 replies; 7+ messages in thread
From: Khem Raj @ 2016-01-21  2:17 UTC (permalink / raw)
  To: Robert Yang; +Cc: Patches and discussions about the oe-core layer

On Wed, Jan 20, 2016 at 5:30 PM, Robert Yang <liezhi.yang@windriver.com> wrote:
>
> I had talked with Dengke, we have upgraded ncurses to 6, so remove
> --with-abi-version=5 seems better. He had tested world and sdk
> build based on oe-core. He will test it based on meta-openembedded.

we need to ensure that all apps using ncurses are able to work with
new APIs if we drop compatibility.
may be have ncurses5 package still around to provide backward compatibility.


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/1] ncurses: drop the compatible option
  2016-01-21  2:17       ` Khem Raj
@ 2016-01-21  9:34         ` dengke.du
  2016-01-21  9:38         ` dengke.du
  1 sibling, 0 replies; 7+ messages in thread
From: dengke.du @ 2016-01-21  9:34 UTC (permalink / raw)
  To: Khem Raj, Robert Yang; +Cc: Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 4934 bytes --]

According to the ncurses 6.0 release notes (the site is at 
"https://www.gnu.org/software/ncurses/"), the intent of the release is 
to provide a new stable ABI,
which is binary-incompatible with ncurses 5, but it can still be 
configured to support the ncurses5. Because this release introduces 
symbol-versioning.
The symbol-versioning allows the developers of a library tomark each 
public sysmbol(both data and functions) with an identifier denoting the 
library name and
the version for which it was built. By doing this , users ofthe library 
have a way to help ensure that applications do not accidentally load an 
imcompatible library.
In addition, private sysmbols can be hidden entirely.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
When I first release the patch 5.9 -> 6.0  with the option 
--with-abi-version=5, I want to be compatible with the existing system, 
so I do the following test:

     $bitbake world core-image-sato-sdk

tested it on the qemuarm, qemux86, qemux86-64 with multilib (oe-core), 
and no error happened .

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
When I second release the patch "drop the compatible option 
--with-abi-version=5", because I want to introduces the feature 
symbol-versioning, so I droped the
option --with-abi-version=5 , and I do the following test:

     $bitbake world core-image-sato-sdk

tested it on the qemuarm, qemux86, qemux86-64 with multilib (oe-core), 
and no error happened.

Today, Robert let me test it on the following layers:

     /meta-openembedded/meta-oe
     /meta-openembedded/meta-networking
/meta-openembedded/meta-meta-webserver

so I add the layers to my build and run the following commands:

     $bitbake world

It reported the following error:

     Summary: 15 tasks failed:
/buildarea/raid0/ddu/poky/meta-openembedded/meta-oe/recipes-graphics/takao-fonts/takao-fonts_003.03.01.bb, 
do_fetch
/buildarea/raid0/ddu/poky/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19_svn.bb, 
do_fetch
/buildarea/raid0/ddu/poky/meta-openembedded/meta-oe/recipes-gnome/gtkhtml2/gtkhtml2_svn.bb, 
do_fetch
/buildarea/raid0/ddu/poky/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_1.1.bb, 
do_fetch
/buildarea/raid0/ddu/poky/meta-openembedded/meta-networking/recipes-support/geoip/geoip_1.6.6.bb, 
do_fetch
/buildarea/raid0/ddu/poky/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw_0.33.bb, 
do_fetch
/buildarea/raid0/ddu/poky/meta-openembedded/meta-oe/recipes-support/ctapi-common/ctapi-common_1.1-11.bb, 
do_fetch
/buildarea/raid0/ddu/poky/meta-openembedded/meta-python/recipes-devtools/python/python-decorator_4.0.2.bb, 
do_fetch
/buildarea/raid0/ddu/poky/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python-thrift_0.9.2.bb, 
do_fetch
/buildarea/raid0/ddu/poky/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy_0.7.9.bb, 
do_fetch
/buildarea/raid0/ddu/poky/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee_1.2.98.bb, 
do_fetch
/buildarea/raid0/ddu/poky/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb, 
do_fetch
virtual:native:/buildarea/raid0/ddu/poky/meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.6.bb, 
do_install
/buildarea/raid0/ddu/poky/meta-openembedded/meta-oe/recipes-connectivity/umip/umip_1.0.bb, 
do_compile
/buildarea/raid0/ddu/poky/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.13.bb, 
do_package_qa

It seems the umip was affect by the ncurses version change. So I went to 
the log.do_compile, the log file say:

fatal error: gram.h : No such file or directory
compilation terminated

So I think the ncurses version change didn't affect the whole system. 
Then I release the patch "ncurses: drop the compatible option"
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
On 2016年01月21日 10:17, Khem Raj wrote:
> On Wed, Jan 20, 2016 at 5:30 PM, Robert Yang <liezhi.yang@windriver.com> wrote:
>> I had talked with Dengke, we have upgraded ncurses to 6, so remove
>> --with-abi-version=5 seems better. He had tested world and sdk
>> build based on oe-core. He will test it based on meta-openembedded.
> we need to ensure that all apps using ncurses are able to work with
> new APIs if we drop compatibility.
> may be have ncurses5 package still around to provide backward compatibility.


[-- Attachment #2: Type: text/html, Size: 7397 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/1] ncurses: drop the compatible option
  2016-01-21  2:17       ` Khem Raj
  2016-01-21  9:34         ` dengke.du
@ 2016-01-21  9:38         ` dengke.du
  1 sibling, 0 replies; 7+ messages in thread
From: dengke.du @ 2016-01-21  9:38 UTC (permalink / raw)
  To: Khem Raj, Robert Yang; +Cc: Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 5470 bytes --]

According to the ncurses 6.0 release notes (the site is at 
"https://www.gnu.org/software/ncurses/"), the intent of the release is 
to provide a new stable ABI,
which is binary-incompatible with ncurses 5, but it can still be 
configured to support the ncurses5.  Because this release introduces 
symbol-versioning.
The symbol-versioning allows the developers of a library to mark each 
public sysmbol(both data and functions) with an identifier denoting the 
library name and
the version for which it was built. By doing this , users of the library 
have a way to help ensure that applications do not accidentally load an 
imcompatible library.
In addition, private sysmbols can be hidden entirely.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
When I first release the patch 5.9 -> 6.0  with the option 
--with-abi-version=5, I want to be compatible with the existing system, 
so I do the following test:

     $bitbake world core-image-sato-sdk

tested it on the qemuarm, qemux86, qemux86-64 with multilib (oe-core), 
and no error happened .

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
When I second release the patch "drop the compatible option 
--with-abi-version=5", because I want to introduces the feature 
symbol-versioning, so I droped the
option --with-abi-version=5 , and I do the following test:

     $bitbake world core-image-sato-sdk

tested it on the qemuarm, qemux86, qemux86-64 with multilib (oe-core), 
and no error happened.

Today, Robert let me test it on the following layers:

     /meta-openembedded/meta-oe
     /meta-openembedded/meta-networking
/meta-openembedded/meta-meta-webserver

so I add the layers to my build and run the following commands:

     $bitbake world

It reported the following error:

     Summary: 15 tasks failed:
/buildarea/raid0/ddu/poky/meta-openembedded/meta-oe/recipes-graphics/takao-fonts/takao-fonts_003.03.01.bb, 
do_fetch
/buildarea/raid0/ddu/poky/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19_svn.bb, 
do_fetch
/buildarea/raid0/ddu/poky/meta-openembedded/meta-oe/recipes-gnome/gtkhtml2/gtkhtml2_svn.bb, 
do_fetch
/buildarea/raid0/ddu/poky/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_1.1.bb, 
do_fetch
/buildarea/raid0/ddu/poky/meta-openembedded/meta-networking/recipes-support/geoip/geoip_1.6.6.bb, 
do_fetch
/buildarea/raid0/ddu/poky/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw_0.33.bb, 
do_fetch
/buildarea/raid0/ddu/poky/meta-openembedded/meta-oe/recipes-support/ctapi-common/ctapi-common_1.1-11.bb, 
do_fetch
/buildarea/raid0/ddu/poky/meta-openembedded/meta-python/recipes-devtools/python/python-decorator_4.0.2.bb, 
do_fetch
/buildarea/raid0/ddu/poky/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python-thrift_0.9.2.bb, 
do_fetch
/buildarea/raid0/ddu/poky/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy_0.7.9.bb, 
do_fetch
/buildarea/raid0/ddu/poky/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee_1.2.98.bb, 
do_fetch
/buildarea/raid0/ddu/poky/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb, 
do_fetch
virtual:native:/buildarea/raid0/ddu/poky/meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.6.bb, 
do_install
/buildarea/raid0/ddu/poky/meta-openembedded/meta-oe/recipes-connectivity/umip/umip_1.0.bb, 
do_compile
/buildarea/raid0/ddu/poky/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.13.bb, 
do_package_qa

It seems the umip was affect by the ncurses version change. So I went to 
the log.do_compile, the log file say:

fatal error: gram.h : No such file or directory
compilation terminated

So I think the ncurses version change didn't affect the whole system. 
Then I release the patch "ncurses: drop the compatible option"
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
On 2016年01月21日 10:17, Khem Raj wrote:
> On Wed, Jan 20, 2016 at 5:30 PM, Robert Yang<liezhi.yang@windriver.com>  wrote:
>> I had talked with Dengke, we have upgraded ncurses to 6, so remove
>> --with-abi-version=5 seems better. He had tested world and sdk
>> build based on oe-core. He will test it based on meta-openembedded.
> we need to ensure that all apps using ncurses are able to work with
> new APIs if we drop compatibility.
> may be have ncurses5 package still around to provide backward compatibility.



On 2016年01月21日 10:17, Khem Raj wrote:
> On Wed, Jan 20, 2016 at 5:30 PM, Robert Yang <liezhi.yang@windriver.com> wrote:
>> I had talked with Dengke, we have upgraded ncurses to 6, so remove
>> --with-abi-version=5 seems better. He had tested world and sdk
>> build based on oe-core. He will test it based on meta-openembedded.
> we need to ensure that all apps using ncurses are able to work with
> new APIs if we drop compatibility.
> may be have ncurses5 package still around to provide backward compatibility.


[-- Attachment #2: Type: text/html, Size: 8795 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2016-01-21  9:38 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-20  9:30 [PATCH 0/1] ncurses: drop the compatible option Dengke Du
2016-01-20  9:30 ` [PATCH 1/1] " Dengke Du
2016-01-20  9:33   ` Richard Purdie
2016-01-21  1:30     ` Robert Yang
2016-01-21  2:17       ` Khem Raj
2016-01-21  9:34         ` dengke.du
2016-01-21  9:38         ` dengke.du

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.