diff options
Diffstat (limited to 'meta/classes/crate-fetch.bbclass')
| -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)}" | ||
