All of lore.kernel.org
 help / color / mirror / Atom feed
* Using A Proprietary Closed License Inside A Layer & Its Recipes
@ 2017-06-15 14:52 Thomas A. F. Thorne MEng AUS MIET
  2017-06-15 19:33 ` Burton, Ross
  0 siblings, 1 reply; 8+ messages in thread
From: Thomas A. F. Thorne MEng AUS MIET @ 2017-06-15 14:52 UTC (permalink / raw)
  To: yocto


[-- Attachment #1.1: Type: text/plain, Size: 2154 bytes --]

Good afternoon,

I am putting together a meta-company-name layer to hold some internal
code.  This will contain a few BSPs for our units, some internally
developed applications and a few config file patches.  I am having
trouble getting recipes to be related to the proprietary license.  

I have added "LICENSE" file to the root of the layer.  I have also added
a "licenses" directory that contains a single "companyname" file that
has our standard copyright boiler plate in it.  In the layer.conf file I
have added
LICENSE_PATH += "${LAYERDIR}/licenses"

When inside a recipe.bb file set:
LICENSE = "companyname"
LIC_FILES_CHKSUM = "file://companyname;md5=260e42b87d2e3235853331775b597ad3"

I get set of errors from bitbake:
NOTE: Preparing RunQueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
ERROR: recipe-0.1-r0 do_configure: QA Issue: recipe: LIC_FILES_CHKSUM
points to an invalid file:
/home/thomasthorne/work/yocto/build-lib/tmp/work/all-poky-linux/recipe/0.1-r0/companyname
[license-checksum]
ERROR: recipe-0.1-r0 do_configure: Fatal QA errors found, failing task.
ERROR: recipe-0.1-r0 do_configure: Function failed: do_qa_configure
ERROR: Logfile of failure stored in:
/home/thomasthorne/work/yocto/build/tmp/work/all-poky-linux/recipe/0.1-r0/temp/log.do_configure.13583
ERROR: Task 487
(/home/thomasthorne/work/yocto/meta-companyname/recipes-companyname/recipe/recipe_0.1.bb,
do_configure) failed with exit code '1'
NOTE: Tasks Summary: Attempted 1557 tasks of which 1556 didn't need to
be rerun and 1 failed.

Should I be including a copy of the license in each recipe separately
instead and then using LIC_FILES_CHKSUM =
"file://companyname;md5=260e42b87d2e3235853331775b597ad3" (or pointing
at a header with the beginline=5; endline=10 syntax)? 

Is it only possible to use the special
LICENSE = "CLOSED"
license for licenses not already placed in the main license directory? 

Any help or pointers would be very gratefully received.  I have been
having a confusing couple of hours with this so far. 

Regards,

-- 
Thomas Thorne  Software Engineer  Net2Edge Limited



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 484 bytes --]

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

* Re: Using A Proprietary Closed License Inside A Layer & Its Recipes
  2017-06-15 14:52 Using A Proprietary Closed License Inside A Layer & Its Recipes Thomas A. F. Thorne MEng AUS MIET
@ 2017-06-15 19:33 ` Burton, Ross
  2017-06-16  9:12   ` Thomas Thorne
  0 siblings, 1 reply; 8+ messages in thread
From: Burton, Ross @ 2017-06-15 19:33 UTC (permalink / raw)
  To: Thomas.Thorne; +Cc: yocto@yoctoproject.org

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

On 15 June 2017 at 15:52, Thomas A. F. Thorne MEng AUS MIET <
Thomas.Thorne@net2edge.com> wrote:

> Is it only possible to use the special
> LICENSE = "CLOSED"
> license for licenses not already placed in the main license directory?
>

Yes, there's special-case logic for 'CLOSED'.  Can you not just use that
for your internal pieces?  It's special-cased in a few places.

Ross

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

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

* Re: Using A Proprietary Closed License Inside A Layer & Its Recipes
@ 2017-06-16  8:59 gmane
  0 siblings, 0 replies; 8+ messages in thread
From: gmane @ 2017-06-16  8:59 UTC (permalink / raw)
  To: yocto

Hi,

On 2017-06-15 17:52, Thomas A. F. Thorne MEng AUS MIET wrote:
> Good afternoon,
> 
> I am putting together a meta-company-name layer to hold some internal
> code.  This will contain a few BSPs for our units, some internally
> developed applications and a few config file patches.  I am having
> trouble getting recipes to be related to the proprietary license.
> 

I am doing something very similar which seems to work:

1) I create a custom-licenses dir in my layer which contains custom 
licenses

2) add custom license path to layer.conf:
LICENSE_PATH += " ${LAYERDIR}/custom-licenses"

3) In the recipe I do this:
LICENSE = "hello-license"
LIC_FILES_CHKSUM = 
"file://${THISDIR}/../../custom-licenses/hello-license;beginline=5;endline=12;md5=36e6988a930e054886e6af19372edb07"

But I don't think that the beginline,endline makes a difference.

Can you try pointing at ${THISIR}/../../<where ever your custom-licenses 
dir is> and see if this makes any difference?

> ERROR: recipe-0.1-r0 do_configure: QA Issue: recipe: LIC_FILES_CHKSUM
> points to an invalid file:
> /home/thomasthorne/work/yocto/build-lib/tmp/work/all-poky-linux/recipe/0.1-r0/companyname
> [license-checksum]

Regards,

Robert


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

* Re: Using A Proprietary Closed License Inside A Layer & Its Recipes
  2017-06-15 19:33 ` Burton, Ross
@ 2017-06-16  9:12   ` Thomas Thorne
  2017-06-16 13:14     ` Joshua Watt
  0 siblings, 1 reply; 8+ messages in thread
From: Thomas Thorne @ 2017-06-16  9:12 UTC (permalink / raw)
  To: Burton, Ross; +Cc: yocto@yoctoproject.org

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

>> Is it only possible to use the special
>> LICENSE = "CLOSED"
>> license for licenses not already placed in the main license directory?
>
> Yes, there's special-case logic for 'CLOSED'.  Can you not just use that for your internal pieces?  It's special-cased in a few places.

I can use CLOSED.  I just wanted to ensure I was following the recommended or best practice.

As this is an internal thing it should be OK for now.  I was wondering what would happen if a closed licenses was updated, as nothing would currently note the md5 change.


The mega manual mentions CLOSED in 7 places.  One of those places also lists "Proprietary" as a value so I could used either in some cases.  Based on my reading of the manual "Proprietary" would not be exempt from setting up the LIC_FILES_CHKSUM, but CLOSED would be.

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

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

* Re: Using A Proprietary Closed License Inside A Layer & Its Recipes
  2017-06-16  9:12   ` Thomas Thorne
@ 2017-06-16 13:14     ` Joshua Watt
  2017-06-16 18:00       ` Khem Raj
  0 siblings, 1 reply; 8+ messages in thread
From: Joshua Watt @ 2017-06-16 13:14 UTC (permalink / raw)
  To: Thomas Thorne, Burton, Ross; +Cc: yocto@yoctoproject.org

On Fri, 2017-06-16 at 09:12 +0000, Thomas Thorne wrote:
> >> Is it only possible to use the special
> >> LICENSE = "CLOSED"
> >> license for licenses not already placed in the main license
> directory?
> >
> > Yes, there's special-case logic for 'CLOSED'.  Can you not just use
> that for your internal pieces?  It's special-cased in a few places.
>  
> I can use CLOSED.  I just wanted to ensure I was following the
> recommended or best practice. 
>  
> As this is an internal thing it should be OK for now.  I was
> wondering what would happen if a closed licenses was updated, as
> nothing would currently note the md5 change. 

FWIW: We created a proprietary license file called files/common-
licenses/company.txt in our proprietary layer, then added the following
to layer.conf:

 COMPANY_COMMON_LICENSES := '${@os.path.normpath("${LAYERDIR}/files/com
mon-licenses")}'
 BB_HASHBASE_WHITELIST_append = " COMPANY_COMMON_LICENSES"

Then a recipe can get the "standard" proprietary license by doing:

 LIC_FILES_CHKSUM =
"file://${COMPANY_COMMON_LICENSES}/company.txt;md5=9b1139fa1fcb869069db
eecca44350a5"

It works pretty well and also make it clear what license the recipe is
under. I believe that the BB_HASHBASE_WHITELIST was necessary at the
time to prevent changes in the project working path from causing a full
rebuild of the all proprietary packages and so that the sstate
signatures would match regardless, but I might be wrong about it being
necessary.

>  
>  
> The mega manual mentions CLOSED in 7 places.  One of those places
> also lists "Proprietary" as a value so I could used either in some
> cases.  Based on my reading of the manual "Proprietary" would not be
> exempt from setting up the LIC_FILES_CHKSUM, but CLOSED would be. 



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

* Re: Using A Proprietary Closed License Inside A Layer & Its Recipes
  2017-06-16 13:14     ` Joshua Watt
@ 2017-06-16 18:00       ` Khem Raj
  2017-06-16 18:11         ` Joshua Watt
  0 siblings, 1 reply; 8+ messages in thread
From: Khem Raj @ 2017-06-16 18:00 UTC (permalink / raw)
  To: yocto


[-- Attachment #1.1: Type: text/plain, Size: 1645 bytes --]

On 6/16/17 6:14 AM, Joshua Watt wrote:
> On Fri, 2017-06-16 at 09:12 +0000, Thomas Thorne wrote:
>>>> Is it only possible to use the special
>>>> LICENSE = "CLOSED"
>>>> license for licenses not already placed in the main license
>> directory?
>>>
>>> Yes, there's special-case logic for 'CLOSED'.  Can you not just use
>> that for your internal pieces?  It's special-cased in a few places.
>>  
>> I can use CLOSED.  I just wanted to ensure I was following the
>> recommended or best practice. 
>>  
>> As this is an internal thing it should be OK for now.  I was
>> wondering what would happen if a closed licenses was updated, as
>> nothing would currently note the md5 change. 
> 
> FWIW: We created a proprietary license file called files/common-
> licenses/company.txt in our proprietary layer, then added the following
> to layer.conf:
> 
>  COMPANY_COMMON_LICENSES := '${@os.path.normpath("${LAYERDIR}/files/com
> mon-licenses")}'
>  BB_HASHBASE_WHITELIST_append = " COMPANY_COMMON_LICENSES"
> 
> Then a recipe can get the "standard" proprietary license by doing:
> 
>  LIC_FILES_CHKSUM =
> "file://${COMPANY_COMMON_LICENSES}/company.txt;md5=9b1139fa1fcb869069db
> eecca44350a5"
> 
> It works pretty well and also make it clear what license the recipe is
> under. I believe that the BB_HASHBASE_WHITELIST was necessary at the
> time to prevent changes in the project working path from causing a full
> rebuild of the all proprietary packages and so that the sstate
> signatures would match regardless, but I might be wrong about it being
> necessary.

is this still the case with latest master ?


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 169 bytes --]

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

* Re: Using A Proprietary Closed License Inside A Layer & Its Recipes
  2017-06-16 18:00       ` Khem Raj
@ 2017-06-16 18:11         ` Joshua Watt
  2017-06-19 16:33           ` Thomas Thorne
  0 siblings, 1 reply; 8+ messages in thread
From: Joshua Watt @ 2017-06-16 18:11 UTC (permalink / raw)
  To: Khem Raj, yocto

On Fri, 2017-06-16 at 11:00 -0700, Khem Raj wrote:
> On 6/16/17 6:14 AM, Joshua Watt wrote:
> > On Fri, 2017-06-16 at 09:12 +0000, Thomas Thorne wrote:
> > > > > Is it only possible to use the special
> > > > > LICENSE = "CLOSED"
> > > > > license for licenses not already placed in the main license
> > > 
> > > directory?
> > > > 
> > > > Yes, there's special-case logic for 'CLOSED'.  Can you not just
> > > > use
> > > 
> > > that for your internal pieces?  It's special-cased in a few
> > > places.
> > >  
> > > I can use CLOSED.  I just wanted to ensure I was following the
> > > recommended or best practice. 
> > >  
> > > As this is an internal thing it should be OK for now.  I was
> > > wondering what would happen if a closed licenses was updated, as
> > > nothing would currently note the md5 change. 
> > 
> > FWIW: We created a proprietary license file called files/common-
> > licenses/company.txt in our proprietary layer, then added the
> > following
> > to layer.conf:
> > 
> >  COMPANY_COMMON_LICENSES := '${@os.path.normpath("${LAYERDIR}/files
> > /com
> > mon-licenses")}'
> >  BB_HASHBASE_WHITELIST_append = " COMPANY_COMMON_LICENSES"
> > 
> > Then a recipe can get the "standard" proprietary license by doing:
> > 
> >  LIC_FILES_CHKSUM =
> > "file://${COMPANY_COMMON_LICENSES}/company.txt;md5=9b1139fa1fcb8690
> > 69db
> > eecca44350a5"
> > 
> > It works pretty well and also make it clear what license the recipe
> > is
> > under. I believe that the BB_HASHBASE_WHITELIST was necessary at
> > the
> > time to prevent changes in the project working path from causing a
> > full
> > rebuild of the all proprietary packages and so that the sstate
> > signatures would match regardless, but I might be wrong about it
> > being
> > necessary.
> 
> is this still the case with latest master ?

I don't actually know, and I don't think I should hazard a guess. We
made this change all the way back in 1.6 (which was embarrassingly
recent for us) and I haven't bother to check (mostly because I forgot
about it until now).

Also as an aside, I think someone would probably tell me to use
BB_HASHBASE_WHITELIST += "COMPANY_COMMON_LICENSES" these days instead
of _append. When I was younger I had trouble knowing when to use one or
the other ;)

> 



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

* Re: Using A Proprietary Closed License Inside A Layer & Its Recipes
  2017-06-16 18:11         ` Joshua Watt
@ 2017-06-19 16:33           ` Thomas Thorne
  0 siblings, 0 replies; 8+ messages in thread
From: Thomas Thorne @ 2017-06-19 16:33 UTC (permalink / raw)
  To: Joshua Watt, Khem Raj, yocto@yoctoproject.org

> > FWIW: We created a proprietary license file called files/common- 
> > licenses/company.txt in our proprietary layer, then added the 
> > following to layer.conf:
> > 
> >  COMPANY_COMMON_LICENSES := '${@os.path.normpath("${LAYERDIR}/files
> > /com
> > mon-licenses")}'
> >  BB_HASHBASE_WHITELIST_append = " COMPANY_COMMON_LICENSES"
> > 
> > Then a recipe can get the "standard" proprietary license by doing:
> > 
> >  LIC_FILES_CHKSUM =
> > "file://${COMPANY_COMMON_LICENSES}/company.txt;md5=9b1139fa1fcb8690
> > 69db
> > eecca44350a5"
> > 
> > It works pretty well and also make it clear what license the recipe 
> > is under. I believe that the BB_HASHBASE_WHITELIST was necessary at 
> > the time to prevent changes in the project working path from causing 
> > a full rebuild of the all proprietary packages and so that the 
> > sstate signatures would match regardless, but I might be wrong about 
> > it being necessary.

Thank you.  Adding the COMPANY_COMMON_LICENSES and BB_HASHTABLE_WHITELIST_append worked great for me.  

> is this still the case with latest master ?

I also tried commenting the "BB_HASHTABLE_WHITELIST_append = "COMPANY_COMMON_LICENSES"" line in the layer.conf file and it all worked fine still without any warnings besides the one for using Ubuntu 16.04.  

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

end of thread, other threads:[~2017-06-19 16:33 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-06-15 14:52 Using A Proprietary Closed License Inside A Layer & Its Recipes Thomas A. F. Thorne MEng AUS MIET
2017-06-15 19:33 ` Burton, Ross
2017-06-16  9:12   ` Thomas Thorne
2017-06-16 13:14     ` Joshua Watt
2017-06-16 18:00       ` Khem Raj
2017-06-16 18:11         ` Joshua Watt
2017-06-19 16:33           ` Thomas Thorne
  -- strict thread matches above, loose matches on Subject: below --
2017-06-16  8:59 gmane

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.