license.bbclass: fix copying license directories failed
For each recipe, it populated license files to ${LICENSE_DIRECTORY}/${PN}, such as kernel's license dir was ${LICENSE_DIRECTORY}/kernel-3.10.17-yocto-standard; In do_rootfs task, it copied license directories from ${LICENSE_DIRECTORY}/ ${pkg}, and ${pkg} was listed in ${INSTALLED_PKGS}; We got ${INSTALLED_PKGS} by rpm query, such as the kernel were 'kernel-*', but the kernel's PN was linux-yocto, so searching ${LICENSE_DIRECTORY}/ kernel-* failed. Copied license directories from ${LICENSE_DIRECTORY}/${PN} fixed this issue. [YOCTO #5572] (From OE-Core rev: 4e00554dfc68b1aad07e161921c27807511420b1) Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
023c35795f
commit
e44e75e576
|
@ -68,15 +68,18 @@ license_create_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}/${pkg}`; do
|
||||
pkged_pn="$(sed -n "/^PACKAGE NAME: ${pkg}$/,/^$/ \
|
||||
{s/^RECIPE NAME: //; /^PACKAGE NAME:/d; /^PACKAGE VERSION:/d; /^LICENSE:/d; p}" \
|
||||
${LICENSE_MANIFEST})"
|
||||
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}/${pkg}/${lic} ${IMAGE_ROOTFS}/usr/share/common-licenses/${pkg}/${lic}
|
||||
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}/${pkg}/${lic} ${IMAGE_ROOTFS}/usr/share/common-licenses/
|
||||
cp ${LICENSE_DIRECTORY}/${pkged_pn}/${lic} ${IMAGE_ROOTFS}/usr/share/common-licenses/
|
||||
fi
|
||||
ln -s ../${lic} ${IMAGE_ROOTFS}/usr/share/common-licenses/${pkg}/${lic}
|
||||
fi
|
||||
|
|
Loading…
Reference in New Issue