From bc9d2fbfd4eaad0df5647dd5d07dfb9fcff80ff3 Mon Sep 17 00:00:00 2001 From: Dongxiao Xu Date: Tue, 18 Jan 2011 16:17:58 +0800 Subject: staging: Use relative path in sysroot-destdir for target recipes Original we used absolute path in sysroot-destdir for both native and target recipes. This commit changes target recipes to use relative path which is same as the image directory. [sgw: merged with libtool sysroot work] Signed-off-by: Dongxiao Xu Signed-off-by: Saul Wold --- meta/classes/binconfig.bbclass | 6 ++--- meta/classes/cross.bbclass | 2 ++ meta/classes/kernel.bbclass | 2 +- meta/classes/native.bbclass | 3 +++ meta/classes/siteconfig.bbclass | 5 +++-- meta/classes/staging.bbclass | 26 +++++++++++----------- meta/conf/bitbake.conf | 1 + meta/recipes-connectivity/gupnp/gupnp_0.14.0.bb | 4 ++-- .../gcc/gcc-cross-intermediate.inc | 3 +++ meta/recipes-devtools/libtool/libtool-cross_2.4.bb | 4 ++-- .../libtool/libtool-nativesdk_2.4.bb | 4 ++-- meta/recipes-devtools/libtool/libtool_2.4.bb | 6 ++--- meta/recipes-gnome/gtk+/gtk+.inc | 4 ++-- meta/recipes-support/apr/apr_1.4.2.bb | 2 +- 14 files changed, 41 insertions(+), 31 deletions(-) diff --git a/meta/classes/binconfig.bbclass b/meta/classes/binconfig.bbclass index 73ca4d6219..8e22d2d292 100644 --- a/meta/classes/binconfig.bbclass +++ b/meta/classes/binconfig.bbclass @@ -47,8 +47,8 @@ SYSROOT_PREPROCESS_FUNCS += "binconfig_sysroot_preprocess" binconfig_sysroot_preprocess () { for config in `find ${S} -name '${BINCONFIG_GLOB}'`; do configname=`basename $config` - install -d ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS} - cat $config | sed ${@get_binconfig_mangle(d)} > ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}/$configname - chmod u+x ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}/$configname + install -d ${SYSROOT_DESTDIR}${bindir_crossscripts} + cat $config | sed ${@get_binconfig_mangle(d)} > ${SYSROOT_DESTDIR}${bindir_crossscripts}/$configname + chmod u+x ${SYSROOT_DESTDIR}${bindir_crossscripts}/$configname done } diff --git a/meta/classes/cross.bbclass b/meta/classes/cross.bbclass index 7c20be0b81..6ec98b2395 100644 --- a/meta/classes/cross.bbclass +++ b/meta/classes/cross.bbclass @@ -50,6 +50,8 @@ base_sbindir = "${bindir}" libdir = "${exec_prefix}/lib/${MULTIMACH_TARGET_SYS}" libexecdir = "${exec_prefix}/libexec/${MULTIMACH_TARGET_SYS}" +do_populate_sysroot[sstate-inputdirs] = "${SYSROOT_DESTDIR}/${STAGING_DIR_NATIVE}" + do_install () { oe_runmake 'DESTDIR=${D}' install } diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass index 47110a21aa..9d3b2bbd8a 100644 --- a/meta/classes/kernel.bbclass +++ b/meta/classes/kernel.bbclass @@ -185,7 +185,7 @@ kernel_do_install() { } sysroot_stage_all_append() { - sysroot_stage_dir ${D}/kernel ${SYSROOT_DESTDIR}${STAGING_KERNEL_DIR} + sysroot_stage_dir ${D}/kernel ${SYSROOT_DESTDIR}/kernel } diff --git a/meta/classes/native.bbclass b/meta/classes/native.bbclass index 3ca9d62845..aec7fe38a9 100644 --- a/meta/classes/native.bbclass +++ b/meta/classes/native.bbclass @@ -60,6 +60,9 @@ base_prefix = "${STAGING_DIR_NATIVE}" prefix = "${STAGING_DIR_NATIVE}${prefix_native}" exec_prefix = "${STAGING_DIR_NATIVE}${prefix_native}" +do_populate_sysroot[sstate-inputdirs] = "${SYSROOT_DESTDIR}/${STAGING_DIR_NATIVE}" +do_populate_sysroot[sstate-outputdirs] = "${STAGING_DIR_NATIVE}" + # Since we actually install these into situ there is no staging prefix STAGING_DIR_HOST = "" STAGING_DIR_TARGET = "" diff --git a/meta/classes/siteconfig.bbclass b/meta/classes/siteconfig.bbclass index 37d910e1da..e7cc9ae0da 100644 --- a/meta/classes/siteconfig.bbclass +++ b/meta/classes/siteconfig.bbclass @@ -20,8 +20,9 @@ siteconfig_do_siteconfig_gencache () { sed -n -e "/ac_cv_c_bigendian/p" -e "/ac_cv_sizeof_/p" \ -e "/ac_cv_type_/p" -e "/ac_cv_header_/p" -e "/ac_cv_func_/p" \ < ${PN}_cache > ${PN}_config - mkdir -p ${SYSROOT_DESTDIR}${SITECONFIG_SYSROOTCACHE} - cp ${PN}_config ${SYSROOT_DESTDIR}${SITECONFIG_SYSROOTCACHE} + mkdir -p ${SYSROOT_DESTDIR}${datadir}/${TARGET_SYS}_config_site.d + cp ${PN}_config ${SYSROOT_DESTDIR}${datadir}/${TARGET_SYS}_config_site.d + } do_populate_sysroot[sstate-interceptfuncs] += "do_siteconfig " diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass index 438cf375b9..72d77e2b54 100644 --- a/meta/classes/staging.bbclass +++ b/meta/classes/staging.bbclass @@ -32,25 +32,25 @@ sysroot_stage_dirs() { from="$1" to="$2" - sysroot_stage_dir $from${includedir} $to${STAGING_INCDIR} + sysroot_stage_dir $from${includedir} $to${includedir} if [ "${BUILD_SYS}" = "${HOST_SYS}" ]; then - sysroot_stage_dir $from${bindir} $to${STAGING_DIR_HOST}${bindir} - sysroot_stage_dir $from${sbindir} $to${STAGING_DIR_HOST}${sbindir} - sysroot_stage_dir $from${base_bindir} $to${STAGING_DIR_HOST}${base_bindir} - sysroot_stage_dir $from${base_sbindir} $to${STAGING_DIR_HOST}${base_sbindir} - sysroot_stage_dir $from${libexecdir} $to${STAGING_DIR_HOST}${libexecdir} - sysroot_stage_dir $from${sysconfdir} $to${STAGING_DIR_HOST}${sysconfdir} - sysroot_stage_dir $from${localstatedir} $to${STAGING_DIR_HOST}${localstatedir} + sysroot_stage_dir $from${bindir} $to${bindir} + sysroot_stage_dir $from${sbindir} $to${sbindir} + sysroot_stage_dir $from${base_bindir} $to${base_bindir} + sysroot_stage_dir $from${base_sbindir} $to${base_sbindir} + sysroot_stage_dir $from${libexecdir} $to${libexecdir} + sysroot_stage_dir $from${sysconfdir} $to${sysconfdir} + sysroot_stage_dir $from${localstatedir} $to${localstatedir} fi if [ -d $from${libdir} ] then - sysroot_stage_libdir $from/${libdir} $to${STAGING_LIBDIR} + sysroot_stage_libdir $from/${libdir} $to${libdir} fi if [ -d $from${base_libdir} ] then - sysroot_stage_libdir $from${base_libdir} $to${STAGING_DIR_HOST}${base_libdir} + sysroot_stage_libdir $from${base_libdir} $to${base_libdir} fi - sysroot_stage_dir $from${datadir} $to${STAGING_DATADIR} + sysroot_stage_dir $from${datadir} $to${datadir} } sysroot_stage_all() { @@ -90,8 +90,8 @@ python do_populate_sysroot () { SSTATETASKS += "do_populate_sysroot" do_populate_sysroot[sstate-name] = "populate-sysroot" -do_populate_sysroot[sstate-inputdirs] = "${SYSROOT_DESTDIR}/${STAGING_DIR}" -do_populate_sysroot[sstate-outputdirs] = "${TMPDIR}/sysroots" +do_populate_sysroot[sstate-inputdirs] = "${SYSROOT_DESTDIR}" +do_populate_sysroot[sstate-outputdirs] = "${STAGING_DIR_HOST}/" python do_populate_sysroot_setscene () { sstate_setscene(d) diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf index 2c3f2fc90a..19ec1a7ce7 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf @@ -43,6 +43,7 @@ includedir_native = "${prefix_native}/include" libdir_native = "${prefix_native}/lib" datadir_native = "${prefix_native}/share" bindir_cross = "/bin" +bindir_crossscripts = "${bindir}/crossscripts" prefix_nativesdk = "/usr" bindir_nativesdk = "${prefix_nativesdk}/bin" libdir_nativesdk = "${prefix_nativesdk}/lib" diff --git a/meta/recipes-connectivity/gupnp/gupnp_0.14.0.bb b/meta/recipes-connectivity/gupnp/gupnp_0.14.0.bb index 9beb46ed11..9f2d717c76 100644 --- a/meta/recipes-connectivity/gupnp/gupnp_0.14.0.bb +++ b/meta/recipes-connectivity/gupnp/gupnp_0.14.0.bb @@ -23,7 +23,7 @@ FILES_${PN}-dev += "${bindir}/gupnp-binding-tool" SYSROOT_PREPROCESS_FUNCS += "gupnp_sysroot_preprocess" gupnp_sysroot_preprocess () { - install -d ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}/ - install -m 755 ${D}${bindir}/gupnp-binding-tool ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}/ + install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/ + install -m 755 ${D}${bindir}/gupnp-binding-tool ${SYSROOT_DESTDIR}${bindir_crossscripts}/ } diff --git a/meta/recipes-devtools/gcc/gcc-cross-intermediate.inc b/meta/recipes-devtools/gcc/gcc-cross-intermediate.inc index 72a42411b1..48c6d9aabe 100644 --- a/meta/recipes-devtools/gcc/gcc-cross-intermediate.inc +++ b/meta/recipes-devtools/gcc/gcc-cross-intermediate.inc @@ -17,6 +17,9 @@ EXTRA_OECONF = "--with-local-prefix=${STAGING_DIR_TARGET}${target_prefix} \ ${EXTRA_OECONF_INTERMEDIATE} \ ${@get_gcc_fpu_setting(bb, d)}" +do_populate_sysroot[sstate-inputdirs] = "${SYSROOT_DESTDIR}/${STAGING_DIR_HOST} ${SYSROOT_DESTDIR}/${STAGING_DIR_TARGET}/${target_base_libdir}" +do_populate_sysroot[sstate-outputdirs] = "${STAGING_DIR_HOST} ${STAGING_DIR_TARGET}/${target_base_libdir}" + do_compile () { oe_runmake } diff --git a/meta/recipes-devtools/libtool/libtool-cross_2.4.bb b/meta/recipes-devtools/libtool/libtool-cross_2.4.bb index cd2bcecaf9..e3b40f2560 100644 --- a/meta/recipes-devtools/libtool/libtool-cross_2.4.bb +++ b/meta/recipes-devtools/libtool/libtool-cross_2.4.bb @@ -26,6 +26,6 @@ do_install () { SYSROOT_PREPROCESS_FUNCS += "libtoolcross_sysroot_preprocess" libtoolcross_sysroot_preprocess () { - install -d ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}/ - install -m 755 ${D}${bindir}/${HOST_SYS}-libtool ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool + install -d ${SYSROOT_DESTDIR}${bindir_crossscripts} + install -m 755 ${D}${bindir}/${HOST_SYS}-libtool ${SYSROOT_DESTDIR}${bindir_crossscripts}/${HOST_SYS}-libtool } diff --git a/meta/recipes-devtools/libtool/libtool-nativesdk_2.4.bb b/meta/recipes-devtools/libtool/libtool-nativesdk_2.4.bb index 2c01a4eb8e..45c9af66c6 100644 --- a/meta/recipes-devtools/libtool/libtool-nativesdk_2.4.bb +++ b/meta/recipes-devtools/libtool/libtool-nativesdk_2.4.bb @@ -21,6 +21,6 @@ do_install () { SYSROOT_PREPROCESS_FUNCS += "libtoolnativesdk_sysroot_preprocess" libtoolnativesdk_sysroot_preprocess () { - install -d ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}/ - install -m 755 ${D}${bindir}/${HOST_SYS}-libtool ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool + install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/ + install -m 755 ${D}${bindir}/${HOST_SYS}-libtool ${SYSROOT_DESTDIR}${bindir_crossscripts}/${HOST_SYS}-libtool } diff --git a/meta/recipes-devtools/libtool/libtool_2.4.bb b/meta/recipes-devtools/libtool/libtool_2.4.bb index ee24444a81..a820bed0dd 100644 --- a/meta/recipes-devtools/libtool/libtool_2.4.bb +++ b/meta/recipes-devtools/libtool/libtool_2.4.bb @@ -8,8 +8,8 @@ PR = "r1" SYSROOT_PREPROCESS_FUNCS += "libtool_sysroot_preprocess" libtool_sysroot_preprocess () { - rm -rf ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${bindir}/* - rm -rf ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${datadir}/aclocal/* - rm -rf ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${datadir}/libtool/config/* + rm -rf ${SYSROOT_DESTDIR}${bindir}/* + rm -rf ${SYSROOT_DESTDIR}${datadir}/aclocal/* + rm -rf ${SYSROOT_DESTDIR}${datadir}/libtool/config/* } diff --git a/meta/recipes-gnome/gtk+/gtk+.inc b/meta/recipes-gnome/gtk+/gtk+.inc index 425a21ec28..f04b29ca6e 100644 --- a/meta/recipes-gnome/gtk+/gtk+.inc +++ b/meta/recipes-gnome/gtk+/gtk+.inc @@ -64,8 +64,8 @@ SYSROOT_PREPROCESS_FUNCS += "gtk_sysroot_preprocess" gtk_sysroot_preprocess () { if [ -e ${D}${bindir}/gtk-builder-convert ]; then - install -d ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}/ - install -m 755 ${D}${bindir}/gtk-builder-convert ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}/ + install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/ + install -m 755 ${D}${bindir}/gtk-builder-convert ${SYSROOT_DESTDIR}${bindir_crossscripts}/ fi } diff --git a/meta/recipes-support/apr/apr_1.4.2.bb b/meta/recipes-support/apr/apr_1.4.2.bb index fe983eb7f7..ce26ef17cb 100644 --- a/meta/recipes-support/apr/apr_1.4.2.bb +++ b/meta/recipes-support/apr/apr_1.4.2.bb @@ -37,7 +37,7 @@ do_configure_append() { SYSROOT_PREPROCESS_FUNCS += "apr_sysroot_preprocess" apr_sysroot_preprocess () { - d=${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${datadir}/apr + d=${SYSROOT_DESTDIR}${datadir}/apr install -d $d/ cp ${S}/build/apr_rules.mk $d/ sed -i s,apr_builddir=.*,apr_builddir=,g $d/apr_rules.mk -- cgit v1.2.3-54-g00ecf