Patchwork [00/10] Missing deps discovered in per-recipe builds

login
register
mail settings
Submitter Martin Jansa
Date July 5, 2013, 1:23 a.m.
Message ID <cover.1372987207.git.Martin.Jansa@gmail.com>
Download mbox
Permalink /patch/53053/
State Accepted, archived
Headers show

Pull-request

git://git.openembedded.org/meta-openembedded-contrib jansa/deps

Comments

Martin Jansa - July 5, 2013, 1:23 a.m.
I was using simple script to build each component alone:

#!/bin/bash

rm -rf tmp-eglibc/abi_version tmp-eglibc/buildstats tmp-eglibc/cache tmp-eglibc/deploy tmp-eglibc/log tmp-eglibc/pkgdata pseudodone tmp-eglibc/saved_tmpdir tmp-eglibc/sstate-control tmp-eglibc/stamps tmp-eglibc/sysroots tmp-eglibc/work-shared tmp-eglibc/work/*
rm -rf log.*

ls -d buildhistory/packages/*/* | xargs -n 1 basename | sort -u > component.list
ncomponents=`cat component.list | wc -l`
i=1
for component in `cat component.list`; do
  echo "Building component: ${component} ($i/$ncomponents)"
  bitbake -c cleansstate ${component} | tee log.${component};
  bitbake ${component} | tee -a log.${component};
  rm -rf tmp-eglibc/abi_version tmp-eglibc/buildstats tmp-eglibc/cache tmp-eglibc/deploy tmp-eglibc/log tmp-eglibc/pkgdata pseudodone tmp-eglibc/saved_tmpdir tmp-eglibc/sstate-control tmp-eglibc/stamps tmp-eglibc/sysroots tmp-eglibc/work-shared tmp-eglibc/work/*
  i=`expr $i + 1`
done
grep "NOTE: Tasks Summary: Attempted.*failed.$" log.*

That should cover missing mandatory dependencies.
Comparing depends.dot files in buildhistory between incremental build and this per-component build should detect at least some autodetected dependencies. In per-component builds it can find only libraries already included in dependency tree, so dependencies lost in buildhistory aren't deterministic.
Even better would be to run per-component build once after building world without removing tmp-eglibc, that will allow components to autodetect all possible libraries and then run another per-component build with removing tmp-eglibc which allows to detect libraries from dependency-tree.

The following changes since commit 46354a697c18a64c5836159adf8dbd92e6547e85:

  vsftpd: add missing dependency on openssl (2013-07-02 14:39:17 -0400)

are available in the git repository at:

  git://git.openembedded.org/meta-openembedded-contrib jansa/deps
  http://cgit.openembedded.org/cgit.cgi/meta-openembedded-contrib/log/?h=jansa/deps

Martin Jansa (10):
  f2fs-tools: add util-linux dependency
  ruby: add missing dependency on ruby-native
  xorg-gsml-doctools: add missing dependency on util-macros
  cpufrequtils: inherit gettext
  cryptsetup: add missing dependency on libgcrypt
  gsoap: add missing dependency on zlib
  libspatialite: add missing dependency on sqlite3
  wbxml2: add missing dependency on expat
  fbida: define -I when checking jpeg version
  iso-codes: add missing dependency on gettext-native

 meta-oe/recipes-core/f2fs-tools/f2fs-tools_1.1.0.bb         | 3 +++
 meta-oe/recipes-graphics/fbida/fbida_2.09.bb                | 2 +-
 meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.7.bb | 2 ++
 meta-oe/recipes-navigation/libspatialite/libspatialite.inc  | 2 +-
 meta-oe/recipes-support/cpufrequtils/cpufrequtils_008.bb    | 2 ++
 meta-oe/recipes-support/cryptsetup/cryptsetup_1.6.1.bb      | 2 +-
 meta-oe/recipes-support/gsoap/gsoap_2.8.12.bb               | 2 +-
 meta-oe/recipes-support/iso-codes/iso-codes_1.4.bb          | 4 ++++
 meta-oe/recipes-support/opensync/wbxml2_0.10.8.bb           | 2 ++
 meta-ruby/recipes-devtools/ruby/ruby_1.9.3-p429.bb          | 2 +-
 10 files changed, 18 insertions(+), 5 deletions(-)