sanity.bbclass: allow dash to be used as /bin/sh, but print a warning
[vuplus_openembedded] / classes / src_distribute.bbclass
1 SRC_DISTRIBUTECOMMAND[func] = "1"
2 python do_distribute_sources () {
3         l = bb.data.createCopy(d)
4         bb.data.update_data(l)
5         licenses = (bb.data.getVar('LICENSE', d, 1) or "unknown").split()
6
7         sources_dir = bb.data.getVar('SRC_DISTRIBUTEDIR', d, 1)
8         import re
9         for license in licenses:
10                 for entry in license.split("|"):
11                         for url in ((bb.data.getVar('SRC_URI', d, 1) or '').split()):
12                                 bb.fetch.init([url], d)
13                                 s = bb.fetch.localpath(url, d)
14                                 s = re.sub(';.*$', '', s)
15                                 cmd = bb.data.getVar('SRC_DISTRIBUTECOMMAND', d, 1)
16                                 if not cmd:
17                                         raise bb.build.FuncFailed("Unable to distribute sources, SRC_DISTRIBUTECOMMAND not defined")
18                                 bb.data.setVar('SRC', s, d)
19                                 bb.data.setVar('SRC_DISTRIBUTEDIR', "%s/%s" % (sources_dir, entry), d)
20                                 bb.build.exec_func('SRC_DISTRIBUTECOMMAND', d)
21 }
22
23 addtask distribute_sources before do_build after do_fetch
24
25 addtask distsrcall after do_distribute_sources
26 do_distsrcall[recrdeptask] = "do_distribute_sources"
27 base_do_distsrcall() {
28         :
29 }