[OE-core] [PATCH 00/22] Packaging performance improvements, round 2

Richard Purdie richard.purdie at linuxfoundation.org
Sun Feb 3 23:55:43 UTC 2013


The following patch series contains various performance improvements for 
do_package.

It also includes changes to the sanity testing to start giving warnings 
about packaging variables used without packages being specified, eg:

RDEPENDS = "x"

instead of

RDEPENDS_${PN} = "x"

The final patch in the series stops the packaging code using the non-package
versions in many cases. I'm not planning to merge that one right away, its just
included for illustration and benchmarking purposes now. 

There were three cases I found using bad syntax in OE-Core and the series includes 
patches to fix them.

There is also a useful performance improvement to sstate manipulations to use
hardlinks instead of file copies which should be universally helpful to
build performance of tasks.

The following changes are available in the git repository at:

  git://git.openembedded.org/openembedded-core master-next
  http://cgit.openembedded.org/cgit.cgi/openembedded-core/log/?h=master-next

Richard Purdie (22):
  package.bbclass: Multithread per file dependency generation code
  package: Don't export PATH
  package: Process package stripping in parallel
  insane.bbclass: Add pkgvarcheck to check for suboptimal usages of
    variables
  insane.bbclass: Add documentation headers for logical code blocks
  staging/insane.bbclass: Move legacy do_stage check iinto
    insane.bbclass
  staging.bbclass: Drop unused/legacy function
  update-rc.d: Drop OVERRIDES code
  qemu: Set RDEPENDS on the specific package that needs it
  gdb-cross-canadian: Set RDEPENDS on the specific package that needs
    it
  initramfs-live-boot: Set RDEPENDS on the specific package that needs
    it
  package.bbclass: Fix up bb.mkdirhier/bb.copyfile usage
  package.bbclass: Rewrite split_and_strip_files
  kernel.bbclass: Improve populate_packages_prepend
  package.bbclass: Make use of cleandirs and dirs function flags
  package.bbclass: Various minor performance tweaks
  package.bbclass: Simplify empty directory removal
  package.bbclass: Add PACKAGESPLITFUNCS variable
  sstate/path.py: Add copyhardlinktree() function and use for
    performance optimisation
  package.bbclass: Better document the different phases of operation
  package.bbclass: Pre-expand some variables to save time
  classes: Drop none package specific packaging variable accesses

 meta/classes/base.bbclass                          |    2 +-
 meta/classes/gconf.bbclass                         |    9 +-
 meta/classes/gtk-icon-cache.bbclass                |    4 +-
 meta/classes/gtk-immodules-cache.bbclass           |    4 +-
 meta/classes/insane.bbclass                        |   30 +-
 meta/classes/kernel.bbclass                        |   52 +--
 meta/classes/mime.bbclass                          |    8 +-
 meta/classes/package.bbclass                       |  460 +++++++++-----------
 meta/classes/sstate.bbclass                        |    4 +-
 meta/classes/staging.bbclass                       |    9 -
 meta/classes/update-alternatives.bbclass           |   10 +-
 meta/classes/update-rc.d_real.bbclass              |   21 +-
 meta/lib/oe/package.py                             |   96 ++++
 meta/lib/oe/path.py                                |    4 +
 .../initrdscripts/initramfs-live-boot_1.0.bb       |    2 +-
 meta/recipes-devtools/gdb/gdb-cross-canadian.inc   |    4 +-
 meta/recipes-devtools/qemu/qemu.inc                |    2 +-
 17 files changed, 390 insertions(+), 331 deletions(-)
 create mode 100644 meta/lib/oe/package.py

-- 
1.7.10.4





More information about the Openembedded-core mailing list