Skip to content
  • Robert Yang's avatar
    bitbake-whatchanged: print what is about to happen · 1e6d0da8
    Robert Yang authored
    
    
    * Contents:
      - Summary
      - Usage
      - Implementation summary
      - Output
      - TODO
    
    * Summary:
      This is used for printing what is about to happen between the current and last
      builds, for example:
    
      $ bitbake core-image-sato
      # Edit some recipes
      $ bitbake-whatchanged core-image-sato
    
      The changes will be printed.
    
    * Usage:
      bitbake-whatchanged [[opts] recipe]
    
    * Implementation summary:
      - Use the "STAMPS_DIR=<path> bitbake -S recipe" to generate the new
        stamps, compare these stamps to the one in the old stamps dir (tmp/stamps),
        so we will get what are changed.
    
      - When the "-v" (verbose) is not specified:
        > Figure out the newly added tasks
        > Figure out the PV (including PE) and PR changed tasks
        > The left tasks are the ones that the "Dependencies" changed tasks
    
      - When "-v" is specified:
        > Figure out the newly added tasks
        > Use bb.siggen.compare_sigfiles to figure out the details
    
    * Output, for example (core-image-sato with different git tags)
      and with recipes upgraded):
      - without "-v":
        Figuring out the STAMPS_DIR ...
        Generating the new stamps ... (need several minutes)
        === Newly added tasks: (5 tasks)
          core-image-sato: do_configure do_populate_lic do_install do_rootfs do_compile
          # Note: This is because the "bitbake -S" always generate the sigdata for
          # do_compile, do_rootfs and other task, we may need fix this from "bitbake -S"
    
        === PV changed: (130 tasks)
          alsa-utils: 1.0.25 -> 1.0.26
          cross-localedef-native: 2.16 -> 2.17
          eglibc-initial: 2.16 -> 2.17
          [snip]
    
        === Dependencies changed: (3593 tasks)
          busybox: do_package do_package_write do_build do_packagedata do_populate_sysroot do_install do_compile do_package_write_rpm do_configure do_populate_lic
          atk-native: do_compile do_package_write_rpm do_package do_configure do_populate_sysroot do_install do_populate_lic do_patch do_packagedata do_build do_package_write do_unpack
          [snip]
    
        === Summary: (3728 changed, 1134 unchanged)
        Newly added: 5
        PV changed: 130
        PR changed: 0
        Dependencies changed: 3593
    
        Removing the newly generated stamps dir ...
    
      - with "-v":
        === Newly added tasks: (5 tasks)
          core-image-sato: do_configure do_populate_lic do_install do_rootfs do_compile
    
        === The verbose changes of glib-2.0-native.do_do_install:
        Hash for dependent task virtual:native:glib-2.0_2.34.3.bb.do_compile changed from bab8b8dd95be1b83dcec93f755b1812b to 70f746df7809acaa52de204b0685abb4
    
        [snip]
    
        === Summary: (3728 changed, 1134 unchanged)
        Newly added: 5
        Dependencies changed: 3723
    
        Removing the newly generated stamps dir ...
    
    * TODO
      - It seems that the "bitbake -S core-image-sato" has bugs, it would always
        report errors, but doesn't fatal errors
    
      - The gcc-cross' stamps are in tmp/stamps/work-shared, but the
        "bitbake -S" doesn't put the stamps in work-shared.
    
      - The "bitbake -S" always generates the sigdata for image recipe's do_compile,
        do_install and other tasks, we may need fix this from "bitbake -S".
    
      - Print the ones which can be installed from the sstate.
    
    [YOCTO #1659]
    
    (From OE-Core rev: 8783fcc23ccbd829ecb0dc59cf71ee44376094cc)
    
    Signed-off-by: default avatarRobert Yang <liezhi.yang@windriver.com>
    Signed-off-by: default avatarSaul Wold <sgw@linux.intel.com>
    Signed-off-by: default avatarRichard Purdie <richard.purdie@linuxfoundation.org>
    1e6d0da8