mirror of
https://git.yoctoproject.org/poky
synced 2026-04-05 08:02:25 +02:00
During parsing, Python raises RuntimeError: dictionary changed size during iteration in getRuntimeProviders, if you happen to have a recipe with an explicit RDEPENDS on a dynamic package containing a '+' character, such as 'gtk+3-locale-en'. This is because we're using the modified pattern as the key into the packages_dynamic dict to append to rproviders, and since that key doesn't exist, the dict is getting modified to add a new, empty, entry for it. So even without the runtime error, we'd be generating an incorrect result. Fix this by using a local variable for modifying the pattern and using the original key to retrieve the value on a match. (Bitbake rev: 69d3b86449be23b07f794e302f6e18f3a2c46424) Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 07de375c3e57f17ab7b47569186f24ecd9896825) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>