diff options
Diffstat (limited to 'meta/classes')
| -rw-r--r-- | meta/classes/license.bbclass | 44 | 
1 files changed, 21 insertions, 23 deletions
| diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass index a5374969dc..e6096a65b3 100644 --- a/meta/classes/license.bbclass +++ b/meta/classes/license.bbclass @@ -86,30 +86,28 @@ license_create_manifest() {  	# list of installed packages is broken for deb  	for pkg in ${INSTALLED_PKGS}; do  		# not the best way to do this but licenses are not arch dependant iirc -		files=`find ${TMPDIR}/pkgdata/*/runtime -name ${pkg}| head -1` -		for filename in $files; do -			pkged_pn="$(sed -n 's/^PN: //p' ${filename})" -			pkged_lic="$(sed -n '/^LICENSE: /{ s/^LICENSE: //; s/[+|&()*]/ /g; s/  */ /g; p }' ${filename})" -			pkged_pv="$(sed -n 's/^PV: //p' ${filename})" -			# check to see if the package name exists in the manifest. if so, bail. -			if ! grep -q "PACKAGE NAME: ${pkg}" ${filename}; then -				# exclude local recipes -				if [ ! "${pkged_pn}" = "*locale*" ]; then -					echo "PACKAGE NAME:" ${pkg} >> ${LICENSE_DIRECTORY}/${IMAGE_NAME}/license.manifest -					echo "PACKAGE VERSION:" ${pkged_pv} >> ${LICENSE_DIRECTORY}/${IMAGE_NAME}/license.manifest -					echo "RECIPE NAME:" ${pkged_pn} >> ${LICENSE_DIRECTORY}/${IMAGE_NAME}/license.manifest -					echo "LICENSE: " >> ${LICENSE_DIRECTORY}/${IMAGE_NAME}/license.manifest -					for lic in ${pkged_lic}; do -						if [ -e "${LICENSE_DIRECTORY}/${pkged_pn}/generic_${lic}" ]; then -							echo ${lic}|sed s'/generic_//'g >> ${LICENSE_DIRECTORY}/${IMAGE_NAME}/license.manifest -						else -							echo "WARNING: The license listed, " ${lic} " was not in the licenses collected for " ${pkged_pn}>> ${LICENSE_DIRECTORY}/${IMAGE_NAME}/license.manifest -						fi -					done -					echo "" >> ${LICENSE_DIRECTORY}/${IMAGE_NAME}/license.manifest -				fi +		filename=`ls ${TMPDIR}/pkgdata/*/runtime/${pkg}| head -1` +		pkged_pn="$(sed -n 's/^PN: //p' ${filename})" +		pkged_lic="$(sed -n '/^LICENSE: /{ s/^LICENSE: //; s/[+|&()*]/ /g; s/  */ /g; p }' ${filename})" +		pkged_pv="$(sed -n 's/^PV: //p' ${filename})" +		# check to see if the package name exists in the manifest. if so, bail. +		if ! grep -q "PACKAGE NAME: ${pkg}" ${filename}; then +			# exclude local recipes +			if [ ! "${pkged_pn}" = "*locale*" ]; then +				echo "PACKAGE NAME:" ${pkg} >> ${LICENSE_DIRECTORY}/${IMAGE_NAME}/license.manifest +				echo "PACKAGE VERSION:" ${pkged_pv} >> ${LICENSE_DIRECTORY}/${IMAGE_NAME}/license.manifest +				echo "RECIPE NAME:" ${pkged_pn} >> ${LICENSE_DIRECTORY}/${IMAGE_NAME}/license.manifest +				echo "LICENSE: " >> ${LICENSE_DIRECTORY}/${IMAGE_NAME}/license.manifest +				for lic in ${pkged_lic}; do +					if [ -e "${LICENSE_DIRECTORY}/${pkged_pn}/generic_${lic}" ]; then +						echo ${lic}|sed s'/generic_//'g >> ${LICENSE_DIRECTORY}/${IMAGE_NAME}/license.manifest +					else +						echo "WARNING: The license listed, " ${lic} " was not in the licenses collected for " ${pkged_pn}>> ${LICENSE_DIRECTORY}/${IMAGE_NAME}/license.manifest +					fi +				done +				echo "" >> ${LICENSE_DIRECTORY}/${IMAGE_NAME}/license.manifest  			fi -		done +		fi  	done  	# Two options here: | 
