Skip to contentSkip to conversation

Changes regarding log checking and license checksums

PATCH Superseded Chen Qi 4 participants 11 messages Mar 18, 2015 – Mar 19, 2015

v1 of 3 Superseded Latest is v3 →

lore
Share & tools
lore

Chen Qi

author
#0 lore raw

cover Changes regarding log checking and license checksums

The following changes since commit 0752c79282b1cc9699743e719518e6c341d50a3a:

systemd: fix /var/log/journal ownership (2015-03-16 17:38:51 +0000)

are available in the git repository at:

git://git.openembedded.org/openembedded-core-contrib ChenQi/log-check-license-warn
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=ChenQi/log-check-license-warn

Chen Qi (5):
rootfs.py: two changes regarding log checking rootfs.py: add log checking ability for deb and ipk
packagegroup: add LIC_FILES_CHKSUM
os-release: add LIC_FILES_CHKSUM glibc-collateral.inc: add LIC_FILES_CHKSUM

 meta/lib/oe/rootfs.py                              | 64 +++++++++++++++-------
 meta/recipes-core/glibc/glibc-collateral.inc       |  2 +
 meta/recipes-core/os-release/os-release.bb         |  1 +
 .../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 +
 .../packagegroup-core-tools-testapps.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 +
 29 files changed, 74 insertions(+), 19 deletions(-)
Signature · 1 line
1.9.1
author
#1 lore raw

PATCH 1/5 rootfs.py: two changes regarding log checking

This patch involves two changes.

1. Extend the regular expression to also catch '^WRARNING:' in _log_check_warn. Warnings from bb.note or bbnote begin with 'WARNING:'. So if we decide to catch warnings at rootfs time, we should not ignore those produced by the build system itself.

2. Delay _log_check in rootfs process so that more warnings are likely to be catched. Note that we should at least delay the _log_check after the execution of ROOTFS_POSTPROCESS_COMMANDS, because we want to catch warnings there.

---
 meta/lib/oe/rootfs.py | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)
meta/lib/oe/rootfs.py +2 -3
index 7e8d5d1..3a77e86 100644
@@ -128,6 +128,7 @@ class Rootfs(object):
             self._generate_kernel_module_deps()
 
         self._cleanup()
+        self._log_check()
 
     def _uninstall_unneeded(self):
         # Remove unneeded init script symlinks
@@ -327,8 +328,6 @@ class RpmRootfs(Rootfs):
 
         self.pm.install_complementary()
 
-        self._log_check()
-
         if self.inc_rpm_image_gen == "1":
             self.pm.backup_packaging_data()
 
@@ -355,7 +354,7 @@ class RpmRootfs(Rootfs):
         pass
 
     def _log_check_warn(self):
-        r = re.compile('^(warn|Warn|NOTE: warn|NOTE: Warn)')
+        r = re.compile('^(warn|Warn|NOTE: warn|NOTE: Warn|WARNING:)')
         log_path = self.d.expand("${T}/log.do_rootfs")
         with open(log_path, 'r') as log:
             for line in log.read().split('\n'):
Signature · 1 line
1.9.1
#2 lore raw

Re: [PATCH 1/5] rootfs.py: two changes regarding log checking

Quoted 4 lines · On Wednesday 18 March 2015 17:16:10 Chen Qi wrote:

1. Extend the regular expression to also catch '^WRARNING:' in _log_check_warn. Warnings from bb.note or bbnote begin with 'WARNING:'. So if we decide to catch warnings at rootfs time, we should not ignore those produced by the build system itself.

FYI, I still have an unfinished patchset to ensure bbwarn calls from shell functions get piped through to BitBake's event system, with the result that such warnings actually get logged and displayed by the BitBake UI. (That doesn't mean this patch shouldn't go in in the mean time, though.)

Cheers,
Paul

Signature · 2 lines
Paul Eggleton
Intel Open Source Technology Centre
#3 lore raw

Re: [PATCH 1/5] rootfs.py: two changes regarding log checking

Hi Paul, Chen,

Days ago i sent a patchset for handle INCOMPATIBLE_LICENSE in manifest creation [1] that contains a rewrite of license_manifest_creation from shell to python, i mean now these warnings appears.

Also i sent a similar patches like Chen's ones to avoid warnings [2][3], You said (Paul) that packagegroups should not have files, how we can address these case to avoid license warnings in packagegroups?

Cheers,
alimon

[1] http://lists.openembedded.org/pipermail/openembedded-core/2015-March/102684.html
[2] http://lists.openembedded.org/pipermail/openembedded-core/2015-March/102683.html
[3] http://lists.openembedded.org/pipermail/openembedded-core/2015-March/102682.html

Quoted 13 lines · Paul Eggleton
Quoted 4 lines · On Wednesday 18 March 2015 17:16:10 Chen Qi wrote:

1. Extend the regular expression to also catch '^WRARNING:' in _log_check_warn. Warnings from bb.note or bbnote begin with 'WARNING:'. So if we decide to catch warnings at rootfs time, we should not ignore those produced by the build system itself.

FYI, I still have an unfinished patchset to ensure bbwarn calls from shell functions get piped through to BitBake's event system, with the result that such warnings actually get logged and displayed by the BitBake UI. (That doesn't mean this patch shouldn't go in in the mean time, though.)

Cheers,
Paul

author
#4 lore raw

Re: [PATCH 1/5] rootfs.py: two changes regarding log checking

Quoted 8 lines · Aníbal Limón

Hi Paul, Chen,

Days ago i sent a patchset for handle INCOMPATIBLE_LICENSE in manifest creation [1] that contains a rewrite of license_manifest_creation from shell to python, i mean now these warnings appears.

Also i sent a similar patches like Chen's ones to avoid warnings [2][3], You said (Paul) that packagegroups should not have files, how we can address these case to avoid license warnings in packagegroups?

Hi Alimon,

Paul suggested to skip checking if the package contains no file, because in such case the license is not relevant as long as the final image is concerned. I will send out a new patchset using the above approach.

Best Regards,
Chen Qi

Quoted 24 lines

Cheers,
alimon

[1] http://lists.openembedded.org/pipermail/openembedded-core/2015-March/102684.html
[2] http://lists.openembedded.org/pipermail/openembedded-core/2015-March/102683.html
[3] http://lists.openembedded.org/pipermail/openembedded-core/2015-March/102682.html

Quoted 13 lines · Paul Eggleton
Quoted 4 lines · On Wednesday 18 March 2015 17:16:10 Chen Qi wrote:

1. Extend the regular expression to also catch '^WRARNING:' in _log_check_warn. Warnings from bb.note or bbnote begin with 'WARNING:'. So if we decide to catch warnings at rootfs time, we should not ignore those produced by the build system itself.

FYI, I still have an unfinished patchset to ensure bbwarn calls from shell functions get piped through to BitBake's event system, with the result that such warnings actually get logged and displayed by the BitBake UI. (That doesn't mean this patch shouldn't go in in the mean time, though.)

Cheers,
Paul

#5 lore raw

Re: [PATCH 1/5] rootfs.py: two changes regarding log checking

In reply to Chen Qi
Quoted 3 lines · Chen Qi

This patch involves two changes.

1. Extend the regular expression to also catch '^WRARNING:' in _log_check_warn.

typo WRARNING

Quoted 52 lines

Warnings from bb.note or bbnote begin with 'WARNING:'. So if we decide to catch warnings at rootfs time, we should not ignore those produced by the build system itself.

2. Delay _log_check in rootfs process so that more warnings are likely to be catched. Note that we should at least delay the _log_check after the execution of ROOTFS_POSTPROCESS_COMMANDS, because we want to catch warnings there.

---
 meta/lib/oe/rootfs.py | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)
meta/lib/oe/rootfs.py +2 -3
index 7e8d5d1..3a77e86 100644
@@ -128,6 +128,7 @@ class Rootfs(object):
             self._generate_kernel_module_deps()
 
         self._cleanup()
+        self._log_check()
 
     def _uninstall_unneeded(self):
         # Remove unneeded init script symlinks
@@ -327,8 +328,6 @@ class RpmRootfs(Rootfs):
 
         self.pm.install_complementary()
 
-        self._log_check()
-
         if self.inc_rpm_image_gen == "1":
             self.pm.backup_packaging_data()
 
@@ -355,7 +354,7 @@ class RpmRootfs(Rootfs):
         pass
 
     def _log_check_warn(self):
-        r = re.compile('^(warn|Warn|NOTE: warn|NOTE: Warn)')
+        r = re.compile('^(warn|Warn|NOTE: warn|NOTE: Warn|WARNING:)')
         log_path = self.d.expand("${T}/log.do_rootfs")
         with open(log_path, 'r') as log:
             for line in log.read().split('\n'):
Signature · 7 lines
1.9.1

-- 
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core
Signature · 1 line
Martin 'JaMa' Jansa     jabber: [email protected]
author
#6 lore raw

PATCH 2/5 rootfs.py: add log checking ability for deb and ipk

In reply to Chen Qi

Extract the common codes of log checking and add the ability of log checking for deb and ipk package backend.

---
 meta/lib/oe/rootfs.py | 61 +++++++++++++++++++++++++++++++++++++--------------
 1 file changed, 44 insertions(+), 17 deletions(-)
meta/lib/oe/rootfs.py +44 -17
index 3a77e86..f887a98 100644
@@ -40,6 +40,43 @@ class Rootfs(object):
     def _log_check(self):
         pass
 
+    def _log_check_warn(self):
+        r = re.compile('^(warn|Warn|NOTE: warn|NOTE: Warn|WARNING:)')
+        log_path = self.d.expand("${T}/log.do_rootfs")
+        with open(log_path, 'r') as log:
+            for line in log.read().split('\n'):
+                if 'log_check' in line or 'NOTE:' in line:
+                    continue
+
+                m = r.search(line)
+                if m:
+                    bb.warn('log_check: There is a warn message in the logfile')
+                    bb.warn('log_check: Matched keyword: [%s]' % m.group())
+                    bb.warn('log_check: %s\n' % line)
+
+    def _log_check_error(self):
+        r = re.compile(self.log_check_regex)
+        log_path = self.d.expand("${T}/log.do_rootfs")
+        with open(log_path, 'r') as log:
+            found_error = 0
+            message = "\n"
+            for line in log.read().split('\n'):
+                if 'log_check' in line:
+                    continue
+
+                m = r.search(line)
+                if m:
+                    found_error = 1
+                    bb.warn('log_check: There were error messages in the logfile')
+                    bb.warn('log_check: Matched keyword: [%s]\n\n' % m.group())
+
+                if found_error >= 1 and found_error <= 5:
+                    message += line + '\n'
+                    found_error += 1
+
+                if found_error == 6:
+                    bb.fatal(message)
+
     def _insert_feed_uris(self):
         if bb.utils.contains("IMAGE_FEATURES", "package-management",
                          True, False, self.d):
@@ -256,7 +293,7 @@ class Rootfs(object):
 class RpmRootfs(Rootfs):
     def __init__(self, d, manifest_dir):
         super(RpmRootfs, self).__init__(d)
-
+        self.log_check_regex = '(unpacking of archive failed|Cannot find package|exit 1|ERR|Fail)'
         self.manifest = RpmManifest(d, manifest_dir)
 
         self.pm = RpmPM(d,
@@ -353,20 +390,6 @@ class RpmRootfs(Rootfs):
         # already saved in /etc/rpm-postinsts
         pass
 
-    def _log_check_warn(self):
-        r = re.compile('^(warn|Warn|NOTE: warn|NOTE: Warn|WARNING:)')
-        log_path = self.d.expand("${T}/log.do_rootfs")
-        with open(log_path, 'r') as log:
-            for line in log.read().split('\n'):
-                if 'log_check' in line or 'NOTE:' in line:
-                    continue
-
-                m = r.search(line)
-                if m:
-                    bb.warn('log_check: There is a warn message in the logfile')
-                    bb.warn('log_check: Matched keyword: [%s]' % m.group())
-                    bb.warn('log_check: %s\n' % line)
-
     def _log_check_error(self):
         r = re.compile('(unpacking of archive failed|Cannot find package|exit 1|ERR|Fail)')
         log_path = self.d.expand("${T}/log.do_rootfs")
@@ -414,6 +437,7 @@ class RpmRootfs(Rootfs):
 class DpkgRootfs(Rootfs):
     def __init__(self, d, manifest_dir):
         super(DpkgRootfs, self).__init__(d)
+        self.log_check_regex = '^E:'
 
         bb.utils.remove(self.image_rootfs, True)
         bb.utils.remove(self.d.getVar('MULTILIB_TEMP_ROOTFS', True), True)
@@ -485,7 +509,8 @@ class DpkgRootfs(Rootfs):
         self.pm.mark_packages("unpacked", registered_pkgs.split())
 
     def _log_check(self):
-        pass
+        self._log_check_warn()
+        self._log_check_error()
 
     def _cleanup(self):
         pass
@@ -494,6 +519,7 @@ class DpkgRootfs(Rootfs):
 class OpkgRootfs(Rootfs):
     def __init__(self, d, manifest_dir):
         super(OpkgRootfs, self).__init__(d)
+        self.log_check_regex = '(exit 1|Collected errors)'
 
         self.manifest = OpkgManifest(d, manifest_dir)
         self.opkg_conf = self.d.getVar("IPKGCONF_TARGET", True)
@@ -755,7 +781,8 @@ class OpkgRootfs(Rootfs):
         self.pm.mark_packages("unpacked", registered_pkgs.split())
 
     def _log_check(self):
-        pass
+        self._log_check_warn()
+        self._log_check_error()
 
     def _cleanup(self):
         pass
Signature · 1 line
1.9.1
author
#7 lore raw

PATCH 3/5 packagegroup: add LIC_FILES_CHKSUM

In reply to Chen Qi

We treat a license without checksum specified as invalid. In specific, find_license_files in license.bbclass needs LIC_FILES_CHKSUM there.

This patch adds LIC_FILES_CHKSUM information to packagegroup recipes to avoid warnings like below at rootfs time.

WARNING: The license listed MIT was not in the licenses collected for packagegroup-core-boot

---
 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-core-tools-testapps.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 +
 26 files changed, 26 insertions(+)
meta/recipes-core/packagegroups/packagegroup-base.bb +1 -0
index 369b63e..41559db 100644
@@ -1,5 +1,6 @@
 SUMMARY = "Merge machine and distro options to create a basic machine task/package"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 PR = "r83"
 
 #
meta/recipes-core/packagegroups/packagegroup-core-boot.bb +1 -0
index 09f5373..fa9c82d 100644
@@ -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://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 PR = "r17"
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
meta/recipes-core/packagegroups/packagegroup-core-buildessential.bb +1 -0
index 74ed247..c33782e 100644
@@ -5,6 +5,7 @@
 
 SUMMARY = "Essential build dependencies"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 
 inherit packagegroup
 
meta/recipes-core/packagegroups/packagegroup-core-eclipse-debug.bb +1 -0
index e7b013d..713b1b5 100644
@@ -1,5 +1,6 @@
 SUMMARY = "Remote debugging tools for Eclipse integration"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 
 inherit packagegroup
 
meta/recipes-core/packagegroups/packagegroup-core-nfs.bb +1 -0
index 247a30e..75813aa 100644
@@ -4,6 +4,7 @@
 
 SUMMARY = "NFS package groups"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 PR = "r2"
 
 inherit packagegroup
meta/recipes-core/packagegroups/packagegroup-core-sdk.bb +1 -0
index a41eada..2fd6789 100644
@@ -4,6 +4,7 @@
 
 SUMMARY = "Software development tools"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 PR = "r9"
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
meta/recipes-core/packagegroups/packagegroup-core-ssh-dropbear.bb +1 -0
index e99946f..3d4f4a9 100644
@@ -1,5 +1,6 @@
 SUMMARY = "Dropbear SSH client/server"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 PR = "r1"
 
 inherit packagegroup
meta/recipes-core/packagegroups/packagegroup-core-ssh-openssh.bb +1 -0
index 32d20e6..d35f04c 100644
@@ -1,5 +1,6 @@
 SUMMARY = "OpenSSH SSH client/server"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 PR = "r1"
 
 inherit packagegroup
meta/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bb +1 -0
index 154a55c..1ae8b95 100644
@@ -1,6 +1,7 @@
 SUMMARY = "Target packages for the standalone SDK"
 PR = "r8"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 
 inherit packagegroup
 
meta/recipes-core/packagegroups/packagegroup-core-tools-debug.bb +1 -0
index 82347b9..bdd94c6 100644
@@ -4,6 +4,7 @@
 
 SUMMARY = "Debugging tools"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 
 inherit packagegroup
 
meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb +1 -0
index 6f4842f..92adba7 100644
@@ -4,6 +4,7 @@
 
 SUMMARY = "Profiling tools"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 
 PR = "r3"
 
meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb +1 -0
index 4177c45..92954c6 100644
@@ -4,6 +4,7 @@
 
 SUMMARY = "Testing tools/applications"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 
 PR = "r2"
 
meta/recipes-core/packagegroups/packagegroup-cross-canadian.bb +1 -0
index e3b1c18..7646399 100644
@@ -1,6 +1,7 @@
 SUMMARY = "Host SDK package for cross canadian toolchain"
 PN = "packagegroup-cross-canadian-${MACHINE}"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 
 # Save TRANSLATED_TARGET_ARCH before allarch tramples it
 TRANSLATED_TARGET_ARCH = "${@d.getVar('TUNE_ARCH', True).replace('_', '-')}"
meta/recipes-core/packagegroups/packagegroup-self-hosted.bb +1 -0
index 47589b6..e855fb9 100644
@@ -6,6 +6,7 @@ SUMMARY = "Self-hosting"
 DESCRIPTION = "Packages required to run the build system"
 PR = "r13"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 
 inherit packagegroup  distro_features_check
 # rdepends on libx11-dev
meta/recipes-devtools/packagegroups/packagegroup-core-device-devel.bb +1 -0
index e831860..02dcf98 100644
@@ -1,5 +1,6 @@
 SUMMARY = "Provides a small set of tools for development on the device"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 
 PR = "r1"
 
meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb +1 -0
index ad3f240..caa8aec 100644
@@ -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://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 
 inherit packagegroup
 
meta/recipes-extended/packagegroups/packagegroup-core-lsb.bb +1 -0
index e0f32e0..509131a 100644
@@ -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://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 
 inherit packagegroup
 
meta/recipes-graphics/packagegroups/packagegroup-core-clutter.bb +1 -0
index 7540821..5c6a799 100644
@@ -4,6 +4,7 @@
 
 SUMMARY = "Clutter package groups"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 
 PR = "r6"
 
meta/recipes-graphics/packagegroups/packagegroup-core-directfb.bb +1 -0
index 53dc0ae..0107ac8 100644
@@ -1,5 +1,6 @@
 SUMMARY = "DirectFB without X11"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
meta/recipes-graphics/packagegroups/packagegroup-core-x11-base.bb +1 -0
index 17301a0..b77c8916 100644
@@ -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://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 PR = "r1"
 
 inherit packagegroup distro_features_check
meta/recipes-graphics/packagegroups/packagegroup-core-x11-xserver.bb +1 -0
index c53f1b7..89d2392 100644
@@ -4,6 +4,7 @@
 
 SUMMARY = "X11 display server"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 PR = "r40"
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
meta/recipes-graphics/packagegroups/packagegroup-core-x11.bb +1 -0
index 3537d8c..a7594a3 100644
@@ -3,6 +3,7 @@
 #
 
 LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 PR = "r40"
 
 inherit packagegroup distro_features_check
meta/recipes-qt/packagegroups/packagegroup-core-qt.bb +1 -0
index 5f6916a..c5a5bf4 100644
@@ -4,6 +4,7 @@
 
 SUMMARY = "Qt package groups"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 PR = "r4"
 
 # Qt4 could NOT be built on MIPS64 with 64 bits userspace
meta/recipes-qt/packagegroups/packagegroup-core-qt4e.bb +1 -0
index d4f0fd1..e2a1615 100644
@@ -1,6 +1,7 @@
 SUMMARY = "Qt for Embedded Linux (Qt without X11)"
 PR = "r2"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 
 # Qt4 could NOT be built on MIPS64 with 64 bits userspace
 COMPATIBLE_HOST_mips64 = "null"
meta/recipes-qt/packagegroups/packagegroup-qt-toolchain-target.inc +1 -0
index 02a0326..19f5a54 100644
@@ -1,4 +1,5 @@
 LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 
 # Qt4 could NOT be built on MIPS64 with 64 bits userspace
 COMPATIBLE_HOST_mips64 = "null"
meta/recipes-sato/packagegroups/packagegroup-core-x11-sato.bb +1 -0
index 2d046c4..261608d 100644
@@ -4,6 +4,7 @@
 
 SUMMARY = "Sato desktop"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 PR = "r33"
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
Signature · 1 line
1.9.1
#8 lore raw

Re: [PATCH 3/5] packagegroup: add LIC_FILES_CHKSUM

Hi Qi,

Quoted 8 lines · On Wednesday 18 March 2015 17:16:12 Chen Qi wrote:

We treat a license without checksum specified as invalid. In specific, find_license_files in license.bbclass needs LIC_FILES_CHKSUM there.

This patch adds LIC_FILES_CHKSUM information to packagegroup recipes to avoid warnings like below at rootfs time.

WARNING: The license listed MIT was not in the licenses collected for
packagegroup-core-boot

FWIW, I *really* don't want to see us do this. Packages produced by packagegroup recipes don't ship any files, they shouldn't have to declare a LIC_FILES_CHKSUM. Same goes for any similar recipe. (Perhaps license.bbclass ought to be checking whether the package contains anything before complaining.)

Cheers,
Paul

Signature · 2 lines
Paul Eggleton
Intel Open Source Technology Centre
author
#9 lore raw

PATCH 4/5 os-release: add LIC_FILES_CHKSUM

In reply to Chen Qi

Add LIC_FILES_CHKSUM to avoid the warning below at rootfs time.

WARNING: The license listed MIT was not in the licenses collected for os-release

---
 meta/recipes-core/os-release/os-release.bb | 1 +
 1 file changed, 1 insertion(+)
meta/recipes-core/os-release/os-release.bb +1 -0
index 33e9581..87fea6f 100644
@@ -3,6 +3,7 @@ inherit allarch
 SUMMARY = "Operating system identification"
 DESCRIPTION = "The /etc/os-release file contains operating system identification data."
 LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 INHIBIT_DEFAULT_DEPS = "1"
 
 do_fetch[noexec] = "1"
Signature · 1 line
1.9.1
author
#10 lore raw

PATCH 5/5 glibc-collateral.inc: add LIC_FILES_CHKSUM

In reply to Chen Qi

Add LIC_FILES_CHKSUM to avoid warnings like below at rootfs time.

WARNING: The license listed GPLv2 was not in the licenses collected for glibc-locale

---
 meta/recipes-core/glibc/glibc-collateral.inc | 2 ++
 1 file changed, 2 insertions(+)
meta/recipes-core/glibc/glibc-collateral.inc +2 -0
index dfcebae..e7258b9 100644
@@ -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
Signature · 1 line
1.9.1