openembedded-core.lists.openembedded.org archive mirror
 help / color / mirror / Atom feed
* Installing licence files for static/header-only libraries into images
@ 2021-10-13 14:06 Mike Crowe
  2021-10-13 20:32 ` [OE-core] " Khem Raj
  0 siblings, 1 reply; 3+ messages in thread
From: Mike Crowe @ 2021-10-13 14:06 UTC (permalink / raw)
  To: openembedded-core

We're using:

 EXTRA_IMAGE_FEATURES += "lic-pkgs"

to install the corresponding licence packages for all the packages
installed in our image. This works very well for binaries and dynamic
libraries. However, I've recently noticed that it doesn't install licence
files for any static or header-only libraries used during the build.

The corresponding -lic packages are built for such packages, but nothing
causes them to be installed since they are not runtime dependencies of
anything that is installed.

I thought that I could solve this problem by something like:

def lic_deps(d):
    deps = []
    for f in d.getVar('DEPENDS').split():
        if not f.endswith("-native") and not f.startswith("virtual/"):
            deps.append(f + "-lic")
    return ' '.join(deps)

RDEPENDS_${PN}-lic += "${@lic_deps(d)}"

but this fails for recipes that use PROVIDES or other shenanigans which
means that just appending -lic to whatever is in DEPENDS is insufficient.

For the time being I can add the required packages by hand, but this is
brittle in the longer term.

Is there a better way to solve this problem?

Thanks.

Mike.


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

* Re: [OE-core] Installing licence files for static/header-only libraries into images
  2021-10-13 14:06 Installing licence files for static/header-only libraries into images Mike Crowe
@ 2021-10-13 20:32 ` Khem Raj
  2021-10-14 16:51   ` Mike Crowe
  0 siblings, 1 reply; 3+ messages in thread
From: Khem Raj @ 2021-10-13 20:32 UTC (permalink / raw)
  To: mac; +Cc: openembedded-core

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

On Wed, Oct 13, 2021 at 7:06 AM Mike Crowe via lists.openembedded.org <mac=
mcrowe.com@lists.openembedded.org> wrote:

> We're using:
>
>  EXTRA_IMAGE_FEATURES += "lic-pkgs"
>
> to install the corresponding licence packages for all the packages
> installed in our image. This works very well for binaries and dynamic
> libraries. However, I've recently noticed that it doesn't install licence
> files for any static or header-only libraries used during the build.
>
> The corresponding -lic packages are built for such packages, but nothing
> causes them to be installed since they are not runtime dependencies of
> anything that is installed.
>
> I thought that I could solve this problem by something like:
>
> def lic_deps(d):
>     deps = []
>     for f in d.getVar('DEPENDS').split():
>         if not f.endswith("-native") and not f.startswith("virtual/"):
>             deps.append(f + "-lic")
>     return ' '.join(deps)


It will work but in some cases it will be do more than what’s needed
Build time dependencies are not necessarily also runtime dependencies eg it
could be using a tool from that package during build

>
>
> RDEPENDS_${PN}-lic += "${@lic_deps(d)}"
>
> but this fails for recipes that use PROVIDES or other shenanigans which
> means that just appending -lic to whatever is in DEPENDS is insufficient.
>
> For the time being I can add the required packages by hand, but this is
> brittle in the longer term.
>
> Is there a better way to solve this problem?
>
> Thanks.
>
> Mike.
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#156909):
> https://lists.openembedded.org/g/openembedded-core/message/156909
> Mute This Topic: https://lists.openembedded.org/mt/86288556/1997914
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [
> raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>

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

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

* Re: [OE-core] Installing licence files for static/header-only libraries into images
  2021-10-13 20:32 ` [OE-core] " Khem Raj
@ 2021-10-14 16:51   ` Mike Crowe
  0 siblings, 0 replies; 3+ messages in thread
From: Mike Crowe @ 2021-10-14 16:51 UTC (permalink / raw)
  To: openembedded-core

On Wednesday 13 October 2021 at 13:32:03 -0700, Khem Raj wrote:
> On Wed, Oct 13, 2021 at 7:06 AM Mike Crowe via lists.openembedded.org <mac=
> mcrowe.com@lists.openembedded.org> wrote:
> 
> > We're using:
> >
> >  EXTRA_IMAGE_FEATURES += "lic-pkgs"
> >
> > to install the corresponding licence packages for all the packages
> > installed in our image. This works very well for binaries and dynamic
> > libraries. However, I've recently noticed that it doesn't install licence
> > files for any static or header-only libraries used during the build.
> >
> > The corresponding -lic packages are built for such packages, but nothing
> > causes them to be installed since they are not runtime dependencies of
> > anything that is installed.
> >
> > I thought that I could solve this problem by something like:
> >
> > def lic_deps(d):
> >     deps = []
> >     for f in d.getVar('DEPENDS').split():
> >         if not f.endswith("-native") and not f.startswith("virtual/"):
> >             deps.append(f + "-lic")
> >     return ' '.join(deps)
> 
> 
> It will work but in some cases it will be do more than what’s needed
> Build time dependencies are not necessarily also runtime dependencies eg it
> could be using a tool from that package during build

Yes. I was attempting to avoid that to a certain extent by excluding
-native packages.

> > RDEPENDS_${PN}-lic += "${@lic_deps(d)}"
> >
> > but this fails for recipes that use PROVIDES or other shenanigans which
> > means that just appending -lic to whatever is in DEPENDS is insufficient.
> >
> > For the time being I can add the required packages by hand, but this is
> > brittle in the longer term.
> >
> > Is there a better way to solve this problem?

The deficiencies in this solution made me hope that there was a better one.
It doesn't sound like there is. :(

Thanks.

Mike.

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

end of thread, other threads:[~2021-10-14 16:51 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-13 14:06 Installing licence files for static/header-only libraries into images Mike Crowe
2021-10-13 20:32 ` [OE-core] " Khem Raj
2021-10-14 16:51   ` Mike Crowe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).