| Summary: | Parse failure with SCM in SRC_URI and SRCREV not specified | ||
|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] BitBake | Reporter: | Paul Eggleton <bluelightning> |
| Component: | bitbake | Assignee: | Paul Eggleton <bluelightning> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | Undecided | CC: | poky.bs.watcher, poky.watcher |
| Version: | 1.2 | ||
| Target Milestone: | --- | ||
| Hardware: | All | ||
| OS: | Multiple | ||
| Whiteboard: | Fixed | ||
| OS type for building Yocto: | --- | Type of Regression: | --- |
| Verified: | Documentation change: | --- | |
Fixed merged to master in the following commit: http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=43551f513da4c6dc81043099f9e8aa0211eefd8e The error handling was also cleaned up with the following commits: http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=bb81db6f619b1b17661e0f0a637988a6225b40a6 http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=f0809ed7886f41969e1eaa5b9ec831882dd11fd3 http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=64f88bf5d977f5aedf4fda672bba4aa165a72763 |
Since the file checksum change went in we get an exception during parsing any recipe that has an SCM in SRC_URI (e.g. pointing at a git or svn repository) and SRCREV is not specified. This is not recommended, however it did used to at least be permitted. Example error output: ERROR: Failure expanding variable None, expression was ${@bb.fetch.get_checksum_file_list(d)} which triggered exception FetchError: Fetcher failure for URL: 'svn://anonsvn.kde.org/home/kde/tags/KDE/3.5.1;module=kdelibs;date=20060404'. Please set SRCREV to a valid value ERROR: Command execution failed: Traceback (most recent call last): File "/home/paul/poky/poky/bitbake/lib/bb/command.py", line 84, in runAsyncCommand self.cooker.updateCache() File "/home/paul/poky/poky/bitbake/lib/bb/cooker.py", line 1202, in updateCache if not self.parser.parse_next(): File "/home/paul/poky/poky/bitbake/lib/bb/cooker.py", line 1672, in parse_next self.virtuals += len(result) UnboundLocalError: local variable 'result' referenced before assignment Note that this also demonstrates that there are certain kinds of failure that we still don't report well - there is no recipe mentioned in the above error.