diff options
Diffstat (limited to 'meta')
-rw-r--r-- | meta/classes/crate-fetch.bbclass | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/meta/classes/crate-fetch.bbclass b/meta/classes/crate-fetch.bbclass index c0ed434a96..a7fa22b2a0 100644 --- a/meta/classes/crate-fetch.bbclass +++ b/meta/classes/crate-fetch.bbclass | |||
@@ -7,7 +7,22 @@ | |||
7 | # crate://<packagename>/<version> | 7 | # crate://<packagename>/<version> |
8 | # | 8 | # |
9 | 9 | ||
10 | python () { | 10 | def import_crate(d): |
11 | import crate | 11 | import crate |
12 | bb.fetch2.methods.append( crate.Crate() ) | 12 | if not getattr(crate, 'imported', False): |
13 | bb.fetch2.methods.append(crate.Crate()) | ||
14 | crate.imported = True | ||
15 | |||
16 | python crate_import_handler() { | ||
17 | import_crate(d) | ||
13 | } | 18 | } |
19 | |||
20 | addhandler crate_import_handler | ||
21 | crate_import_handler[eventmask] = "bb.event.RecipePreFinalise" | ||
22 | |||
23 | def crate_get_srcrev(d): | ||
24 | import_crate(d) | ||
25 | return bb.fetch2.get_srcrev(d) | ||
26 | |||
27 | # Override SRCPV to make sure it imports the fetcher first | ||
28 | SRCPV = "${@crate_get_srcrev(d)}" | ||