On 08/08/2011 07:04 PM, James Limbouris wrote:
The pseudo executable sets the PSEUDO_LOCALSTATEDIR environment variable to point to a sysroot location. During an initial cache build, in which pseudo is not used as it is being built, the PSEUDO_LOCALSTATEDIR is set to a per-package location by bitbake.conf, and baked into the cache. If the cache is subsequently invalidated, bitbake may run under pseudo, and rebuild it with the sysroot location baked into the cache. This results in all packages using the same, persistent db, even on package rebuild, which leads to permissions errors. Making the assignment unconditional corrects this problem.
I can't tell if this change would impact the use of useradd.bbclass, which also sets PSEUDO_LOCALSTATEDIR in certain circumstances. Mark, can you comment on whether this is a valid concern?
Scott
Signed-off-by: James Limbouris<ja...@digitalmatter.com.au> --- meta/conf/bitbake.conf | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf index 6f0b42c..9a9ab53 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf @@ -557,7 +557,7 @@ SRCPV = "${@bb.fetch2.get_srcrev(d)}" SRC_URI = "file://${FILE}" # Use pseudo as the fakeroot implementation -PSEUDO_LOCALSTATEDIR ?= "${WORKDIR}/pseudo/" +PSEUDO_LOCALSTATEDIR = "${WORKDIR}/pseudo/" FAKEROOTENV = "PSEUDO_PREFIX=${STAGING_DIR_NATIVE}${prefix_native} PSEUDO_LOCALSTATEDIR=${PSEUDO_LOCALSTATEDIR} PSEUDO_PASSWD=${STAGING_DIR_TARGET} PSEUDO_NOSYMLINKEXP=1 PSEUDO_DISABLED=0" FAKEROOTDIRS = "${PSEUDO_LOCALSTATEDIR}" PREFERRED_PROVIDER_virtual/fakeroot-native ?= "pseudo-native"
-- Scott Garman Embedded Linux Engineer - Yocto Project Intel Open Source Technology Center _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core