Patchwork [1/1] ncurses: fix packaging of moved libraries

login
register
mail settings
Submitter Scott Garman
Date March 14, 2012, 12:31 a.m.
Message ID <78b7df910bf1d5d25f5cc637a15c8e867d7bd712.1331684953.git.scott.a.garman@intel.com>
Download mbox | patch
Permalink /patch/23207/
State New
Headers show

Comments

Scott Garman - March 14, 2012, 12:31 a.m.
The recent move of some of the ncurses libraries to base_libdir
does not work with our automatic library packaging, so this
explicity creates packages for libncurses, libncursesw, and
libtinfo.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
---
 meta/recipes-core/ncurses/ncurses.inc |   18 ++++++++++++++++--
 1 files changed, 16 insertions(+), 2 deletions(-)
Darren Hart - March 14, 2012, 2:57 p.m.
On 03/13/2012 05:31 PM, Scott Garman wrote:
> The recent move of some of the ncurses libraries to base_libdir
> does not work with our automatic library packaging, so this
> explicity creates packages for libncurses, libncursesw, and
> libtinfo.
> 
> Signed-off-by: Scott Garman <scott.a.garman@intel.com>
> ---
>  meta/recipes-core/ncurses/ncurses.inc |   18 ++++++++++++++++--
>  1 files changed, 16 insertions(+), 2 deletions(-)
> 
> diff --git a/meta/recipes-core/ncurses/ncurses.inc b/meta/recipes-core/ncurses/ncurses.inc
> index e450868..155c0bd 100644
> --- a/meta/recipes-core/ncurses/ncurses.inc
> +++ b/meta/recipes-core/ncurses/ncurses.inc
> @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://ncurses/base/version.c;beginline=1;endline=27;md5=cbc
>  SECTION = "libs"
>  DEPENDS = "ncurses-native"
>  DEPENDS_virtclass-native = ""
> -INC_PR = "r5"
> +INC_PR = "r6"
>  
>  inherit autotools binconfig multilib_header
>  
> @@ -220,6 +220,9 @@ pkg_prerm_ncurses-tools () {
>  BBCLASSEXTEND = "native nativesdk"
>  
>  PACKAGES += " \
> +  ${PN}-libncurses \
> +  ${PN}-libncursesw \

This one needs to be dependent on ENABLE_WIDEC

> +  ${PN}-libtinfo \
>    ${PN}-tools \
>    ${PN}-terminfo \
>    ${PN}-terminfo-base \
> @@ -231,7 +234,18 @@ FILES_${PN} = "\
>    ${bindir}/ncurses5-config \
>    ${bindir}/ncursesw5-config \
>    ${datadir}/tabset \
> -  ${base_libdir}/* \
> +"
> +
> +FILES_${PN}-libncurses = "\
> +  ${base_libdir}/libncurses.so.* \
> +"
> +
> +FILES_${PN}-libncursesw = "\
> +  ${base_libdir}/libncursesw.so.* \
> +"

This file doesn't exist if !ENABLE_WIDEC (which is the case with
poky-tiny for example).

> +
> +FILES_${PN}-libtinfo = "\
> +  ${base_libdir}/libtinfo.so.* \
>  "
>  
>  # This keeps only tput/tset in ncurses
Martin Jansa - March 14, 2012, 3 p.m.
On Wed, Mar 14, 2012 at 07:57:56AM -0700, Darren Hart wrote:
> 
> 
> On 03/13/2012 05:31 PM, Scott Garman wrote:
> > The recent move of some of the ncurses libraries to base_libdir
> > does not work with our automatic library packaging, so this
> > explicity creates packages for libncurses, libncursesw, and
> > libtinfo.
> > 
> > Signed-off-by: Scott Garman <scott.a.garman@intel.com>
> > ---
> >  meta/recipes-core/ncurses/ncurses.inc |   18 ++++++++++++++++--
> >  1 files changed, 16 insertions(+), 2 deletions(-)
> > 
> > diff --git a/meta/recipes-core/ncurses/ncurses.inc b/meta/recipes-core/ncurses/ncurses.inc
> > index e450868..155c0bd 100644
> > --- a/meta/recipes-core/ncurses/ncurses.inc
> > +++ b/meta/recipes-core/ncurses/ncurses.inc
> > @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://ncurses/base/version.c;beginline=1;endline=27;md5=cbc
> >  SECTION = "libs"
> >  DEPENDS = "ncurses-native"
> >  DEPENDS_virtclass-native = ""
> > -INC_PR = "r5"
> > +INC_PR = "r6"
> >  
> >  inherit autotools binconfig multilib_header
> >  
> > @@ -220,6 +220,9 @@ pkg_prerm_ncurses-tools () {
> >  BBCLASSEXTEND = "native nativesdk"
> >  
> >  PACKAGES += " \
> > +  ${PN}-libncurses \
> > +  ${PN}-libncursesw \
> 
> This one needs to be dependent on ENABLE_WIDEC

isn't just
ALLOW_EMPTY_${PN}-libncursesw = "1"
enough?

> 
> > +  ${PN}-libtinfo \
> >    ${PN}-tools \
> >    ${PN}-terminfo \
> >    ${PN}-terminfo-base \
> > @@ -231,7 +234,18 @@ FILES_${PN} = "\
> >    ${bindir}/ncurses5-config \
> >    ${bindir}/ncursesw5-config \
> >    ${datadir}/tabset \
> > -  ${base_libdir}/* \
> > +"
> > +
> > +FILES_${PN}-libncurses = "\
> > +  ${base_libdir}/libncurses.so.* \
> > +"
> > +
> > +FILES_${PN}-libncursesw = "\
> > +  ${base_libdir}/libncursesw.so.* \
> > +"
> 
> This file doesn't exist if !ENABLE_WIDEC (which is the case with
> poky-tiny for example).
> 
> > +
> > +FILES_${PN}-libtinfo = "\
> > +  ${base_libdir}/libtinfo.so.* \
> >  "
> >  
> >  # This keeps only tput/tset in ncurses
> 
> -- 
> Darren Hart
> Intel Open Source Technology Center
> Yocto Project - Linux Kernel
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Paul Eggleton - March 14, 2012, 3:07 p.m.
On Wednesday 14 March 2012 16:00:33 Martin Jansa wrote:
> isn't just
> ALLOW_EMPTY_${PN}-libncursesw = "1"
> enough?

I suspect we don't care if the libncursesw package isn't created when wide 
character support is disabled, if so, we don't even need that.

Cheers,
Paul
Darren Hart - March 14, 2012, 3:12 p.m.
On 03/14/2012 08:00 AM, Martin Jansa wrote:
> On Wed, Mar 14, 2012 at 07:57:56AM -0700, Darren Hart wrote:
>>
>>
>> On 03/13/2012 05:31 PM, Scott Garman wrote:

...

>>>  PACKAGES += " \
>>> +  ${PN}-libncurses \
>>> +  ${PN}-libncursesw \
>>
>> This one needs to be dependent on ENABLE_WIDEC
> 
> isn't just
> ALLOW_EMPTY_${PN}-libncursesw = "1"
> enough?

Perhaps. ALLOW_EMPTY is not defined in poky/documentation/* nor in
poky/conf/documentation.conf.

(I realize this oe-core and not poky, but this is the best reference I
know of)

Could you provide a terse description of how ALLOW_EMPTY* is meant to be
used, its effects, and any needful cautionary text? Scott can then add
it to the above documentation.
Darren Hart - March 14, 2012, 3:18 p.m.
On 03/14/2012 08:07 AM, Paul Eggleton wrote:
> On Wednesday 14 March 2012 16:00:33 Martin Jansa wrote:
>> isn't just
>> ALLOW_EMPTY_${PN}-libncursesw = "1"
>> enough?
> 
> I suspect we don't care if the libncursesw package isn't created when wide 
> character support is disabled, if so, we don't even need that.

OK, so if a package is defined and none of the files exist, bitbake will
simply not create the package - and no errors or warnings will be raised?

If so, then kindly disregard my comments.
Paul Eggleton - March 14, 2012, 3:20 p.m.
On Wednesday 14 March 2012 08:18:34 Darren Hart wrote:
> On 03/14/2012 08:07 AM, Paul Eggleton wrote:
> > On Wednesday 14 March 2012 16:00:33 Martin Jansa wrote:
> >> isn't just
> >> ALLOW_EMPTY_${PN}-libncursesw = "1"
> >> enough?
> > 
> > I suspect we don't care if the libncursesw package isn't created when wide
> > character support is disabled, if so, we don't even need that.
> 
> OK, so if a package is defined and none of the files exist, bitbake will
> simply not create the package - and no errors or warnings will be raised?

That's correct.

Cheers,
Paul
Paul Eggleton - March 14, 2012, 3:22 p.m.
On Wednesday 14 March 2012 08:12:23 Darren Hart wrote:
> Perhaps. ALLOW_EMPTY is not defined in poky/documentation/* nor in
> poky/conf/documentation.conf.
> 
> (I realize this oe-core and not poky, but this is the best reference I
> know of)
> 
> Could you provide a terse description of how ALLOW_EMPTY* is meant to be
> used, its effects, and any needful cautionary text? Scott can then add
> it to the above documentation.

ALLOW_EMPTY (which like all package-controlling variables should always be 
used in conjunction a package name override, e.g. ALLOW_EMPTY_${PN}) just 
specifies that empty packages are actually produced instead of the default 
behaviour where they are skipped. This is mostly useful where there is an 
RDEPENDS or other runtime hard-requirement on the package existing.

Cheers,
Paul

Patch

diff --git a/meta/recipes-core/ncurses/ncurses.inc b/meta/recipes-core/ncurses/ncurses.inc
index e450868..155c0bd 100644
--- a/meta/recipes-core/ncurses/ncurses.inc
+++ b/meta/recipes-core/ncurses/ncurses.inc
@@ -6,7 +6,7 @@  LIC_FILES_CHKSUM = "file://ncurses/base/version.c;beginline=1;endline=27;md5=cbc
 SECTION = "libs"
 DEPENDS = "ncurses-native"
 DEPENDS_virtclass-native = ""
-INC_PR = "r5"
+INC_PR = "r6"
 
 inherit autotools binconfig multilib_header
 
@@ -220,6 +220,9 @@  pkg_prerm_ncurses-tools () {
 BBCLASSEXTEND = "native nativesdk"
 
 PACKAGES += " \
+  ${PN}-libncurses \
+  ${PN}-libncursesw \
+  ${PN}-libtinfo \
   ${PN}-tools \
   ${PN}-terminfo \
   ${PN}-terminfo-base \
@@ -231,7 +234,18 @@  FILES_${PN} = "\
   ${bindir}/ncurses5-config \
   ${bindir}/ncursesw5-config \
   ${datadir}/tabset \
-  ${base_libdir}/* \
+"
+
+FILES_${PN}-libncurses = "\
+  ${base_libdir}/libncurses.so.* \
+"
+
+FILES_${PN}-libncursesw = "\
+  ${base_libdir}/libncursesw.so.* \
+"
+
+FILES_${PN}-libtinfo = "\
+  ${base_libdir}/libtinfo.so.* \
 "
 
 # This keeps only tput/tset in ncurses