[yocto] Missing dependencies after setscene, postinst fails

Jack_Fewx at Dell.com Jack_Fewx at Dell.com
Wed Jul 22 07:50:04 PDT 2015


Hello,

I need some help figuring out a build problem I'm seeing.  I know why the build is failing, I just don't know the best way to fix it.  I have figured out a workaround, but it seems very hack-ish to me, and I'd really like to know if there is a more elegant solution?  Is this a defect or something I'm doing wrong?  Has anyone else seen this?

- Setup: 
Poky version is 1.7.1.  Working directories have been removed, forcing all packages to be restored through the setscene process. The rootfs is read-only, so postinst causes build failure instead of being postponed to first boot.

- Problem:
In this scenario I am consistently seeing 3 Poky recipes fail at postinst.  I have triaged the problem to be missing native-class dependencies for each of the 3 packages.  

The problem packages are: ca-certificates, nss, and gdk-pixbuf-native.  ca-certificates and nss both depend on their own native-class builds, so ca-certificates-native and nss-native respectively, and they fail after doing do_package_write_ipk_setscene.  gdk-pixbuf-native needs jpeg-native in order to complete do_populate_sysroot_setscene, but fails due to its absence.

Each of these recipes has a DEPENDS or PACKAGECONFIG appropriate to pull in the needed package during the normal build process, but these dependencies don't seem to carry over to the setscene process.

- My attempt at a solution:
My workaround is to write a bbappend for each of the 3 recipes that looks something like below, that explicitly add the missing dependencies:

--- /dev/null
+++ b/nss/nss_%.bbappend
+do_package_write_ipk_setscene[depends] += "nss-native:do_populate_sysroot"





More information about the yocto mailing list