On Mon, May 16, 2011 at 5:13 PM, Richard Purdie <richard.pur...@linuxfoundation.org> wrote: > On Sun, 2011-05-15 at 23:04 -0700, Khem Raj wrote: >> Do not define DEPLOY_DIR_IMAGE >> Append -uclibc to STAGING_DIR_TARGET only for target recipe and cross >> recipes >> Append -uclibc to STAGING_DIR_HOST only for target recipes. >> >> These changes make sure that we still share the native sysroot >> >> Signed-off-by: Khem Raj <raj.k...@gmail.com> > > The more I looked at that patch, the more holes I could see in what we > were doing (and what Angstrom currently does). I started playing around > with the patch below which tried to improve on that idea. > > I then concluded that we might be able to do something like: > > MACHINEOVERRIDES := "${MACHINE}" > MACHINE_append = "-uclibc" > > since what we're really trying to do in the uclibc case is replace > anything MACHINE specific with something containing uclibc? > > Thoughts? > > Cheers, > > Richard > > > diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass > index 553c6a2..354668f 100644 > --- a/meta/classes/sstate.bbclass > +++ b/meta/classes/sstate.bbclass > @@ -23,7 +23,7 @@ python () { > bb.data.setVar('SSTATE_PKGARCH', bb.data.getVar('BUILD_ARCH', d), d) > elif bb.data.inherits_class('cross', d): > bb.data.setVar('SSTATE_PKGARCH', > bb.data.expand("${BUILD_ARCH}_${BASE_PACKAGE_ARCH}", d), d) > - bb.data.setVar('SSTATE_MANMACH', > bb.data.expand("${BUILD_ARCH}_${MACHINE}", d), d) > + bb.data.setVar('SSTATE_MANMACH', > bb.data.expand("${BUILD_ARCH}_${STAGING_MACHNAME}", d), d) > elif bb.data.inherits_class('crosssdk', d): > bb.data.setVar('SSTATE_PKGARCH', > bb.data.expand("${BUILD_ARCH}_${BASE_PACKAGE_ARCH}", d), d) > elif bb.data.inherits_class('nativesdk', d): > @@ -31,7 +31,7 @@ python () { > elif bb.data.inherits_class('cross-canadian', d): > bb.data.setVar('SSTATE_PKGARCH', > bb.data.expand("${SDK_ARCH}_${BASE_PACKAGE_ARCH}", d), d) > else: > - bb.data.setVar('SSTATE_MANMACH', bb.data.expand("${MACHINE}", d), d) > + bb.data.setVar('SSTATE_MANMACH', > bb.data.expand("${STAGING_MACHNAME}", d), d) > > # These classes encode staging paths into their scripts data so can only > be > # reused if we manipulate the paths > diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass > index fef6457..c2e4e50 100644 > --- a/meta/classes/staging.bbclass > +++ b/meta/classes/staging.bbclass > @@ -91,7 +91,7 @@ SSTATETASKS += "do_populate_sysroot" > do_populate_sysroot[sstate-name] = "populate-sysroot" > do_populate_sysroot[sstate-inputdirs] = "${SYSROOT_DESTDIR}" > do_populate_sysroot[sstate-outputdirs] = "${STAGING_DIR_HOST}/" > -do_populate_sysroot[stamp-extra-info] = "${MACHINE}" > +do_populate_sysroot[stamp-extra-info] = "${STAGING_MACHNAME}" > > python do_populate_sysroot_setscene () { > sstate_setscene(d) > diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf > index 8b6236e..141b942 100644 > --- a/meta/conf/bitbake.conf > +++ b/meta/conf/bitbake.conf > @@ -300,7 +300,8 @@ STAGING_DATADIR_NATIVE = > "${STAGING_DIR_NATIVE}${datadir_native}" > > # This should really be MULTIMACH_HOST_SYS but that breaks "all" and machine > # specific packages - hack around it for now. > -STAGING_DIR_HOST = "${STAGING_DIR}/${MACHINE}" > +STAGING_MACHNAME ??= "${MACHINE}" > +STAGING_DIR_HOST = "${STAGING_DIR}/${STAGING_MACHNAME}" > STAGING_BINDIR = "${STAGING_DIR_HOST}${bindir}" > STAGING_LIBDIR = "${STAGING_DIR_HOST}${libdir}" > STAGING_INCDIR = "${STAGING_DIR_HOST}${includedir}" > @@ -312,7 +313,7 @@ STAGING_PYDIR = "${STAGING_DIR}/lib/python2.4" > > # This should really be MULTIMACH_TARGET_SYS but that breaks "all" and > machine > # specific packages - hack around it for now. > -STAGING_DIR_TARGET = "${STAGING_DIR}/${MACHINE}" > +STAGING_DIR_TARGET = "${STAGING_DIR}/${STAGING_MACHNAME}" > STAGING_DIR_TCBOOTSTRAP = "${STAGING_DIR_TARGET}-tcbootstrap" > > # Setting DEPLOY_DIR outside of TMPDIR is helpful, when you are using > @@ -344,8 +345,8 @@ STAGING_KERNEL_DIR = "${STAGING_DIR_HOST}/kernel" > > IMAGE_ROOTFS = "${WORKDIR}/rootfs" > IMAGE_BASENAME = "${PN}" > -IMAGE_NAME = "${IMAGE_BASENAME}-${MACHINE}-${DATETIME}" > -IMAGE_LINK_NAME = "${IMAGE_BASENAME}-${MACHINE}" > +IMAGE_NAME = "${IMAGE_BASENAME}-${STAGING_MACHNAME}-${DATETIME}" > +IMAGE_LINK_NAME = "${IMAGE_BASENAME}-${STAGING_MACHNAME}" > > # This option allows for a precentage overage of the actaul image size > rather than a > # fixed extra space > diff --git a/meta/conf/distro/include/tclibc-uclibc.inc > b/meta/conf/distro/include/tclibc-uclibc.inc > index 27f6ec6..e84da81 100644 > --- a/meta/conf/distro/include/tclibc-uclibc.inc > +++ b/meta/conf/distro/include/tclibc-uclibc.inc > @@ -20,11 +20,7 @@ CXXFLAGS += "-fvisibility-inlines-hidden" > > IMAGE_LINGUAS = "" > > -DEPLOY_DIR_IMAGE = "${TMPDIR}/deploy/images" > -DEPLOY_DIR_append = "-uclibc" > -STAGING_DIR_TARGET_append = "-uclibc" > -STAGING_DIR_HOST_append = "-uclibc" > -SSTATE_MANIFESTS_append = "-uclibc" > +STAGING_MACHNAME = "${MACHINE}-uclibc"
should we use ${MACHINE}/${TCLIBC} in all those places instead of defining STAGING_MACHNAME > > LIBC_DEPENDENCIES = "\ > uclibc \ > > _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core