summaryrefslogtreecommitdiff
path: root/meta/classes/src_distribute.bbclass
blob: f20410d0bb6f624d3a66421b65df9ba005b6f232 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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 "unknown").split()

	sources_dir = bb.data.getVar('SRC_DISTRIBUTEDIR', d, 1)
	import re
	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() {
	:
}