| Summary: | Simplify getVar() syntax | ||
|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] BitBake | Reporter: | Evadeflow <evadeflow> |
| Component: | bitbake | Assignee: | Richard Purdie <richard.purdie> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | enhancement | ||
| Priority: | Low | CC: | poky.bs.watcher, poky.watcher, sgw, Viktor.Engelmann |
| Version: | unspecified | ||
| Target Milestone: | Future | ||
| Hardware: | x86 | ||
| OS: | Multiple | ||
| Whiteboard: | |||
| OS type for building Yocto: | --- | Type of Regression: | --- |
| Verified: | Documentation change: | Yes (doc changes required) | |
|
Description
Evadeflow
2012-10-20 16:07:36 UTC
For what its worth you will hear no argument from anyone that the default should have been True. Changing that is now rather hard with some serious backwards compatibility issues however so we're relcutant to touch this issue, particularly when its more cosmetic and there are bigger issues out there. (In reply to comment #1) > For what its worth you will hear no argument from anyone that the default > should have been True. Changing that is now rather hard with some serious > backwards compatibility issues however so we're relcutant to touch this > issue, particularly when its more cosmetic and there are bigger issues out > there. I can totally understand this being a low priority. And it would have to be done very carefully. It seems solvable by introducing new functions with the desired semantics, but leaving the old functions in place for a couple of releases, with deprecation warnings. (The warnings could even be off by default, enabled only by an appropriate commandline arg.) Perhaps there are other readability enhancements in this same vein that could be lumped together in a future release. Building a cross toolchain and compiling an entire distribution for (potentially) multiple embedded targets is so complex that occasional wrong turns are inevitable. Having a semi-formal mechanism for deprecating certain parts of the API might be useful going forward, time and resources permitting. For what its worth, we've at least made the expansion parameter mandatory for this release (2.1) which means we have options in future. In 2.2, expand doesn't even have a default value. Because of that, I get lots of ExpansionError exceptions, saying getVar() missing 1 required positional argument: 'expand'. For 2.3 we've made the default to expand. This completes the transition, the only remaining piece is to remove the default values which are no longer needed. |