Patchwork [CONSOLIDATED,PULL,01/20] bitbake.conf: Create staticlibs pacakge for static libraries

login
register
mail settings
Submitter Saul Wold
Date June 6, 2011, 6:44 a.m.
Message ID <3eba2df4c6f2371db24ab2420d037b992725cb84.1307342214.git.sgw@linux.intel.com>
Download mbox | patch
Permalink /patch/5411/
State New, archived
Headers show

Comments

Saul Wold - June 6, 2011, 6:44 a.m.
Signed-off-by: Saul Wold <sgw@linux.intel.com>
---
 meta/conf/bitbake.conf |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)
Phil Blundell - June 6, 2011, 6:55 a.m.
On Sun, 2011-06-05 at 23:44 -0700, Saul Wold wrote:
>  SECTION_${PN}-dev = "devel"
>  ALLOW_EMPTY_${PN}-dev = "1"
>  RDEPENDS_${PN}-dev = "${PN} (= ${EXTENDPKGV})"
>  
> +FILES_${PN}-staticlibs = "${libdir}/*.a ${base_libdir}/*.a"
> +SECTION_${PN}-staticlibs = "devel"
> +RDEPENDS_${PN}-staticlibs = "${PN}-dev (= ${EXTENDPV})"

This should be ${EXTENDPKGV}, right?

p.
Richard Purdie - June 6, 2011, 10:50 a.m.
On Mon, 2011-06-06 at 07:55 +0100, Phil Blundell wrote:
> On Sun, 2011-06-05 at 23:44 -0700, Saul Wold wrote:
> >  SECTION_${PN}-dev = "devel"
> >  ALLOW_EMPTY_${PN}-dev = "1"
> >  RDEPENDS_${PN}-dev = "${PN} (= ${EXTENDPKGV})"
> >  
> > +FILES_${PN}-staticlibs = "${libdir}/*.a ${base_libdir}/*.a"
> > +SECTION_${PN}-staticlibs = "devel"
> > +RDEPENDS_${PN}-staticlibs = "${PN}-dev (= ${EXTENDPV})"
> 
> This should be ${EXTENDPKGV}, right?

It should.

I'm also not 100% convinced I like "-staticlibs" vs "-staticdev" as it
doesn't feel consistent.

The user gets exposed to these at the package manager level and will
"xxx install xxx-staticX". The end result they'll get will be the
installation of everything they need for static development (i.e. the
-dev packages will get pulled in for the headers). This means they don't
just result in the static libs as there are dependencies there. From the
user perspective they are therefore packages for static development, not
just the static libraries...

Cheers,

Richard
Saul Wold - June 6, 2011, 2:59 p.m.
On 06/05/2011 11:55 PM, Phil Blundell wrote:
> On Sun, 2011-06-05 at 23:44 -0700, Saul Wold wrote:
>>   SECTION_${PN}-dev = "devel"
>>   ALLOW_EMPTY_${PN}-dev = "1"
>>   RDEPENDS_${PN}-dev = "${PN} (= ${EXTENDPKGV})"
>>
>> +FILES_${PN}-staticlibs = "${libdir}/*.a ${base_libdir}/*.a"
>> +SECTION_${PN}-staticlibs = "devel"
>> +RDEPENDS_${PN}-staticlibs = "${PN}-dev (= ${EXTENDPV})"
>
> This should be ${EXTENDPKGV}, right?
>
Fixed and pushed an update to the sgw/stage.

Must have done a cut and paste on an older version.

There are still a number of recipes that name manual adjustment.

Sau!

> p.
>
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
Saul Wold - June 6, 2011, 4:50 p.m.
On 06/06/2011 03:50 AM, Richard Purdie wrote:
> On Mon, 2011-06-06 at 07:55 +0100, Phil Blundell wrote:
>> On Sun, 2011-06-05 at 23:44 -0700, Saul Wold wrote:
>>>   SECTION_${PN}-dev = "devel"
>>>   ALLOW_EMPTY_${PN}-dev = "1"
>>>   RDEPENDS_${PN}-dev = "${PN} (= ${EXTENDPKGV})"
>>>
>>> +FILES_${PN}-staticlibs = "${libdir}/*.a ${base_libdir}/*.a"
>>> +SECTION_${PN}-staticlibs = "devel"
>>> +RDEPENDS_${PN}-staticlibs = "${PN}-dev (= ${EXTENDPV})"
>>
>> This should be ${EXTENDPKGV}, right?
>
> It should.
>
> I'm also not 100% convinced I like "-staticlibs" vs "-staticdev" as it
> doesn't feel consistent.
>
> The user gets exposed to these at the package manager level and will
> "xxx install xxx-staticX". The end result they'll get will be the
> installation of everything they need for static development (i.e. the
> -dev packages will get pulled in for the headers). This means they don't
> just result in the static libs as there are dependencies there. From the
> user perspective they are therefore packages for static development, not
> just the static libraries...
>
Richard,

I agree that they are for development and that by their nature they have 
a dependency on the Development packages, but they contain libs only, 
not all the development headers or tools, I think its therefore 
mis-leading to call the package staticdev since they do not contain all 
the development bits (they might depend on all the bits).  It's a subtle 
but important distinction.

As was pointed out earlier Fedora packages static libraries in a 
"-static" package, but this had other implications for OE due to -static 
already being in use (for busybox and mplayer), I am not sure that this 
is not a problem for OE-Core, I would need to investigate.  Meego also 
seems to use the Fedora standard with "-static".

I still believe that -staticlibs is a better identifier for these packages.

Sau!

> Cheers,
>
> Richard
>
>
>
>
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
Khem Raj - June 6, 2011, 5:03 p.m.
On Sun, Jun 5, 2011 at 11:44 PM, Saul Wold <sgw@linux.intel.com> wrote:
> Signed-off-by: Saul Wold <sgw@linux.intel.com>
> ---
>  meta/conf/bitbake.conf |   12 ++++++++++--
>  1 files changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
> index de94316..520b808 100644
> --- a/meta/conf/bitbake.conf
> +++ b/meta/conf/bitbake.conf
> @@ -194,9 +194,13 @@ This package contains ELF symbols and related sources for debugging purposes."
>
>  SUMMARY_${PN}-dev ?= "${SUMMARY} - Development files"
>  DESCRIPTION_${PN}-dev ?= "${DESCRIPTION}  \
> -This package contains symbolic links, static binaries, header files, and \
> +This package contains symbolic links, header files, and \
>  related items necessary for software development."
>
> +SUMMARY_${PN}-staticlibs ?= "${SUMMARY} - Development files (Static Libraries)"
> +DESCRIPTION_${PN}-staticlibs?= "${DESCRIPTION}  \
> +This package contains static libraries for software development."
> +
>  SUMMARY_${PN}-doc ?= "${SUMMARY} - Documentation files"
>  DESCRIPTION_${PN}-doc ?= "${DESCRIPTION}  \
>  This package contains documentation."
> @@ -248,13 +252,17 @@ FILES_${PN}-doc = "${docdir} ${mandir} ${infodir} ${datadir}/gtk-doc \
>  SECTION_${PN}-doc = "doc"
>
>  FILES_${PN}-dev = "${includedir} ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la \
> -                ${libdir}/*.a ${libdir}/*.o ${libdir}/pkgconfig \
> +                ${libdir}/*.o ${libdir}/pkgconfig \
>                 ${datadir}/pkgconfig ${datadir}/aclocal \
>                 ${base_libdir}/*.a ${base_libdir}/*.o"
>  SECTION_${PN}-dev = "devel"
>  ALLOW_EMPTY_${PN}-dev = "1"
>  RDEPENDS_${PN}-dev = "${PN} (= ${EXTENDPKGV})"
>
> +FILES_${PN}-staticlibs = "${libdir}/*.a ${base_libdir}/*.a"
> +SECTION_${PN}-staticlibs = "devel"
> +RDEPENDS_${PN}-staticlibs = "${PN}-dev (= ${EXTENDPV})"
> +

I think if you need to divide it then -dev should be divided into
static, dynamic and headers otherwise this may not be so useful.

>  DOTDEBUG-dbg = "${bindir}/.debug ${sbindir}/.debug ${libexecdir}/.debug ${libdir}/.debug \
>             ${base_bindir}/.debug ${base_sbindir}/.debug ${base_libdir}/.debug ${libdir}/${PN}/.debug \
>             ${libdir}/matchbox-panel/.debug /usr/src/debug"
> --
> 1.7.3.4
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
Otavio Salvador - June 6, 2011, 5:31 p.m.
On Mon, Jun 6, 2011 at 16:50, Saul Wold <sgw@linux.intel.com> wrote:
...
> As was pointed out earlier Fedora packages static libraries in a "-static"
> package, but this had other implications for OE due to -static already being
> in use (for busybox and mplayer), I am not sure that this is not a problem
> for OE-Core, I would need to investigate.  Meego also seems to use the
> Fedora standard with "-static".
...

I personally prefer -static. -staticlib seems redundant for me since
we can end with libfoo-staticlib
Richard Purdie - June 6, 2011, 7 p.m.
On Mon, 2011-06-06 at 17:31 +0000, Otavio Salvador wrote:
> On Mon, Jun 6, 2011 at 16:50, Saul Wold <sgw@linux.intel.com> wrote:
> ...
> > As was pointed out earlier Fedora packages static libraries in a "-static"
> > package, but this had other implications for OE due to -static already being
> > in use (for busybox and mplayer), I am not sure that this is not a problem
> > for OE-Core, I would need to investigate.  Meego also seems to use the
> > Fedora standard with "-static".
> ...
> 
> I personally prefer -static. -staticlib seems redundant for me since
> we can end with libfoo-staticlib

-static doesn't really work well given we already have -static packages
meaning something else (e.g. the busybox case).

Cheers,

Richard
Richard Purdie - June 6, 2011, 7:01 p.m.
On Mon, 2011-06-06 at 10:03 -0700, Khem Raj wrote:
> On Sun, Jun 5, 2011 at 11:44 PM, Saul Wold <sgw@linux.intel.com> wrote:
> > Signed-off-by: Saul Wold <sgw@linux.intel.com>
> > ---
> >  meta/conf/bitbake.conf |   12 ++++++++++--
> >  1 files changed, 10 insertions(+), 2 deletions(-)
> >
> > diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
> > index de94316..520b808 100644
> > --- a/meta/conf/bitbake.conf
> > +++ b/meta/conf/bitbake.conf
> > @@ -194,9 +194,13 @@ This package contains ELF symbols and related sources for debugging purposes."
> >
> >  SUMMARY_${PN}-dev ?= "${SUMMARY} - Development files"
> >  DESCRIPTION_${PN}-dev ?= "${DESCRIPTION}  \
> > -This package contains symbolic links, static binaries, header files, and \
> > +This package contains symbolic links, header files, and \
> >  related items necessary for software development."
> >
> > +SUMMARY_${PN}-staticlibs ?= "${SUMMARY} - Development files (Static Libraries)"
> > +DESCRIPTION_${PN}-staticlibs?= "${DESCRIPTION}  \
> > +This package contains static libraries for software development."
> > +
> >  SUMMARY_${PN}-doc ?= "${SUMMARY} - Documentation files"
> >  DESCRIPTION_${PN}-doc ?= "${DESCRIPTION}  \
> >  This package contains documentation."
> > @@ -248,13 +252,17 @@ FILES_${PN}-doc = "${docdir} ${mandir} ${infodir} ${datadir}/gtk-doc \
> >  SECTION_${PN}-doc = "doc"
> >
> >  FILES_${PN}-dev = "${includedir} ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la \
> > -                ${libdir}/*.a ${libdir}/*.o ${libdir}/pkgconfig \
> > +                ${libdir}/*.o ${libdir}/pkgconfig \
> >                 ${datadir}/pkgconfig ${datadir}/aclocal \
> >                 ${base_libdir}/*.a ${base_libdir}/*.o"
> >  SECTION_${PN}-dev = "devel"
> >  ALLOW_EMPTY_${PN}-dev = "1"
> >  RDEPENDS_${PN}-dev = "${PN} (= ${EXTENDPKGV})"
> >
> > +FILES_${PN}-staticlibs = "${libdir}/*.a ${base_libdir}/*.a"
> > +SECTION_${PN}-staticlibs = "devel"
> > +RDEPENDS_${PN}-staticlibs = "${PN}-dev (= ${EXTENDPV})"
> > +
> 
> I think if you need to divide it then -dev should be divided into
> static, dynamic and headers otherwise this may not be so useful.

The dynamic package would only consist of some symlinks and .la files
though so wouldn't be that much extra compared to the -dev package?

Cheers,

Richard
Otavio Salvador - June 6, 2011, 7:07 p.m.
On Mon, Jun 6, 2011 at 19:00, Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
> On Mon, 2011-06-06 at 17:31 +0000, Otavio Salvador wrote:
>> I personally prefer -static. -staticlib seems redundant for me since
>> we can end with libfoo-staticlib
>
> -static doesn't really work well given we already have -static packages
> meaning something else (e.g. the busybox case).

Aren't we changing the wrong name? In my opinion then busybox ought to
be renamed. Like busybox-staticlinked or busybox-nolibs.
Richard Purdie - June 6, 2011, 7:31 p.m.
On Mon, 2011-06-06 at 19:07 +0000, Otavio Salvador wrote:
> On Mon, Jun 6, 2011 at 19:00, Richard Purdie
> <richard.purdie@linuxfoundation.org> wrote:
> > On Mon, 2011-06-06 at 17:31 +0000, Otavio Salvador wrote:
> >> I personally prefer -static. -staticlib seems redundant for me since
> >> we can end with libfoo-staticlib
> >
> > -static doesn't really work well given we already have -static packages
> > meaning something else (e.g. the busybox case).
> 
> Aren't we changing the wrong name? In my opinion then busybox ought to
> be renamed. Like busybox-staticlinked or busybox-nolibs.

I think it goes to show that -static is a bad choice of name as it can
take so many different meanings. Its also why I feel strong it should
reflect what people would use it for, not what it physically contains.

Cheers,

Richard
Koen Kooi - June 6, 2011, 7:34 p.m.
Op 6 jun 2011, om 18:50 heeft Saul Wold het volgende geschreven:

> On 06/06/2011 03:50 AM, Richard Purdie wrote:
>> On Mon, 2011-06-06 at 07:55 +0100, Phil Blundell wrote:
>>> On Sun, 2011-06-05 at 23:44 -0700, Saul Wold wrote:
>>>>  SECTION_${PN}-dev = "devel"
>>>>  ALLOW_EMPTY_${PN}-dev = "1"
>>>>  RDEPENDS_${PN}-dev = "${PN} (= ${EXTENDPKGV})"
>>>> 
>>>> +FILES_${PN}-staticlibs = "${libdir}/*.a ${base_libdir}/*.a"
>>>> +SECTION_${PN}-staticlibs = "devel"
>>>> +RDEPENDS_${PN}-staticlibs = "${PN}-dev (= ${EXTENDPV})"
>>> 
>>> This should be ${EXTENDPKGV}, right?
>> 
>> It should.
>> 
>> I'm also not 100% convinced I like "-staticlibs" vs "-staticdev" as it
>> doesn't feel consistent.
>> 
>> The user gets exposed to these at the package manager level and will
>> "xxx install xxx-staticX". The end result they'll get will be the
>> installation of everything they need for static development (i.e. the
>> -dev packages will get pulled in for the headers). This means they don't
>> just result in the static libs as there are dependencies there. From the
>> user perspective they are therefore packages for static development, not
>> just the static libraries...
>> 
> Richard,
> 
> I agree that they are for development and that by their nature they have a dependency on the Development packages, but they contain libs only, not all the development headers or tools, I think its therefore mis-leading to call the package staticdev since they do not contain all the development bits (they might depend on all the bits).  It's a subtle but important distinction.
> 
> As was pointed out earlier Fedora packages static libraries in a "-static" package, but this had other implications for OE due to -static already being in use (for busybox and mplayer), I am not sure that this is not a problem for OE-Core, I would need to investigate.  Meego also seems to use the Fedora standard with "-static".

I just brought that up as the only 2 points of conflict I remember, I still like the '-static' name. But I'm biased since I did this in -dev a while ago :)
Phil Blundell - June 7, 2011, 10:08 a.m.
On Mon, 2011-06-06 at 19:07 +0000, Otavio Salvador wrote:
> On Mon, Jun 6, 2011 at 19:00, Richard Purdie
> <richard.purdie@linuxfoundation.org> wrote:
> > On Mon, 2011-06-06 at 17:31 +0000, Otavio Salvador wrote:
> >> I personally prefer -static. -staticlib seems redundant for me since
> >> we can end with libfoo-staticlib
> >
> > -static doesn't really work well given we already have -static packages
> > meaning something else (e.g. the busybox case).
> 
> Aren't we changing the wrong name? In my opinion then busybox ought to
> be renamed. Like busybox-staticlinked or busybox-nolibs.

I don't think busybox-static even exists in oe-core at the moment so
there may not actually be anything to rename.

p.

Patch

diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index de94316..520b808 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -194,9 +194,13 @@  This package contains ELF symbols and related sources for debugging purposes."
 
 SUMMARY_${PN}-dev ?= "${SUMMARY} - Development files"
 DESCRIPTION_${PN}-dev ?= "${DESCRIPTION}  \
-This package contains symbolic links, static binaries, header files, and \
+This package contains symbolic links, header files, and \
 related items necessary for software development."
 
+SUMMARY_${PN}-staticlibs ?= "${SUMMARY} - Development files (Static Libraries)"
+DESCRIPTION_${PN}-staticlibs?= "${DESCRIPTION}  \
+This package contains static libraries for software development."
+
 SUMMARY_${PN}-doc ?= "${SUMMARY} - Documentation files"
 DESCRIPTION_${PN}-doc ?= "${DESCRIPTION}  \
 This package contains documentation."
@@ -248,13 +252,17 @@  FILES_${PN}-doc = "${docdir} ${mandir} ${infodir} ${datadir}/gtk-doc \
 SECTION_${PN}-doc = "doc"
 
 FILES_${PN}-dev = "${includedir} ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la \
-                ${libdir}/*.a ${libdir}/*.o ${libdir}/pkgconfig \
+                ${libdir}/*.o ${libdir}/pkgconfig \
                 ${datadir}/pkgconfig ${datadir}/aclocal \
                 ${base_libdir}/*.a ${base_libdir}/*.o"
 SECTION_${PN}-dev = "devel"
 ALLOW_EMPTY_${PN}-dev = "1"
 RDEPENDS_${PN}-dev = "${PN} (= ${EXTENDPKGV})"
 
+FILES_${PN}-staticlibs = "${libdir}/*.a ${base_libdir}/*.a"
+SECTION_${PN}-staticlibs = "devel"
+RDEPENDS_${PN}-staticlibs = "${PN}-dev (= ${EXTENDPV})"
+
 DOTDEBUG-dbg = "${bindir}/.debug ${sbindir}/.debug ${libexecdir}/.debug ${libdir}/.debug \
             ${base_bindir}/.debug ${base_sbindir}/.debug ${base_libdir}/.debug ${libdir}/${PN}/.debug \
             ${libdir}/matchbox-panel/.debug /usr/src/debug"