[yocto] sysroot not being populated

Patrick Vacek patrick.vacek at here.com
Fri Jun 8 00:27:40 PDT 2018


On 07.06.2018 19:06, Khem Raj wrote:
> Hi Patrick
>
> On Mon, Jun 4, 2018 at 2:01 AM, Patrick Vacek <patrick.vacek at here.com> wrote:
>> Hello all,
>>
>> I have a recipe (aktualizr-hsm-prov) that depends on another (aktualizr)
>> to provide an executable and a config file. The former recipe includes
>> `DEPENDS = "aktualizr-native"`, and my do_install() for
>> aktualizr-hsm-prov has a line something like this:
>>
>> aktualizr -i ${STAGING_DIR_NATIVE}${libdir}/sota.conf
>>
>> The binary executable (aktualizr) runs, which tells me that the recipe
>> can find that. (Although to be honest, I'm not sure which version it is
>> running.) However, it doesn't find the config file, and sure enough,
>> ${STAGING_DIR_NATIVE}${libdir} does not have the config file I expect. I
>> can see that aktualizr-native is populating its sysroot-destdir, but it
>> isn't getting copied to the sysroot for aktualizr-hsm-prov.
>>
>> I see this problem in sumo and master, although previously this logic
>> has worked just fine in morty/pyro/rocko.
>>
>> Switching to depending on aktualizr (instead of aktualizr-native) and
>> using STAGING_DIR_HOST or STAGING_DIR_TARGET does not help, and in fact
>> makes it worse, as it can't even find the aktualizr executable in that case.
>>
>> What am I doing wrong? What changed between rocko and sumo?
> is aktualizr recipe installing this .conf file when building native
> version. If not may be
> add it to do_install
>
> install -D -m 0644 <path/to/sota.conf> ${D}${libdir}/sota.conf

Hello Khem,

I believe so. The aktualizr recipe includes the following (edited for
simplicity):

BBCLASSEXTEND =+ "native"

do_install_append () {
    install -m 0644 ${S}/config/sota.conf ${D}/${libdir}/sota.conf
}

PACKAGES =+ " ${PN}-host-tools "

FILES_${PN}-host-tools = " ${libdir}/sota.conf "

Thanks,
Patrick


More information about the yocto mailing list