All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/5] license: Add support for handle INCOMPATIBLE_LICENSE
@ 2015-03-14 10:45 Aníbal Limón
  2015-03-14 10:45 ` [PATCH 1/5] license_class: Reimplemented manifest creation in python Aníbal Limón
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Aníbal Limón @ 2015-03-14 10:45 UTC (permalink / raw)
  To: openembedded-core

The next changes was made to implement INCOMPATIBLE_LICENSE handling in manifest
creation this implies to rewrite license_manifest_creation from shell to python.

Tests was made to guarantee compatibility and can be found at,

The last two patches are to avoid warnings in manifest creation due that these
recipes don't collect licenses before.

The following changes since commit 7f30749fe026e9ceb75d73b89271145a45a60763:

  oeqa/parselogs: Skip hda opcode errors (2015-03-12 12:50:24 +0000)

are available in the git repository at:

  git://git.yoctoproject.org/poky-contrib alimon/license-rebase
  http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=alimon/license-rebase

Aníbal Limón (5):
  license_class: Reimplemented manifest creation in python
  license_class: Generalize license_ok function
  license: Add support for handle INCOMPATIBLE_LICENSE in manifest
    creation
  packagegroups: Add LIC_FILES_CHKSUM to avoid warnings in manifest
    creation
  glibc/glibc-collateral.inc: Add LIC_FILES_CHKSUM to avoid warnings in
    manifest creation

 meta/classes/license.bbclass                       | 190 +++++++++++----------
 meta/lib/oe/license.py                             |  84 +++++++++
 meta/recipes-core/glibc/glibc-collateral.inc       |   2 +
 .../packagegroups/packagegroup-base.bb             |   1 +
 .../packagegroups/packagegroup-core-boot.bb        |   1 +
 .../packagegroup-core-buildessential.bb            |   1 +
 .../packagegroup-core-eclipse-debug.bb             |   1 +
 .../packagegroups/packagegroup-core-nfs.bb         |   1 +
 .../packagegroups/packagegroup-core-sdk.bb         |   1 +
 .../packagegroup-core-ssh-dropbear.bb              |   1 +
 .../packagegroups/packagegroup-core-ssh-openssh.bb |   1 +
 .../packagegroup-core-standalone-sdk-target.bb     |   1 +
 .../packagegroups/packagegroup-core-tools-debug.bb |   1 +
 .../packagegroup-core-tools-profile.bb             |   1 +
 .../packagegroups/packagegroup-cross-canadian.bb   |   1 +
 .../packagegroups/packagegroup-self-hosted.bb      |   1 +
 .../packagegroup-core-device-devel.bb              |   1 +
 .../packagegroup-core-full-cmdline.bb              |   1 +
 .../packagegroups/packagegroup-core-lsb.bb         |   1 +
 .../packagegroups/packagegroup-core-clutter.bb     |   1 +
 .../packagegroups/packagegroup-core-directfb.bb    |   1 +
 .../packagegroups/packagegroup-core-x11-base.bb    |   1 +
 .../packagegroups/packagegroup-core-x11-xserver.bb |   1 +
 .../packagegroups/packagegroup-core-x11.bb         |   1 +
 .../packagegroups/packagegroup-core-qt.bb          |   1 +
 .../packagegroups/packagegroup-core-qt4e.bb        |   1 +
 .../packagegroup-qt-toolchain-target.inc           |   1 +
 .../packagegroups/packagegroup-core-x11-sato.bb    |   1 +
 28 files changed, 212 insertions(+), 89 deletions(-)

-- 
1.8.4.5



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

* [PATCH 1/5] license_class: Reimplemented manifest creation in python
  2015-03-14 10:45 [PATCH 0/5] license: Add support for handle INCOMPATIBLE_LICENSE Aníbal Limón
@ 2015-03-14 10:45 ` Aníbal Limón
  2015-03-14 10:45 ` [PATCH 2/5] license_class: Generalize license_ok function Aníbal Limón
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Aníbal Limón @ 2015-03-14 10:45 UTC (permalink / raw)
  To: openembedded-core

Reimplemented license_manifest_create from shell to python for
INCOMPATIBLE_LICENSE handle using oe.license module.

Optimizations are made to avoid license copy now uses a hardlink
and symbolic link this helps to save space during build.

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

diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass
index 044b3b0..9988e35 100644
--- a/meta/classes/license.bbclass
+++ b/meta/classes/license.bbclass
@@ -25,79 +25,81 @@ python write_package_manifest() {
         'w+').write(image_list_installed_packages(d))
 }
 
-license_create_manifest() {
-        # Test if BUILD_IMAGES_FROM_FEEDS is defined in env
-        if [ -n "${BUILD_IMAGES_FROM_FEEDS}" ]; then
-          exit 0
-        fi
-
-	INSTALLED_PKGS=`cat ${LICENSE_DIRECTORY}/${IMAGE_NAME}/package.manifest`
-	LICENSE_MANIFEST="${LICENSE_DIRECTORY}/${IMAGE_NAME}/license.manifest"
-	# remove existing license.manifest file
-	if [ -f ${LICENSE_MANIFEST} ]; then
-		rm ${LICENSE_MANIFEST}
-	fi
-	touch ${LICENSE_MANIFEST}
-	for pkg in ${INSTALLED_PKGS}; do
-		filename=`ls ${PKGDATA_DIR}/runtime-reverse/${pkg}| head -1`
-		pkged_pn="$(sed -n 's/^PN: //p' ${filename})"
-
-		# check to see if the package name exists in the manifest. if so, bail.
-		if grep -q "^PACKAGE NAME: ${pkg}" ${LICENSE_MANIFEST}; then
-			continue
-		fi
-
-		pkged_pv="$(sed -n 's/^PV: //p' ${filename})"
-		pkged_name="$(basename $(readlink ${filename}))"
-		pkged_lic="$(sed -n "/^LICENSE_${pkged_name}: /{ s/^LICENSE_${pkged_name}: //; p }" ${filename})"
-		if [ -z "${pkged_lic}" ]; then
-			# fallback checking value of LICENSE
-			pkged_lic="$(sed -n "/^LICENSE: /{ s/^LICENSE: //; p }" ${filename})"
-		fi
-
-		echo "PACKAGE NAME:" ${pkg} >> ${LICENSE_MANIFEST}
-		echo "PACKAGE VERSION:" ${pkged_pv} >> ${LICENSE_MANIFEST}
-		echo "RECIPE NAME:" ${pkged_pn} >> ${LICENSE_MANIFEST}
-		echo "LICENSE:" ${pkged_lic} >> ${LICENSE_MANIFEST}
-		echo "" >> ${LICENSE_MANIFEST}
-
-		lics="$(echo ${pkged_lic} | sed "s/[|&()*]/ /g" | sed "s/  */ /g" )"
-		for lic in ${lics}; do
-			# to reference a license file trim trailing + symbol
-			if ! [ -e "${LICENSE_DIRECTORY}/${pkged_pn}/generic_${lic%+}" ]; then
-				bbwarn "The license listed ${lic} was not in the licenses collected for ${pkged_pn}"
-			fi
-		done
-	done
-
-	# Two options here:
-	# - Just copy the manifest
-	# - Copy the manifest and the license directories
-	# With both options set we see a .5 M increase in core-image-minimal
-	if [ "${COPY_LIC_MANIFEST}" = "1" ]; then
-		mkdir -p ${IMAGE_ROOTFS}/usr/share/common-licenses/
-		cp ${LICENSE_MANIFEST} ${IMAGE_ROOTFS}/usr/share/common-licenses/license.manifest
-		if [ "${COPY_LIC_DIRS}" = "1" ]; then
-			for pkg in ${INSTALLED_PKGS}; do
-				mkdir -p ${IMAGE_ROOTFS}/usr/share/common-licenses/${pkg}
-				pkged_pn="$(oe-pkgdata-util -p ${PKGDATA_DIR} lookup-recipe ${pkg})"
-				for lic in `ls ${LICENSE_DIRECTORY}/${pkged_pn}`; do
-					# Really don't need to copy the generics as they're 
-					# represented in the manifest and in the actual pkg licenses
-					# Doing so would make your image quite a bit larger
-					if [ "${lic#generic_}" = "${lic}" ]; then
-						cp ${LICENSE_DIRECTORY}/${pkged_pn}/${lic} ${IMAGE_ROOTFS}/usr/share/common-licenses/${pkg}/${lic}
-					else
-						if [ ! -f ${IMAGE_ROOTFS}/usr/share/common-licenses/${lic} ]; then
-							cp ${LICENSE_DIRECTORY}/${pkged_pn}/${lic} ${IMAGE_ROOTFS}/usr/share/common-licenses/
-						fi
-						ln -sf ../${lic} ${IMAGE_ROOTFS}/usr/share/common-licenses/${pkg}/${lic}
-					fi
-				done
-			done
-		fi
-	fi
-
+python license_create_manifest() {
+    import re
+    import oe.packagedata
+
+    build_images_from_feeds = d.getVar('BUILD_IMAGES_FROM_FEEDS', True)
+    if build_images_from_feeds == "1":
+        return 0
+
+    pkg_dic = {}
+    package_manifest = os.path.join(d.getVar('LICENSE_DIRECTORY', True),
+                        d.getVar('IMAGE_NAME', True), 'package.manifest')
+    with open(package_manifest, "r") as package_file:
+        pkg_list = package_file.read().split()
+        for pkg in pkg_list:
+            pkg_info = os.path.join(d.getVar('PKGDATA_DIR', True),
+                                    'runtime-reverse', pkg)
+
+            pkg_lic_name = "LICENSE_" + os.path.basename(os.readlink(pkg_info))
+            pkg_dic[pkg] = oe.packagedata.read_pkgdatafile(pkg_info)
+            if not "LICENSE" in pkg_dic[pkg].keys():
+                pkg_dic[pkg]["LICENSE"] = pkg_dic[pkg][pkg_lic_name]
+
+    license_manifest = os.path.join(d.getVar('LICENSE_DIRECTORY', True),
+                        d.getVar('IMAGE_NAME', True), 'license.manifest')
+    with open(license_manifest, "w") as license_file:
+        for pkg in sorted(pkg_dic):
+            license_file.write("PACKAGE NAME: %s\n" % pkg)
+            license_file.write("PACKAGE VERSION: %s\n" % pkg_dic[pkg]["PV"])
+            license_file.write("RECIPE NAME: %s\n" % pkg_dic[pkg]["PN"])
+            license_file.write("LICENSE: %s\n\n" % pkg_dic[pkg]["LICENSE"])
+
+            licenses = re.sub('[|&()*]', '', pkg_dic[pkg]["LICENSE"])
+            licenses = re.sub('  *', ' ', licenses)
+            for lic in licenses.split():
+                lic_file = os.path.join(d.getVar('LICENSE_DIRECTORY', True),
+                                        pkg_dic[pkg]["PN"], "generic_%s" % 
+                                        re.sub('\+', '', lic))
+                if not os.path.exists(lic_file):
+                   bb.warn("The license listed %s was not in the "\ 
+                            "licenses collected for recipe %s" 
+                            % (lic, pkg_dic[pkg]["PN"]))
+
+    # Two options here:
+    # - Just copy the manifest
+    # - Copy the manifest and the license directories
+    # With both options set we see a .5 M increase in core-image-minimal
+    copy_lic_manifest = d.getVar('COPY_LIC_MANIFEST', True)
+    copy_lic_dirs = d.getVar('COPY_LIC_DIRS', True)
+    if copy_lic_manifest == "1":
+        rootfs_license_dir = os.path.join(d.getVar('IMAGE_ROOTFS', 'True'), 
+                                'usr', 'share', 'common-licenses')
+        os.makedirs(rootfs_license_dir)
+        rootfs_license_manifest = os.path.join(rootfs_license_dir,
+                                                'license.manifest')
+        os.link(license_manifest, rootfs_license_manifest)
+
+        if copy_lic_dirs == "1":
+            for pkg in sorted(pkg_dic):
+                pkg_rootfs_license_dir = os.path.join(rootfs_license_dir, pkg)
+                os.makedirs(pkg_rootfs_license_dir)
+                pkg_license_dir = os.path.join(d.getVar('LICENSE_DIRECTORY', True),
+                                            pkg_dic[pkg]["PN"]) 
+                licenses = os.listdir(pkg_license_dir)
+                for lic in licenses:
+                    rootfs_license = os.path.join(rootfs_license_dir, lic)
+                    pkg_license = os.path.join(pkg_license_dir, lic)
+                    pkg_rootfs_license = os.path.join(pkg_rootfs_license_dir, lic)
+
+                    if re.match("^generic_.*$", lic):
+                        if not os.path.exists(rootfs_license):
+                            os.link(pkg_license, rootfs_license)
+
+                        os.symlink(os.path.join('..', lic), pkg_rootfs_license)
+                    else:
+                        os.link(pkg_license, pkg_rootfs_license)
 }
 
 python do_populate_lic() {
-- 
1.8.4.5



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

* [PATCH 2/5] license_class: Generalize license_ok function
  2015-03-14 10:45 [PATCH 0/5] license: Add support for handle INCOMPATIBLE_LICENSE Aníbal Limón
  2015-03-14 10:45 ` [PATCH 1/5] license_class: Reimplemented manifest creation in python Aníbal Limón
@ 2015-03-14 10:45 ` Aníbal Limón
  2015-03-14 10:45 ` [PATCH 3/5] license: Add support for handle INCOMPATIBLE_LICENSE in manifest creation Aníbal Limón
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Aníbal Limón @ 2015-03-14 10:45 UTC (permalink / raw)
  To: openembedded-core

Add dont_want_licenses as parameter to license_ok function and move it
to oe.license module in order to use in other modules.

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
---
 meta/classes/license.bbclass | 21 ++++-----------------
 meta/lib/oe/license.py       | 14 ++++++++++++++
 2 files changed, 18 insertions(+), 17 deletions(-)

diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass
index 9988e35..4e8e96b 100644
--- a/meta/classes/license.bbclass
+++ b/meta/classes/license.bbclass
@@ -319,36 +319,23 @@ def incompatible_license(d, dont_want_licenses, package=None):
     take into consideration 'or' operand.  dont_want_licenses should be passed
     as canonical (SPDX) names.
     """
-    import re
     import oe.license
-    from fnmatch import fnmatchcase as fnmatch
     license = d.getVar("LICENSE_%s" % package, True) if package else None
     if not license:
         license = d.getVar('LICENSE', True)
 
-    def license_ok(license):
-        for dwl in dont_want_licenses:
-            # If you want to exclude license named generically 'X', we
-            # surely want to exclude 'X+' as well.  In consequence, we
-            # will exclude a trailing '+' character from LICENSE in
-            # case INCOMPATIBLE_LICENSE is not a 'X+' license.
-            lic = license
-            if not re.search('\+$', dwl):
-                lic = re.sub('\+', '', license)
-            if fnmatch(lic, dwl):
-                return False
-        return True
-
     # Handles an "or" or two license sets provided by
     # flattened_licenses(), pick one that works if possible.
     def choose_lic_set(a, b):
-        return a if all(license_ok(lic) for lic in a) else b
+        return a if all(oe.license.license_ok(lic, dont_want_licenses) \
+		 for lic in a) else b
 
     try:
         licenses = oe.license.flattened_licenses(license, choose_lic_set)
     except oe.license.LicenseError as exc:
         bb.fatal('%s: %s' % (d.getVar('P', True), exc))
-    return any(not license_ok(canonical_license(d, l)) for l in licenses)
+    return any(not oe.license.license_ok(canonical_license(d, l), \
+		dont_want_licenses) for l in licenses)
 
 def check_license_flags(d):
     """
diff --git a/meta/lib/oe/license.py b/meta/lib/oe/license.py
index 31ca15b..bc146a2 100644
--- a/meta/lib/oe/license.py
+++ b/meta/lib/oe/license.py
@@ -5,6 +5,20 @@ import ast
 import re
 from fnmatch import fnmatchcase as fnmatch
 
+def license_ok(license, dont_want_licenses):
+    """ Return False if License exist in dont_want_licenses else True """
+    for dwl in dont_want_licenses:
+        # If you want to exclude license named generically 'X', we
+        # surely want to exclude 'X+' as well.  In consequence, we
+        # will exclude a trailing '+' character from LICENSE in
+        # case INCOMPATIBLE_LICENSE is not a 'X+' license.
+        lic = license
+        if not re.search('\+$', dwl):
+            lic = re.sub('\+', '', license)
+        if fnmatch(lic, dwl):
+            return False
+    return True
+
 class LicenseError(Exception):
     pass
 
-- 
1.8.4.5



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

* [PATCH 3/5] license: Add support for handle INCOMPATIBLE_LICENSE in manifest creation
  2015-03-14 10:45 [PATCH 0/5] license: Add support for handle INCOMPATIBLE_LICENSE Aníbal Limón
  2015-03-14 10:45 ` [PATCH 1/5] license_class: Reimplemented manifest creation in python Aníbal Limón
  2015-03-14 10:45 ` [PATCH 2/5] license_class: Generalize license_ok function Aníbal Limón
@ 2015-03-14 10:45 ` Aníbal Limón
  2015-03-14 10:45 ` [PATCH 4/5] packagegroups: Add LIC_FILES_CHKSUM to avoid warnings " Aníbal Limón
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Aníbal Limón @ 2015-03-14 10:45 UTC (permalink / raw)
  To: openembedded-core

When INCOMPATIBLE_LICENSE's is specified it need to be removed from
license.manifest and also avoid copy to target image.

Add ManifestVisitor that walk the license string searching for
INCOMPATIBLE_LICENSE's if found remove it also add validation for avoid
copy INCOMPATIBLE_LICENSE's to target image.

[YOCTO #6765]

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
---
 meta/classes/license.bbclass | 29 ++++++++++++++++--
 meta/lib/oe/license.py       | 70 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 96 insertions(+), 3 deletions(-)

diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass
index 4e8e96b..3cdee5d 100644
--- a/meta/classes/license.bbclass
+++ b/meta/classes/license.bbclass
@@ -29,6 +29,10 @@ python license_create_manifest() {
     import re
     import oe.packagedata
 
+    bad_licenses = (d.getVar("INCOMPATIBLE_LICENSE", True) or "").split()
+    bad_licenses = map(lambda l: canonical_license(d, l), bad_licenses)
+    bad_licenses = expand_wildcard_licenses(d, bad_licenses)
+
     build_images_from_feeds = d.getVar('BUILD_IMAGES_FROM_FEEDS', True)
     if build_images_from_feeds == "1":
         return 0
@@ -51,14 +55,24 @@ python license_create_manifest() {
                         d.getVar('IMAGE_NAME', True), 'license.manifest')
     with open(license_manifest, "w") as license_file:
         for pkg in sorted(pkg_dic):
+            if bad_licenses:
+                try:
+                    (pkg_dic[pkg]["LICENSE"], pkg_dic[pkg]["LICENSES"]) = \
+                        oe.license.manifest_licenses(pkg_dic[pkg]["LICENSE"],
+                        bad_licenses, canonical_license, d)
+                except oe.license.LicenseError as exc:
+                    bb.fatal('%s: %s' % (d.getVar('P', True), exc))
+            else:
+                pkg_dic[pkg]["LICENSES"] = re.sub('[|&()*]', '', pkg_dic[pkg]["LICENSE"])
+                pkg_dic[pkg]["LICENSES"] = re.sub('  *', ' ', pkg_dic[pkg]["LICENSES"])
+                pkg_dic[pkg]["LICENSES"] = pkg_dic[pkg]["LICENSES"].split()
+
             license_file.write("PACKAGE NAME: %s\n" % pkg)
             license_file.write("PACKAGE VERSION: %s\n" % pkg_dic[pkg]["PV"])
             license_file.write("RECIPE NAME: %s\n" % pkg_dic[pkg]["PN"])
             license_file.write("LICENSE: %s\n\n" % pkg_dic[pkg]["LICENSE"])
 
-            licenses = re.sub('[|&()*]', '', pkg_dic[pkg]["LICENSE"])
-            licenses = re.sub('  *', ' ', licenses)
-            for lic in licenses.split():
+            for lic in pkg_dic[pkg]["LICENSES"]:
                 lic_file = os.path.join(d.getVar('LICENSE_DIRECTORY', True),
                                         pkg_dic[pkg]["PN"], "generic_%s" % 
                                         re.sub('\+', '', lic))
@@ -94,11 +108,20 @@ python license_create_manifest() {
                     pkg_rootfs_license = os.path.join(pkg_rootfs_license_dir, lic)
 
                     if re.match("^generic_.*$", lic):
+                        generic_lic = re.search("^generic_(.*)$", lic).group(1)
+                        if oe.license.license_ok(canonical_license(d,
+                            generic_lic), bad_licenses) == False:
+                            continue
+
                         if not os.path.exists(rootfs_license):
                             os.link(pkg_license, rootfs_license)
 
                         os.symlink(os.path.join('..', lic), pkg_rootfs_license)
                     else:
+                        if oe.license.license_ok(canonical_license(d,
+                            lic), bad_licenses) == False:
+                            continue
+
                         os.link(pkg_license, pkg_rootfs_license)
 }
 
diff --git a/meta/lib/oe/license.py b/meta/lib/oe/license.py
index bc146a2..c2e523c 100644
--- a/meta/lib/oe/license.py
+++ b/meta/lib/oe/license.py
@@ -129,3 +129,73 @@ def is_included(licensestr, whitelist=None, blacklist=None):
         return False, excluded
     else:
         return True, included
+
+class ManifestVisitor(LicenseVisitor):
+    """Walk license tree (parsed from a string) removing the incompatible
+    licenses specified"""
+    def __init__(self, dont_want_licenses, canonical_license, d):
+        self._dont_want_licenses = dont_want_licenses
+        self._canonical_license = canonical_license
+        self._d = d
+        self._operators = []
+
+        self.licenses = []
+        self.licensestr = ''
+
+        LicenseVisitor.__init__(self)
+
+    def visit(self, node):
+        if isinstance(node, ast.Str):
+            lic = node.s
+
+            if license_ok(self._canonical_license(self._d, lic),
+                    self._dont_want_licenses) == True:
+                if self._operators:
+                    ops = []
+                    for op in self._operators:
+                        if op == '[':
+                            ops.append(op)
+                        elif op == ']':
+                            ops.append(op)
+                        else:
+                            if not ops:
+                                ops.append(op)
+                            elif ops[-1] in ['[', ']']:
+                                ops.append(op)
+                            else:
+                                ops[-1] = op 
+
+                    if ops[0] != ']':
+                        self.licensestr += ' '
+                    self.licensestr += ' '.join(ops)
+                    if len(ops) == 1:
+                        self.licensestr += ' '
+
+                self.licensestr += lic
+                self.licenses.append(lic)
+                self._operators = []
+        elif isinstance(node, ast.BitAnd):
+            self._operators.append("&")
+        elif isinstance(node, ast.BitOr):
+            self._operators.append("|")
+        elif isinstance(node, ast.List):
+            self._operators.append("[")
+        elif isinstance(node, ast.Load):
+            self.licensestr += ']'
+
+        self.generic_visit(node)
+
+def manifest_licenses(licensestr, dont_want_licenses, canonical_license, d):
+    """Given a license string and dont_want_licenses list,
+       return license string filtered and a list of licenses"""
+    manifest = ManifestVisitor(dont_want_licenses, canonical_license, d)
+
+    # Replace '()' to '[]' for handle in ast as List and Load types.
+    licensestr = licensestr.replace('(', '[').replace(')', ']')
+    try:
+        manifest.visit_string(licensestr)
+    except SyntaxError as exc:
+        raise LicenseSyntaxError(licensestr, exc)
+    manifest.licensestr = manifest.licensestr.replace('[', '(').replace(']', ')')
+
+    return (manifest.licensestr, manifest.licenses)
-- 
1.8.4.5



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

* [PATCH 4/5] packagegroups: Add LIC_FILES_CHKSUM to avoid warnings in manifest creation
  2015-03-14 10:45 [PATCH 0/5] license: Add support for handle INCOMPATIBLE_LICENSE Aníbal Limón
                   ` (2 preceding siblings ...)
  2015-03-14 10:45 ` [PATCH 3/5] license: Add support for handle INCOMPATIBLE_LICENSE in manifest creation Aníbal Limón
@ 2015-03-14 10:45 ` Aníbal Limón
  2015-03-14 10:45 ` [PATCH 5/5] glibc/glibc-collateral.inc: " Aníbal Limón
  2015-03-14 18:52 ` [PATCH 0/5] license: Add support for handle INCOMPATIBLE_LICENSE Aníbal Limón
  5 siblings, 0 replies; 7+ messages in thread
From: Aníbal Limón @ 2015-03-14 10:45 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
---
 meta/recipes-core/packagegroups/packagegroup-base.bb                     | 1 +
 meta/recipes-core/packagegroups/packagegroup-core-boot.bb                | 1 +
 meta/recipes-core/packagegroups/packagegroup-core-buildessential.bb      | 1 +
 meta/recipes-core/packagegroups/packagegroup-core-eclipse-debug.bb       | 1 +
 meta/recipes-core/packagegroups/packagegroup-core-nfs.bb                 | 1 +
 meta/recipes-core/packagegroups/packagegroup-core-sdk.bb                 | 1 +
 meta/recipes-core/packagegroups/packagegroup-core-ssh-dropbear.bb        | 1 +
 meta/recipes-core/packagegroups/packagegroup-core-ssh-openssh.bb         | 1 +
 .../packagegroups/packagegroup-core-standalone-sdk-target.bb             | 1 +
 meta/recipes-core/packagegroups/packagegroup-core-tools-debug.bb         | 1 +
 meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb       | 1 +
 meta/recipes-core/packagegroups/packagegroup-cross-canadian.bb           | 1 +
 meta/recipes-core/packagegroups/packagegroup-self-hosted.bb              | 1 +
 meta/recipes-devtools/packagegroups/packagegroup-core-device-devel.bb    | 1 +
 meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb    | 1 +
 meta/recipes-extended/packagegroups/packagegroup-core-lsb.bb             | 1 +
 meta/recipes-graphics/packagegroups/packagegroup-core-clutter.bb         | 1 +
 meta/recipes-graphics/packagegroups/packagegroup-core-directfb.bb        | 1 +
 meta/recipes-graphics/packagegroups/packagegroup-core-x11-base.bb        | 1 +
 meta/recipes-graphics/packagegroups/packagegroup-core-x11-xserver.bb     | 1 +
 meta/recipes-graphics/packagegroups/packagegroup-core-x11.bb             | 1 +
 meta/recipes-qt/packagegroups/packagegroup-core-qt.bb                    | 1 +
 meta/recipes-qt/packagegroups/packagegroup-core-qt4e.bb                  | 1 +
 meta/recipes-qt/packagegroups/packagegroup-qt-toolchain-target.inc       | 1 +
 meta/recipes-sato/packagegroups/packagegroup-core-x11-sato.bb            | 1 +
 25 files changed, 25 insertions(+)

diff --git a/meta/recipes-core/packagegroups/packagegroup-base.bb b/meta/recipes-core/packagegroups/packagegroup-base.bb
index 369b63e..0c0c404 100644
--- a/meta/recipes-core/packagegroups/packagegroup-base.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-base.bb
@@ -1,5 +1,6 @@
 SUMMARY = "Merge machine and distro options to create a basic machine task/package"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM ?= "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
 PR = "r83"
 
 #
diff --git a/meta/recipes-core/packagegroups/packagegroup-core-boot.bb b/meta/recipes-core/packagegroups/packagegroup-core-boot.bb
index 09f5373..8ce4b53 100644
--- a/meta/recipes-core/packagegroups/packagegroup-core-boot.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-core-boot.bb
@@ -5,6 +5,7 @@
 SUMMARY = "Minimal boot requirements"
 DESCRIPTION = "The minimal set of packages required to boot the system"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM ?= "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
 PR = "r17"
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/meta/recipes-core/packagegroups/packagegroup-core-buildessential.bb b/meta/recipes-core/packagegroups/packagegroup-core-buildessential.bb
index 74ed247..e97522c 100644
--- a/meta/recipes-core/packagegroups/packagegroup-core-buildessential.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-core-buildessential.bb
@@ -5,6 +5,7 @@
 
 SUMMARY = "Essential build dependencies"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM ?= "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
 
 inherit packagegroup
 
diff --git a/meta/recipes-core/packagegroups/packagegroup-core-eclipse-debug.bb b/meta/recipes-core/packagegroups/packagegroup-core-eclipse-debug.bb
index e7b013d..e67c131 100644
--- a/meta/recipes-core/packagegroups/packagegroup-core-eclipse-debug.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-core-eclipse-debug.bb
@@ -1,5 +1,6 @@
 SUMMARY = "Remote debugging tools for Eclipse integration"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM ?= "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
 
 inherit packagegroup
 
diff --git a/meta/recipes-core/packagegroups/packagegroup-core-nfs.bb b/meta/recipes-core/packagegroups/packagegroup-core-nfs.bb
index 247a30e..1d3fb96 100644
--- a/meta/recipes-core/packagegroups/packagegroup-core-nfs.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-core-nfs.bb
@@ -4,6 +4,7 @@
 
 SUMMARY = "NFS package groups"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM ?= "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
 PR = "r2"
 
 inherit packagegroup
diff --git a/meta/recipes-core/packagegroups/packagegroup-core-sdk.bb b/meta/recipes-core/packagegroups/packagegroup-core-sdk.bb
index a41eada..f52b6c2 100644
--- a/meta/recipes-core/packagegroups/packagegroup-core-sdk.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-core-sdk.bb
@@ -4,6 +4,7 @@
 
 SUMMARY = "Software development tools"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM ?= "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
 PR = "r9"
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/meta/recipes-core/packagegroups/packagegroup-core-ssh-dropbear.bb b/meta/recipes-core/packagegroups/packagegroup-core-ssh-dropbear.bb
index e99946f..8b82f80 100644
--- a/meta/recipes-core/packagegroups/packagegroup-core-ssh-dropbear.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-core-ssh-dropbear.bb
@@ -1,5 +1,6 @@
 SUMMARY = "Dropbear SSH client/server"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM ?= "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
 PR = "r1"
 
 inherit packagegroup
diff --git a/meta/recipes-core/packagegroups/packagegroup-core-ssh-openssh.bb b/meta/recipes-core/packagegroups/packagegroup-core-ssh-openssh.bb
index 32d20e6..0dba895 100644
--- a/meta/recipes-core/packagegroups/packagegroup-core-ssh-openssh.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-core-ssh-openssh.bb
@@ -1,5 +1,6 @@
 SUMMARY = "OpenSSH SSH client/server"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM ?= "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
 PR = "r1"
 
 inherit packagegroup
diff --git a/meta/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bb b/meta/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bb
index 154a55c..c84f4f4 100644
--- a/meta/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bb
@@ -1,6 +1,7 @@
 SUMMARY = "Target packages for the standalone SDK"
 PR = "r8"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM ?= "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
 
 inherit packagegroup
 
diff --git a/meta/recipes-core/packagegroups/packagegroup-core-tools-debug.bb b/meta/recipes-core/packagegroups/packagegroup-core-tools-debug.bb
index 82347b9..f2783cf 100644
--- a/meta/recipes-core/packagegroups/packagegroup-core-tools-debug.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-core-tools-debug.bb
@@ -4,6 +4,7 @@
 
 SUMMARY = "Debugging tools"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM ?= "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
 
 inherit packagegroup
 
diff --git a/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb b/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb
index 6f4842f..89b4c72 100644
--- a/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb
@@ -4,6 +4,7 @@
 
 SUMMARY = "Profiling tools"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM ?= "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
 
 PR = "r3"
 
diff --git a/meta/recipes-core/packagegroups/packagegroup-cross-canadian.bb b/meta/recipes-core/packagegroups/packagegroup-cross-canadian.bb
index e3b1c18..c4b474e 100644
--- a/meta/recipes-core/packagegroups/packagegroup-cross-canadian.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-cross-canadian.bb
@@ -1,6 +1,7 @@
 SUMMARY = "Host SDK package for cross canadian toolchain"
 PN = "packagegroup-cross-canadian-${MACHINE}"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM ?= "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
 
 # Save TRANSLATED_TARGET_ARCH before allarch tramples it
 TRANSLATED_TARGET_ARCH = "${@d.getVar('TUNE_ARCH', True).replace('_', '-')}"
diff --git a/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb b/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb
index 47589b6..62c3286 100644
--- a/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb
@@ -6,6 +6,7 @@ SUMMARY = "Self-hosting"
 DESCRIPTION = "Packages required to run the build system"
 PR = "r13"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM ?= "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
 
 inherit packagegroup  distro_features_check
 # rdepends on libx11-dev
diff --git a/meta/recipes-devtools/packagegroups/packagegroup-core-device-devel.bb b/meta/recipes-devtools/packagegroups/packagegroup-core-device-devel.bb
index e831860..c570be4 100644
--- a/meta/recipes-devtools/packagegroups/packagegroup-core-device-devel.bb
+++ b/meta/recipes-devtools/packagegroups/packagegroup-core-device-devel.bb
@@ -1,5 +1,6 @@
 SUMMARY = "Provides a small set of tools for development on the device"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM ?= "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
 
 PR = "r1"
 
diff --git a/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb b/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb
index ad3f240..2f4e2a9 100644
--- a/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb
+++ b/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb
@@ -6,6 +6,7 @@ SUMMARY = "Standard full-featured Linux system"
 DESCRIPTION = "Package group bringing in packages needed for a more traditional full-featured Linux system"
 PR = "r6"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM ?= "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
 
 inherit packagegroup
 
diff --git a/meta/recipes-extended/packagegroups/packagegroup-core-lsb.bb b/meta/recipes-extended/packagegroups/packagegroup-core-lsb.bb
index e0f32e0..832b2fc 100644
--- a/meta/recipes-extended/packagegroups/packagegroup-core-lsb.bb
+++ b/meta/recipes-extended/packagegroups/packagegroup-core-lsb.bb
@@ -6,6 +6,7 @@ SUMMARY = "Linux Standard Base (LSB)"
 DESCRIPTION = "Packages required to satisfy the Linux Standard Base (LSB) specification"
 PR = "r10"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM ?= "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
 
 inherit packagegroup
 
diff --git a/meta/recipes-graphics/packagegroups/packagegroup-core-clutter.bb b/meta/recipes-graphics/packagegroups/packagegroup-core-clutter.bb
index 7540821..b44447a 100644
--- a/meta/recipes-graphics/packagegroups/packagegroup-core-clutter.bb
+++ b/meta/recipes-graphics/packagegroups/packagegroup-core-clutter.bb
@@ -4,6 +4,7 @@
 
 SUMMARY = "Clutter package groups"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM ?= "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
 
 PR = "r6"
 
diff --git a/meta/recipes-graphics/packagegroups/packagegroup-core-directfb.bb b/meta/recipes-graphics/packagegroups/packagegroup-core-directfb.bb
index 53dc0ae..b2a5946 100644
--- a/meta/recipes-graphics/packagegroups/packagegroup-core-directfb.bb
+++ b/meta/recipes-graphics/packagegroups/packagegroup-core-directfb.bb
@@ -1,5 +1,6 @@
 SUMMARY = "DirectFB without X11"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM ?= "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
diff --git a/meta/recipes-graphics/packagegroups/packagegroup-core-x11-base.bb b/meta/recipes-graphics/packagegroups/packagegroup-core-x11-base.bb
index 17301a0..f4a182d 100644
--- a/meta/recipes-graphics/packagegroups/packagegroup-core-x11-base.bb
+++ b/meta/recipes-graphics/packagegroups/packagegroup-core-x11-base.bb
@@ -1,6 +1,7 @@
 SUMMARY = "Basic X11 session"
 DESCRIPTION = "Packages required to set up a basic working X11 session"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM ?= "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
 PR = "r1"
 
 inherit packagegroup distro_features_check
diff --git a/meta/recipes-graphics/packagegroups/packagegroup-core-x11-xserver.bb b/meta/recipes-graphics/packagegroups/packagegroup-core-x11-xserver.bb
index c53f1b7..5502c36 100644
--- a/meta/recipes-graphics/packagegroups/packagegroup-core-x11-xserver.bb
+++ b/meta/recipes-graphics/packagegroups/packagegroup-core-x11-xserver.bb
@@ -4,6 +4,7 @@
 
 SUMMARY = "X11 display server"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM ?= "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
 PR = "r40"
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/meta/recipes-graphics/packagegroups/packagegroup-core-x11.bb b/meta/recipes-graphics/packagegroups/packagegroup-core-x11.bb
index 3537d8c..0098056 100644
--- a/meta/recipes-graphics/packagegroups/packagegroup-core-x11.bb
+++ b/meta/recipes-graphics/packagegroups/packagegroup-core-x11.bb
@@ -3,6 +3,7 @@
 #
 
 LICENSE = "MIT"
+LIC_FILES_CHKSUM ?= "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
 PR = "r40"
 
 inherit packagegroup distro_features_check
diff --git a/meta/recipes-qt/packagegroups/packagegroup-core-qt.bb b/meta/recipes-qt/packagegroups/packagegroup-core-qt.bb
index 5f6916a..9e7e439 100644
--- a/meta/recipes-qt/packagegroups/packagegroup-core-qt.bb
+++ b/meta/recipes-qt/packagegroups/packagegroup-core-qt.bb
@@ -4,6 +4,7 @@
 
 SUMMARY = "Qt package groups"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM ?= "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
 PR = "r4"
 
 # Qt4 could NOT be built on MIPS64 with 64 bits userspace
diff --git a/meta/recipes-qt/packagegroups/packagegroup-core-qt4e.bb b/meta/recipes-qt/packagegroups/packagegroup-core-qt4e.bb
index d4f0fd1..df6a9d3 100644
--- a/meta/recipes-qt/packagegroups/packagegroup-core-qt4e.bb
+++ b/meta/recipes-qt/packagegroups/packagegroup-core-qt4e.bb
@@ -1,6 +1,7 @@
 SUMMARY = "Qt for Embedded Linux (Qt without X11)"
 PR = "r2"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM ?= "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
 
 # Qt4 could NOT be built on MIPS64 with 64 bits userspace
 COMPATIBLE_HOST_mips64 = "null"
diff --git a/meta/recipes-qt/packagegroups/packagegroup-qt-toolchain-target.inc b/meta/recipes-qt/packagegroups/packagegroup-qt-toolchain-target.inc
index 02a0326..0777b26 100644
--- a/meta/recipes-qt/packagegroups/packagegroup-qt-toolchain-target.inc
+++ b/meta/recipes-qt/packagegroups/packagegroup-qt-toolchain-target.inc
@@ -1,4 +1,5 @@
 LICENSE = "MIT"
+LIC_FILES_CHKSUM ?= "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
 
 # Qt4 could NOT be built on MIPS64 with 64 bits userspace
 COMPATIBLE_HOST_mips64 = "null"
diff --git a/meta/recipes-sato/packagegroups/packagegroup-core-x11-sato.bb b/meta/recipes-sato/packagegroups/packagegroup-core-x11-sato.bb
index 2d046c4..2507302 100644
--- a/meta/recipes-sato/packagegroups/packagegroup-core-x11-sato.bb
+++ b/meta/recipes-sato/packagegroups/packagegroup-core-x11-sato.bb
@@ -4,6 +4,7 @@
 
 SUMMARY = "Sato desktop"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM ?= "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
 PR = "r33"
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
-- 
1.8.4.5



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

* [PATCH 5/5] glibc/glibc-collateral.inc: Add LIC_FILES_CHKSUM to avoid warnings in manifest creation
  2015-03-14 10:45 [PATCH 0/5] license: Add support for handle INCOMPATIBLE_LICENSE Aníbal Limón
                   ` (3 preceding siblings ...)
  2015-03-14 10:45 ` [PATCH 4/5] packagegroups: Add LIC_FILES_CHKSUM to avoid warnings " Aníbal Limón
@ 2015-03-14 10:45 ` Aníbal Limón
  2015-03-14 18:52 ` [PATCH 0/5] license: Add support for handle INCOMPATIBLE_LICENSE Aníbal Limón
  5 siblings, 0 replies; 7+ messages in thread
From: Aníbal Limón @ 2015-03-14 10:45 UTC (permalink / raw)
  To: openembedded-core

Add licenses point to COMMON_LICENSE_DIR because glibc-collateral.inc is
a recipe that don't provide tarball/repo with LICENSE files.

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
---
 meta/recipes-core/glibc/glibc-collateral.inc | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/meta/recipes-core/glibc/glibc-collateral.inc b/meta/recipes-core/glibc/glibc-collateral.inc
index dfcebae..f82db06 100644
--- a/meta/recipes-core/glibc/glibc-collateral.inc
+++ b/meta/recipes-core/glibc/glibc-collateral.inc
@@ -1,5 +1,7 @@
 INHIBIT_DEFAULT_DEPS = "1"
 LICENSE = "GPLv2 & LGPLv2.1"
+LIC_FILES_CHKSUM ?= "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 \
+                     file://${COMMON_LICENSE_DIR}/LGPL-2.1;md5=1a6d268fd218675ffea8be556788b780"
 HOMEPAGE = "http://www.gnu.org/software/libc/index.html"
 
 # This needs to match with glibc.inc, otherwise glibc-scripts and glibc-locale
-- 
1.8.4.5



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

* Re: [PATCH 0/5] license: Add support for handle INCOMPATIBLE_LICENSE
  2015-03-14 10:45 [PATCH 0/5] license: Add support for handle INCOMPATIBLE_LICENSE Aníbal Limón
                   ` (4 preceding siblings ...)
  2015-03-14 10:45 ` [PATCH 5/5] glibc/glibc-collateral.inc: " Aníbal Limón
@ 2015-03-14 18:52 ` Aníbal Limón
  5 siblings, 0 replies; 7+ messages in thread
From: Aníbal Limón @ 2015-03-14 18:52 UTC (permalink / raw)
  To: openembedded-core

Sorry i forget to put test result url.

Cheers,
     alimon

On 14/03/15 04:45, Aníbal Limón wrote:
> The next changes was made to implement INCOMPATIBLE_LICENSE handling in manifest
> creation this implies to rewrite license_manifest_creation from shell to python.
>
> Tests was made to guarantee compatibility and can be found at,
https://bugzilla.yoctoproject.org/attachment.cgi?id=2443
> The last two patches are to avoid warnings in manifest creation due that these
> recipes don't collect licenses before.
>
> The following changes since commit 7f30749fe026e9ceb75d73b89271145a45a60763:
>
>    oeqa/parselogs: Skip hda opcode errors (2015-03-12 12:50:24 +0000)
>
> are available in the git repository at:
>
>    git://git.yoctoproject.org/poky-contrib alimon/license-rebase
>    http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=alimon/license-rebase
>
> Aníbal Limón (5):
>    license_class: Reimplemented manifest creation in python
>    license_class: Generalize license_ok function
>    license: Add support for handle INCOMPATIBLE_LICENSE in manifest
>      creation
>    packagegroups: Add LIC_FILES_CHKSUM to avoid warnings in manifest
>      creation
>    glibc/glibc-collateral.inc: Add LIC_FILES_CHKSUM to avoid warnings in
>      manifest creation
>
>   meta/classes/license.bbclass                       | 190 +++++++++++----------
>   meta/lib/oe/license.py                             |  84 +++++++++
>   meta/recipes-core/glibc/glibc-collateral.inc       |   2 +
>   .../packagegroups/packagegroup-base.bb             |   1 +
>   .../packagegroups/packagegroup-core-boot.bb        |   1 +
>   .../packagegroup-core-buildessential.bb            |   1 +
>   .../packagegroup-core-eclipse-debug.bb             |   1 +
>   .../packagegroups/packagegroup-core-nfs.bb         |   1 +
>   .../packagegroups/packagegroup-core-sdk.bb         |   1 +
>   .../packagegroup-core-ssh-dropbear.bb              |   1 +
>   .../packagegroups/packagegroup-core-ssh-openssh.bb |   1 +
>   .../packagegroup-core-standalone-sdk-target.bb     |   1 +
>   .../packagegroups/packagegroup-core-tools-debug.bb |   1 +
>   .../packagegroup-core-tools-profile.bb             |   1 +
>   .../packagegroups/packagegroup-cross-canadian.bb   |   1 +
>   .../packagegroups/packagegroup-self-hosted.bb      |   1 +
>   .../packagegroup-core-device-devel.bb              |   1 +
>   .../packagegroup-core-full-cmdline.bb              |   1 +
>   .../packagegroups/packagegroup-core-lsb.bb         |   1 +
>   .../packagegroups/packagegroup-core-clutter.bb     |   1 +
>   .../packagegroups/packagegroup-core-directfb.bb    |   1 +
>   .../packagegroups/packagegroup-core-x11-base.bb    |   1 +
>   .../packagegroups/packagegroup-core-x11-xserver.bb |   1 +
>   .../packagegroups/packagegroup-core-x11.bb         |   1 +
>   .../packagegroups/packagegroup-core-qt.bb          |   1 +
>   .../packagegroups/packagegroup-core-qt4e.bb        |   1 +
>   .../packagegroup-qt-toolchain-target.inc           |   1 +
>   .../packagegroups/packagegroup-core-x11-sato.bb    |   1 +
>   28 files changed, 212 insertions(+), 89 deletions(-)
>



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

end of thread, other threads:[~2015-03-14 18:52 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-14 10:45 [PATCH 0/5] license: Add support for handle INCOMPATIBLE_LICENSE Aníbal Limón
2015-03-14 10:45 ` [PATCH 1/5] license_class: Reimplemented manifest creation in python Aníbal Limón
2015-03-14 10:45 ` [PATCH 2/5] license_class: Generalize license_ok function Aníbal Limón
2015-03-14 10:45 ` [PATCH 3/5] license: Add support for handle INCOMPATIBLE_LICENSE in manifest creation Aníbal Limón
2015-03-14 10:45 ` [PATCH 4/5] packagegroups: Add LIC_FILES_CHKSUM to avoid warnings " Aníbal Limón
2015-03-14 10:45 ` [PATCH 5/5] glibc/glibc-collateral.inc: " Aníbal Limón
2015-03-14 18:52 ` [PATCH 0/5] license: Add support for handle INCOMPATIBLE_LICENSE 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.