All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] license.bbclass: Don't copy again LICENSE already handled as no-generic
@ 2017-02-14 16:31 Aníbal Limón
  2017-02-14 16:31 ` [PATCH 2/2] classes/license.bbclass: Don't copy unneeded licenses by package Aníbal Limón
  0 siblings, 1 reply; 2+ messages in thread
From: Aníbal Limón @ 2017-02-14 16:31 UTC (permalink / raw)
  To: openembedded-core

The NO_GENERIC_LICENSE mapping was added [1] to enable copy LICENSES
from upstream source code into recipe licenses, previously that only
common-licenses was processed.

This result on copy twice the NO_GENERIC_LICENSE specified because there
is a mapping between license in LIC_CHKSUM and NO_GENERIC_LICENSE.

In order to avoid double copy one as generic_ and other as LICENSE. keep
track of licenses already copied.

For linux-firmware the result will be only generic_ licenses into
common-licenses.

[YOCTO #10325]

[1]
http://lists.openembedded.org/pipermail/openembedded-core/2015-April/104222.html

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
---
 meta/classes/license.bbclass | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass
index 44467d0..3c5e49e 100644
--- a/meta/classes/license.bbclass
+++ b/meta/classes/license.bbclass
@@ -398,6 +398,8 @@ def find_license_files(d):
     generic_directory = d.getVar('COMMON_LICENSE_DIR')
     # List of basename, path tuples
     lic_files_paths = []
+    # hash for keep track generic lics mappings
+    non_generic_lics = {}
     # Entries from LIC_FILES_CHKSUM
     lic_chksums = {}
     license_source_dirs = []
@@ -459,6 +461,7 @@ def find_license_files(d):
             # of the package rather than the license_source_dirs.
             lic_files_paths.append(("generic_" + license_type,
                                     os.path.join(srcdir, non_generic_lic)))
+            non_generic_lics[non_generic_lic] = license_type
         else:
             # Add explicity avoid of CLOSED license because this isn't generic
             if license_type != 'CLOSED':
@@ -492,6 +495,9 @@ def find_license_files(d):
         lic_chksum_paths[os.path.basename(path)][chksum] = os.path.join(srcdir, path)
     for basename, files in lic_chksum_paths.items():
         if len(files) == 1:
+            # Don't copy again a LICENSE already handled as non-generic
+            if basename in non_generic_lics:
+                continue
             lic_files_paths.append((basename, list(files.values())[0]))
         else:
             # If there are multiple different license files with identical
-- 
2.1.4



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

end of thread, other threads:[~2017-02-14 16:28 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-02-14 16:31 [PATCH 1/2] license.bbclass: Don't copy again LICENSE already handled as no-generic Aníbal Limón
2017-02-14 16:31 ` [PATCH 2/2] classes/license.bbclass: Don't copy unneeded licenses by package Aníbal Limón

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.