Commit Graph

1 Commits

Author SHA1 Message Date
Robert Yang 1e6d0da8d5 bitbake-whatchanged: print what is about to happen
* 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: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-07 11:14:37 +00:00