Bug 11021

Summary: Section on source archiving needs to discuss filtering options
Product: [Documentation] Development Manual Reporter: Paul Eggleton <bluelightning>
Component: developmentAssignee: Scott Rifenbark <srifenbark>
Status: RESOLVED FIXED QA Contact:
Severity: enhancement    
Priority: Medium CC: srifenbark
Version: 2.3   
Target Milestone: 2.3 M4   
Hardware: x86   
OS: Multiple   
Whiteboard: 10 April 2017: RESOLVED
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: Done (doc changes complete)

Description Paul Eggleton 2017-02-07 01:41:28 UTC
The "Maintaining Open Source License Compliance During Your Product's Lifecycle" section in the dev manual covers use of archiver.bbclass, but is missing mention of the filtering options e.g COPYLEFT_LICENSE_INCLUDE, COPYLEFT_LICENSE_EXCLUDE and COPYLEFT_RECIPE_TYPES - instead it includes a script to do this filtering. I suspect that script is no longer needed since the introduction of these variables (a few releases ago).
Comment 1 Scott Rifenbark 2017-02-07 18:17:02 UTC
Paul, 

We currently do not document the variables  COPYLEFT_LICENSE_INCLUDE, COPYLEFT_LICENSE_EXCLUDE and COPYLEFT_RECIPE_TYPES.  Can you provide some base explanations for these variables?  Once I understand them more I can see where they fit in or replace stuff in that "Maintaining Open Source License Compliance During Your Product's Lifecycle" section.  I read through the section and don't really understand it at this point.

Thanks, 
Scott
Comment 2 Paul Eggleton 2017-02-07 19:22:23 UTC
OK so here is something for each variable - I see there are a couple more related ones that weren't covered as well:

COPYLEFT_LICENSE_INCLUDE is a space-separated list of licenses to include in the source archived by the archiver class, i.e. if a license in a recipe's LICENSE value is in the value of COPYLEFT_LICENSE_INCLUDE then its source will be archived by the class. The value default set by the copyleft_filter class (which is inherited by the archiver class) is "GPL* LGPL*".

COPYLEFT_LICENSE_EXCLUDE is a space-separated list of licenses to exclude from the source archived by the archiver class, i.e. if a license in a recipe's LICENSE value is in the value of COPYLEFT_LICENSE_EXCLUDE then its source will not be archived by the class. This takes precedence over COPYLEFT_LICENSE_INCLUDE. The default value set by the copyleft_filter class (which is inherited by the archiver class) is "CLOSED Proprietary".

COPYLEFT_RECIPE_TYPES is a space-separated list of recipe types to include in the source archived by the archiver class - where the types are target, native, nativesdk, cross, crosssdk and cross-canadian. The default value set by the copyleft_filter class (which is inherited by the archiver class) is "target".

COPYLEFT_PN_INCLUDE is a list of recipes to include in the source archived by the archiver class. This overrides the license inclusion / exclusion by COPYLEFT_LICENSE_INCLUDE / COPYLEFT_LICENSE_EXCLUDE. The default value set by the copyleft_filter class (which is inherited by the archiver class) is "" i.e. do not explicitly include any recipes by name.

COPYLEFT_PN_EXCLUDE is a list of recipes to exclude from the source archived by the archiver class. This overrides the license inclusion / exclusion by COPYLEFT_LICENSE_INCLUDE / COPYLEFT_LICENSE_EXCLUDE and COPYLEFT_PN_INCLUDE. The default value set by the copyleft_filter class (which is inherited by the archiver class) is "" i.e. do not explicitly exclude any recipes by name.
Comment 3 Scott Rifenbark 2017-02-14 02:54:47 UTC
(In reply to comment #2)
> OK so here is something for each variable - I see there are a couple more
> related ones that weren't covered as well:
> 
> COPYLEFT_LICENSE_INCLUDE is a space-separated list of licenses to include in
> the source archived by the archiver class, i.e. if a license in a recipe's
> LICENSE value is in the value of COPYLEFT_LICENSE_INCLUDE then its source
> will be archived by the class. The value default set by the copyleft_filter
> class (which is inherited by the archiver class) is "GPL* LGPL*".

See http://www.yoctoproject.org/docs/2.3/ref-manual/ref-manual.html#var-COPYLEFT_LICENSE_INCLUDE for the new description.

> 
> COPYLEFT_LICENSE_EXCLUDE is a space-separated list of licenses to exclude
> from the source archived by the archiver class, i.e. if a license in a
> recipe's LICENSE value is in the value of COPYLEFT_LICENSE_EXCLUDE then its
> source will not be archived by the class. This takes precedence over
> COPYLEFT_LICENSE_INCLUDE. The default value set by the copyleft_filter class
> (which is inherited by the archiver class) is "CLOSED Proprietary".

See http://www.yoctoproject.org/docs/2.3/ref-manual/ref-manual.html#var-COPYLEFT_LICENSE_EXCLUDE for the new description.

> 
> COPYLEFT_RECIPE_TYPES is a space-separated list of recipe types to include
> in the source archived by the archiver class - where the types are target,
> native, nativesdk, cross, crosssdk and cross-canadian. The default value set
> by the copyleft_filter class (which is inherited by the archiver class) is
> "target".

See http://www.yoctoproject.org/docs/2.3/ref-manual/ref-manual.html#var-COPYLEFT_RECIPE_TYPES for the new description.

> 
> COPYLEFT_PN_INCLUDE is a list of recipes to include in the source archived
> by the archiver class. This overrides the license inclusion / exclusion by
> COPYLEFT_LICENSE_INCLUDE / COPYLEFT_LICENSE_EXCLUDE. The default value set
> by the copyleft_filter class (which is inherited by the archiver class) is
> "" i.e. do not explicitly include any recipes by name.

See http://www.yoctoproject.org/docs/2.3/ref-manual/ref-manual.html#var-COPYLEFT_PN_INCLUDE for the new description.

> 
> COPYLEFT_PN_EXCLUDE is a list of recipes to exclude from the source archived
> by the archiver class. This overrides the license inclusion / exclusion by
> COPYLEFT_LICENSE_INCLUDE / COPYLEFT_LICENSE_EXCLUDE and COPYLEFT_PN_INCLUDE.
> The default value set by the copyleft_filter class (which is inherited by
> the archiver class) is "" i.e. do not explicitly exclude any recipes by name.

See http://www.yoctoproject.org/docs/2.3/ref-manual/ref-manual.html#var-COPYLEFT_PN_EXCLUDE for the new description.
Comment 4 Scott Rifenbark 2017-03-20 18:24:38 UTC
Setting to 2.3 M4 and need the review on the changes.

Scott
Comment 5 Scott Rifenbark 2017-04-10 18:19:51 UTC
Hi, 

No review since February - Assumed good.  Marking as RESOLVED and putting the doc flag to "done."

thanks,
Scott