license_class: fix license.manifest shows LICENSE field differently to recipe
PATCH 1/2 license_class: fix license.manifest shows LICENSE field differently to recipe
Drop removal of [|&()*] operators in pkged_lic because this removal is only needed to validate if license is collected.
[YOCTO #6757]
(From OE-Core rev: 57e5f74382d51f2a8df00e18b6008e3d2b44ad1a)
--- meta/classes/license.bbclass | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-)
meta/classes/license.bbclass +7 -6
@@ -49,24 +49,25 @@ license_create_manifest() { pkged_pv="$(sed -n 's/^PV: //p' ${filename})" pkged_name="$(basename $(readlink ${filename}))" - pkged_lic="$(sed -n "/^LICENSE_${pkged_name}: /{ s/^LICENSE_${pkged_name}: //; s/[|&()*]/ /g; s/ */ /g; p }" ${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: //; s/[|&()*]/ /g; s/ */ /g; p }" ${filename})" + 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} - printf "LICENSE:" >> ${LICENSE_MANIFEST} - for lic in ${pkged_lic}; do + 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 - printf " ${lic}" >> ${LICENSE_MANIFEST} done - printf "\n\n" >> ${LICENSE_MANIFEST} done # Two options here:
Signature · 1 line
1.9.1
PATCH 2/2 license.bbclass: fix unexpected operator for LICENSE values with space
From: Martin Jansa <[email protected]>
* add quotes around pkged_lic so that it works correctly with spaces
* fixes following error:
run.license_create_manifest.50601: 193: [: GPLv2: unexpected operator
(From OE-Core rev: 2bb8b2abb689d91b7b7e28e6bd528747bde94dd2)
--- meta/classes/license.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/classes/license.bbclass +1 -1
@@ -50,7 +50,7 @@ license_create_manifest() { 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 + if [ -z "${pkged_lic}" ]; then # fallback checking value of LICENSE pkged_lic="$(sed -n "/^LICENSE: /{ s/^LICENSE: //; p }" ${filename})" fi
Signature · 1 line
1.9.1
akuster808
Appliedmerged to staging
thanks
armin
Quoted 50 lines · Aníbal Limón
Drop removal of [|&()*] operators in
pkged_licbecause this removal is only needed to validate if license is collected.[YOCTO #6757]
(From OE-Core rev:
57e5f74382d51f2a8df00e18b6008e3d2b44ad1a)Signed-off-by Aníbal Limón <[email protected]>Signed-off-by Richard Purdie <[email protected]>--- meta/classes/license.bbclass | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-)meta/classes/license.bbclass +7
-6@@ -49,24 +49,25 @@ license_create_manifest() { pkged_pv="$(sed -n 's/^PV: //p' ${filename})" pkged_name="$(basename $(readlink ${filename}))" - pkged_lic="$(sed -n "/^LICENSE_${pkged_name}: /{ s/^LICENSE_${pkged_name}: //; s/[|&()*]/ /g; s/ */ /g; p }" ${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: //; s/[|&()*]/ /g; s/ */ /g; p }" ${filename})" + 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} - printf "LICENSE:" >> ${LICENSE_MANIFEST} - for lic in ${pkged_lic}; do + 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 - printf " ${lic}" >> ${LICENSE_MANIFEST} done - printf "\n\n" >> ${LICENSE_MANIFEST} done # Two options here: