[OE-core] [PATCH] sstate: replace verbose manifest removal with a single count

Robert Yang liezhi.yang at windriver.com
Thu Jan 21 08:33:14 UTC 2016



On 01/19/2016 12:26 AM, Ross Burton wrote:
> If there are lots of changes between the previous build and the build about to
> start bitbake will potentially print pages of:
>
>    DEBUG: Stamp $BUILD/stamps/corei7-64-poky-linux/libdrm/2.4.66-r0 is not reachable, removing related manifests
>
> Instead of spamming the console with this list, write the list of manifests only
> to the debug log and simply write a count to the console.  This way the user
> doesn't get spammed but still knows what is happening if bitbake appears to
> stall with heavy I/O.
>
> Signed-off-by: Ross Burton <ross.burton at intel.com>
> ---
>   meta/classes/sstate.bbclass | 6 +++++-
>   1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
> index 9bef212..918768f 100644
> --- a/meta/classes/sstate.bbclass
> +++ b/meta/classes/sstate.bbclass
> @@ -952,8 +952,12 @@ python sstate_eventhandler2() {
>                   if stamp not in stamps:
>                       toremove.append(l)
>                       if stamp not in seen:
> -                        bb.note("Stamp %s is not reachable, removing related manifests" % stamp)
> +                        bb.debug(2, "Stamp %s is not reachable, removing related manifests" % stamp)
>                           seen.append(stamp)
> +
> +        if toremove:
> +            bb.note("There are %d recipes to be removed from the sysroot, removing..." % (len(toremove)))
> +

Currently, I get:

NOTE: There are 10 recipes to be removed from the sysroot, removing...
NOTE: There are 15 recipes to be removed from the sysroot, removing...
NOTE: There are 30 recipes to be removed from the sysroot, removing...

Can we print more info such as where it is removing, please ? Or
use SSTATE_ARCHS ? For example,:

NOTE: There are 30 recipes to be removed from manifest x86_64, removing...

// Robert

>           for r in toremove:
>               (stamp, manifest, workdir) = r.split()
>               for m in glob.glob(manifest + ".*"):
>



More information about the Openembedded-core mailing list