[oe-commits] org.oe.dev src_distribute.bbclass: merge Poky version which handle all licenses

hrw commit oe at amethyst.openembedded.net
Tue Jun 3 11:30:11 UTC 2008


src_distribute.bbclass: merge Poky version which handle all licenses

Author: hrw at openembedded.org
Branch: org.openembedded.dev
Revision: 6c9b3832ef2260eb1b3a74e74b1d73166ab79d89
ViewMTN: http://monotone.openembedded.org/revision/info/6c9b3832ef2260eb1b3a74e74b1d73166ab79d89
Files:
1
classes/src_distribute.bbclass
Diffs:

#
# mt diff -rba01e413bdb728da68789e852940d3ad1043dc92 -r6c9b3832ef2260eb1b3a74e74b1d73166ab79d89
#
#
#
# patch "classes/src_distribute.bbclass"
#  from [b81e51b6e8492ef0eaa6338345a83f37e644f9b5]
#    to [6007c321b48da993df01aba3f6e0ca33baa53e67]
#
============================================================
--- classes/src_distribute.bbclass	b81e51b6e8492ef0eaa6338345a83f37e644f9b5
+++ classes/src_distribute.bbclass	6007c321b48da993df01aba3f6e0ca33baa53e67
@@ -1,40 +1,27 @@
-include conf/licenses.conf
-
 SRC_DISTRIBUTECOMMAND[func] = "1"
 python do_distribute_sources () {
 	l = bb.data.createCopy(d)
 	bb.data.update_data(l)
-	licenses = (bb.data.getVar('LICENSE', d, 1) or "").split()
-	if not licenses:
-		bb.note("LICENSE not defined")
-	src_distribute_licenses = (bb.data.getVar('SRC_DISTRIBUTE_LICENSES', d, 1) or "").split()
-	# Explanation:
-	# Space seperated items in LICENSE must *all* be distributable
-	# Each space seperated item may be used under any number of | seperated licenses.
-	# If any of those | seperated licenses are distributable, then that component is.
-	# i.e. LICENSE = "GPL LGPL"
-	#     In this case, both components are distributable.
-	# LICENSE = "GPL|QPL|Proprietary"
-	#     In this case, GPL is distributable, so the component is.
-	valid = 1
-	for l in licenses:
-		lvalid = 0
-		for i in l.split("|"):
-			if i in src_distribute_licenses:
-				lvalid = 1
-		if lvalid != 1:
-			valid = 0
-	if valid == 0:
-		bb.note("Licenses (%s) are not all listed in SRC_DISTRIBUTE_LICENSES, skipping source distribution" % licenses)
-		return
+	licenses = (bb.data.getVar('LICENSE', d, 1) or "unknown").split()
+
+	sources_dir = bb.data.getVar('SRC_DISTRIBUTEDIR', d, 1)
 	import re
-	for s in (bb.data.getVar('A', d, 1) or "").split():
-		s = re.sub(';.*$', '', s)
-		cmd = bb.data.getVar('SRC_DISTRIBUTECOMMAND', d, 1)
-		if not cmd:
-			raise bb.build.FuncFailed("Unable to distribute sources, SRC_DISTRIBUTECOMMAND not defined")
-		bb.data.setVar('SRC', s, d)
-		bb.build.exec_func('SRC_DISTRIBUTECOMMAND', d)
+	for license in licenses:
+		for entry in license.split("|"):
+			for s in (bb.data.getVar('A', d, 1) or "").split():
+				s = re.sub(';.*$', '', s)
+				cmd = bb.data.getVar('SRC_DISTRIBUTECOMMAND', d, 1)
+				if not cmd:
+					raise bb.build.FuncFailed("Unable to distribute sources, SRC_DISTRIBUTECOMMAND not defined")
+				bb.data.setVar('SRC', s, d)
+				bb.data.setVar('SRC_DISTRIBUTEDIR', "%s/%s" % (sources_dir, entry), d)
+				bb.build.exec_func('SRC_DISTRIBUTECOMMAND', d)
 }
 
 addtask distribute_sources before do_build after do_fetch
+
+addtask distsrcall after do_distribute_sources
+do_distall[recrdeptask] = "do_distribute_sources"
+base_do_distsrcall() {
+	:
+}






More information about the Openembedded-commits mailing list