[yocto] Header files in /usr/include of rootfs

Andy Hung(洪翊桓_Pegatron) Andy_Hung at pegatroncorp.com
Wed Nov 25 02:51:51 PST 2015


Message: 2
Date: Tue, 24 Nov 2015 14:25:14 +0100
From: Anders Darander <anders at chargestorm.se>
To: yocto at yoctoproject.org
Subject: Re: [yocto] Header files in /usr/include of rootfs
Message-ID: <20151124132514.GB2165 at ad.chargestorm.se>
Content-Type: text/plain; charset=utf-8

* Andy Hung(???_Pegatron) <Andy_Hung at pegatroncorp.com> [151124 11:35]:
> I was trying to add some pre-built binaries and files by using a recipe.
> The recipe has something like this:

> SRC_URI = file://files<file:///\\files> ?
> do_install() {
>     install ?d ${D}
> }

	> What files are you installing? How does those look like?
	The content of the folder has those sub-folders, sbin, root, lib, etc.
	Those sub-folders contains files such as executable binaries, config files, kernel modules, .so files ...
	All these files are actually built from the source code of a specific WiFi driver,
	what I want to do is installing all pre-built binaries/files into corresponding locations in rootfs.
	 
> FILES_${PN} = ?/*?

	> Here you add say that anything that has been installed, but not put into any other package, should be added to ${PN}. Is that what you want?
	Yes, all files are installed in a package.

> ALLOW_EMPTY_${PN} = ?1?

	> Remove this one unless ${PN} is going to be empty.
	This line is removed.

> INSANE_SKIP_${PN} = ?debug-files dev-so?

	> These might be needed if you get certain QA-warnings/error without them.
	Yes, got some QA-warnings when building so I keep this.
 
> The result was all the binaries and files installed and packages are 
> created, But I also found kernel header files are also built in under /usr/include in rootfs image.
> For my understanding those header files should be used if I want to develop/debug applications on the target device but it is not the case.

> Also I noticed the use of INSANE_SKIP_${PN} so I check the usage of 
> debug-files and dev-so, And it turned out there are .debug folders in the WORKDIR/package folder so I thought that is why debug-files was used.

	> See answer below.

> The questions are,
> Why are those kernel header files installed in rootfs? How do I prevent thisa?

	> I assume that they aren't in the package you just created? Do you have anything in your package that might have a dependency on the kernel headers? Do you have anything in your IMAGE_FEATURES?
	No, header files aren't in the package.
	I checked the driver source code and many files include kernel headers like this  "#include <linux/xxx.h>" , is this what you meant by dependency on kernel headers?
	IMAGE_FEATURES was not used in the recipe file.

> Why are there .debug in the package folder, it should only be in package ?dbg folder, right?

	> Where are the .debug directories located? You should add them to:
	> FILES_${PN}-dbg += "<location>/.debug"
	I add this line and rebuild but the result seems unchanged.
 	the .debug folders are located in 
	${WORKDIR}/package
	${WORKDIR}/package-split/<package name> - dbg

	Thanks,
	Andy

	> Cheers,
	> Anders

	> --
	> Anders Darander, Senior System Architect ChargeStorm AB / eStorm AB




More information about the yocto mailing list