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" LIBC_DEPENDENCIES = "\ uclibc \ _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core