[bitbake-devel] Copying the files to sysroot

Awais Belal awais_belal at mentor.com
Tue Nov 27 06:05:00 UTC 2018


Hi Ugesh,

 >> Where is the ${includedir} points too? by default it is /usr/ by GNU 
itself. is it somewhere redefined?

The includedir points to /usr/include under the ${D} which is 
${WORKDIR}/image. To be precise the includedir is directly set to 
${exec_prefix}/include where exec_prefix is usually set to /usr

 >> if [ ! -e $(includedir)/componentincludes ]; then

this if looks incorrect to me. It should probably be

if [ ! -e ${D}${includedir}/componentincludes ]; then

Please also move your inherit lines just below SRC_URI as keeping 
inheritance on top of everything is a good practice and would avoid some 
issues. Once you make these changes please rerun bitbake for this .bb 
file and then look at ${WORKDIR}/temp/log.do_install. The sysroot will 
not be populated with these headers unless one of the recipes DEPENDS on 
this first recipe. Also, in current implementation every recipe has its 
own sysroot components under ${WORKDIR}/recipe-sysroot/. So you need to 
look in <2nd-recipe-workdir>/recipe-sysroot/

BR,
Awais

On 26/11/18 17:05, Ugesh Munirajulu (RBEI/ECG-EP3) wrote:
>
> Hello Awals,
>
> If, I am correct the ${D} points to ${WORKDIR}/image
>
> Where is the ${includedir} points too? by default it is /usr/ by GNU 
> itself. is it somewhere redefined?
>
> Please find the my .bb file
>
> DESCRIPTION = "First Application"
>
> SECTION = "MyLayer"
>
> LICENSE = "MIT"
>
> LIC_FILES_CHKSUM = 
> "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
>
> #LIC_FILES_CHKSUM = "file://LICENSE;md5=c00933139e794019cd555c2848de3d19"
>
> PR = "r0"
>
> SRC_URI = "file://component-0.1.tar.gz"
>
> S = "${WORKDIR}/recipes-component-0.1/"
>
> do_install_append() {
>
> if [ ! -e $(includedir)/componentincludes ]; then
>
> install -d ${D}${includedir}/componentincludes;
>
> fi
>
> install -m 644 ${S}/inc/*.h ${D}${includedir}/componentincludes
>
> }
>
> inherit autotools pkgconfig
>
> inherit gettext
>
> _local.conf:_
>
> __
>
> _ACHINE ??= 'imx8mqevk'_
>
> _DISTRO ?= 'fsl-imx-wayland'_
>
> _PACKAGE_CLASSES ?= "package_rpm"_
>
> _EXTRA_IMAGE_FEATURES ?= "debug-tweaks"_
>
> _USER_CLASSES ?= "buildstats image-mklibs image-prelink"_
>
> _PATCHRESOLVE = "noop"_
>
> _BB_DISKMON_DIRS ??= "\_
>
> _STOPTASKS,${TMPDIR},1G,100K \_
>
> _STOPTASKS,${DL_DIR},1G,100K \_
>
> _STOPTASKS,${SSTATE_DIR},1G,100K \_
>
> _STOPTASKS,/tmp,100M,100K \_
>
> _ABORT,${TMPDIR},100M,1K \_
>
> _ABORT,${DL_DIR},100M,1K \_
>
> _ABORT,${SSTATE_DIR},100M,1K \_
>
> _ABORT,/tmp,10M,1K"_
>
> _PACKAGECONFIG_append_pn-qemu-native = " sdl"_
>
> _PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"_
>
> _CONF_VERSION = "1"_
>
> __
>
> _DL_DIR ?= "${BSPDIR}/downloads/"_
>
> _ACCEPT_FSL_EULA = "1"_
>
> With the above configuration the files are not copied to 
> sysroot/usr/include/componentincludes.
>
> Best regards,
>
> *Munirajulu Ugesh
> RBEI/ECG-EP3
> *
> Tel. +91 422 676-4710
>
> *From:*Awais Belal <awais_belal at mentor.com>
> *Sent:* Monday, November 26, 2018 5:22 PM
> *To:* kumar.ugesh003 at yahoo.com; Bitbake-devel 
> <bitbake-devel at lists.openembedded.org>
> *Cc:* Ugesh Munirajulu (RBEI/ECG-EP3) <Ugesh.Munirajulu at in.bosch.com>
> *Subject:* Re: [bitbake-devel] Copying the files to sysroot
>
> Hi Ugesh,
>
> >> 1. I want to copy the header includes to sysroot/usr/include/component
>
> Simply install the header files to ${D}${includedir}/component at the 
> end of your 1st recipe's do_install.
>
> e.g.
>
> mkdir -p ${D}${includedir}/component
>
> install -m 0644 <HEADER_LOCATION>/<header>.h ${D}${includedir}/component/
>
> >> 2. Another recipe shall be able to refer the header from 
> sysroot/usr/include/component
>
> Add your 1st recipe's package name in the DEPENDS of the recipe where 
> you want to utilize these headers.
>
> BR,
> Awais
>
> On 26/11/18 12:36, Ugesh Reddy via bitbake-devel wrote:
>
>     Hello All,
>
>     I have the yocto bsp for iMx8 eval board and compiled it
>     successfully. I have introduced the new custom layer and written
>     .bb file for my recipe and the component is compiled successfully
>     and want to install the my include in
>     sysroot/usr/include/component at the end. I don't have the clue
>     how to do that . Could you please some one guide me.
>
>     I want the below to be achieved from .bb files.
>
>     1. I want to copy the header includes to sysroot/usr/include/component
>
>     2. Another recipe shall be able to refer the header from
>     sysroot/usr/include/component
>
>     Regards,
>
>     Ugesh
>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/bitbake-devel/attachments/20181127/4cf641b6/attachment.html>


More information about the bitbake-devel mailing list