Patchwork [3/3] license.bbclass: Symbolic links of generic license

login
register
mail settings
Submitter Elizabeth Flanagan
Date Feb. 24, 2012, 10:17 p.m.
Message ID <b939dd1faa6821c6e7c220ce14d7f20961d2c92a.1330121220.git.elizabeth.flanagan@intel.com>
Download mbox | patch
Permalink /patch/21989/
State Accepted
Commit 2c753a714c1ee2b7c6479836f47aeec182ca3670
Headers show

Comments

Elizabeth Flanagan - Feb. 24, 2012, 10:17 p.m.
From: Elizabeth Flanagan <elizabeth.flanagan@intel.com>

This is to reduce the size of licenses added to images. With this
commit license.manifest, original license and generic license
adds about .5M to a core-image-minimal image, substantially less
than what is currently occuring when COPY_LIC_MANIFEST and
COPY_LIC_DIRS are set.

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
---
 meta/classes/license.bbclass |   16 +++++++++-------
 1 files changed, 9 insertions(+), 7 deletions(-)

Patch

diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass
index 11908d9..cfc9eaf 100644
--- a/meta/classes/license.bbclass
+++ b/meta/classes/license.bbclass
@@ -106,22 +106,24 @@  license_create_manifest() {
     # Two options here:
     # - Just copy the manifest
     # - Copy the manifest and the license directories
-    # This will make your image a bit larger, however 
-    # if you are concerned about license compliance 
-    # and delivery this should cover all your bases
-
+    # With both options set we see a .5 M increase in core-image-minimal
     if [ -n "${COPY_LIC_MANIFEST}" ]; then
         mkdir -p ${IMAGE_ROOTFS}/usr/share/common-licenses/
         cp ${LICENSE_DIRECTORY}/${IMAGE_NAME}/license.manifest ${IMAGE_ROOTFS}/usr/share/common-licenses/license.manifest
         if [ -n "${COPY_LIC_DIRS}" ]; then
             for pkg in ${INSTALLED_PKGS}; do
                 mkdir -p ${IMAGE_ROOTFS}/usr/share/common-licenses/${pkg}
-                for lic in `ls ${LICENSE_DIRECTORY}/${pkged_pn}`; do
+                for lic in `ls ${LICENSE_DIRECTORY}/${pkg}`; 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_*" ]; then
-                        cp ${LICENSE_DIRECTORY}/${pkged_pn}/${lic} ${IMAGE_ROOTFS}/usr/share/common-licenses/${pkg}/${lic}
+                    if [[ "${lic}" != "generic_"* ]]; then
+                        cp ${LICENSE_DIRECTORY}/${pkg}/${lic} ${IMAGE_ROOTFS}/usr/share/common-licenses/${pkg}/${lic}
+                    elif [[ "${lic}" == "generic_"* ]]; then
+                        if [ ! -f ${IMAGE_ROOTFS}/usr/share/common-licenses/${lic} ]; then
+                            cp ${LICENSE_DIRECTORY}/${pkg}/${lic} ${IMAGE_ROOTFS}/usr/share/common-licenses/
+                        fi
+                        ln -s ../${lic} ${IMAGE_ROOTFS}/usr/share/common-licenses/${pkg}/${lic}
                     fi
                 done
             done