Skip to content
  • Richard Purdie's avatar
    bitbake: runqueue: Fix race issues around hash equivalence and sstate reuse · 6282ef6c
    Richard Purdie authored
    
    
    We identified a use case where a native recipe (autoconf-native) was
    rebuilt with no change in output yet the sstate for do_package tasks
    wasn't being used.
    
    The issue is that do_package tasks have a hard dependency on
    pseudo-native:do_populate_sysroot. That task was one of the many
    tasks being rehashed when autoconf-native's hash was changed.
    
    If update_tasks processed a recipe before it had processed pseudo-native,
    that recipe would be marked as not possible from sstate and would
    run the full tasks.
    
    The fix is to split the processing into two passes, first to handle
    the existing covered/notcovered updates, then in the second pass,
    check whether there are "harddep" issues.
    
    This defers the do_package tasks until after pseudo-native is installed
    from sstate as expected and everything works well again.
    
    (Bitbake rev: 72a3afd99e8b785cb2a2f687e71a58e08cdd9c74)
    
    Signed-off-by: default avatarRichard Purdie <richard.purdie@linuxfoundation.org>
    (cherry picked from commit e479d1e418a7d34f0a4663b4a0e22bb11503c8ab)
    Signed-off-by: default avatarSteve Sakoman <steve@sakoman.com>
    Signed-off-by: default avatarRichard Purdie <richard.purdie@linuxfoundation.org>
    6282ef6c