[oe-commits] Elizabeth Flanagan : license.bbclass: Symbolic links of generic license

git at git.openembedded.org git at git.openembedded.org
Fri Feb 24 23:27:53 UTC 2012


Module: openembedded-core.git
Branch: master
Commit: 2c753a714c1ee2b7c6479836f47aeec182ca3670
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=2c753a714c1ee2b7c6479836f47aeec182ca3670

Author: Elizabeth Flanagan <elizabeth.flanagan at intel.com>
Date:   Fri Feb 24 14:17:39 2012 -0800

license.bbclass: Symbolic links of generic license

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 at intel.com>
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 meta/classes/license.bbclass |   16 +++++++++-------
 1 files changed, 9 insertions(+), 7 deletions(-)

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





More information about the Openembedded-commits mailing list