| Summary: | options blocks in kdesrc-buildrc work only when the module is specified on cmdline | ||
|---|---|---|---|
| Product: | [Developer tools] kdesrc-build | Reporter: | Michael Pyne <mpyne> |
| Component: | general | Assignee: | Michael Pyne <mpyne> |
| Status: | RESOLVED FIXED | ||
| Severity: | minor | ||
| Priority: | NOR | ||
| Version First Reported In: | Git | ||
| Target Milestone: | --- | ||
| Platform: | Other | ||
| OS: | Linux | ||
| Latest Commit: | https://commits.kde.org/kdesrc-build/a23ed5fd2437d471e6112a0c1cb17b4c60d9e684 | Version Fixed/Implemented In: | 17.08 |
| Sentry Crash Report: | |||
|
Description
Michael Pyne
2017-07-09 20:05:03 UTC
Git commit a23ed5fd2437d471e6112a0c1cb17b4c60d9e684 by Michael Pyne. Committed on 09/07/2017 at 20:16. Pushed by mpyne into branch 'master'. Uniformly handle deferred option assignment. It turns out that there is a code path where ksb::Module objects in the process of being created do not have ModuleResolver::_applyOptions() called on them to ensure that deferred options (from "options" blocks in the config file) as applied if necessary. This affected modules like libdbusmenu-qt, which if processed as part of generating the build list from the config file would *NOT* have _applyOptions() called (because expandModuleSets only ran this on ksb::ModuleSets being expanded, and the resolveSingleSelector call that otherwise would have run applyOptions is only called when modules are passed as cmdline "selectors"). Fix by pushing _applyOptions to be called for all modules processed through expandModuleSets (which despite the name gets a cut at every module in the module list), and removing applyOptions from resolveSingleSelector since it's redundant now. FIXED-IN:17.08 M +6 -10 modules/ksb/ModuleResolver.pm https://commits.kde.org/kdesrc-build/a23ed5fd2437d471e6112a0c1cb17b4c60d9e684 |