[meta-freescale] [OE-core] [PATCH RFC 1/3] insane: Split do_package_qa into a separate task (from do_package)

Otavio Salvador otavio at ossystems.com.br
Thu Jul 10 19:43:02 PDT 2014


Hello Richard,

(added meta-freescale mailing list as it is related to meta-fsl-arm)

On Wed, Jul 9, 2014 at 5:15 PM, Richard Purdie
<richard.purdie at linuxfoundation.org> wrote:
> Its possible to run the package QA checks as a separate task rather than
> as part of the do_package task. This offers more parallelism but the
> fact that made me propose this is that ideally we'd like to access
> pkgdata to help add new tests and to do that, we need to run later in
> the task list. We also need to add in RDEPENDS to the task which apply
> to do_package_write_* but not do_package. See the subsequent patches
> for why this is desireable.
>
> If we split into a separate task, we need to add in calls to read
> the sub package data, build the cache structure used by do_package and
> cover the task with sstate (which is empty and just acts as a stamp
> saying it passed package QA). We also need to handle our own
> dependencies.
>
> Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

When I see a RFC serie I expect people to wait some days /for
comments/. I learned today those are already merged and /no comment
time/ has been given.

The problem I found is that running the QA checks in another task
seems to break some use-cases.

In the libfslcodec (it is a binary blob provided by Freescale for
multimedia) we have:

...
python populate_packages_prepend() {
    ...
    # FIXME: All binaries lack GNU_HASH in elf binary but as we don't have
    # the source we cannot fix it. Disable the insane check for now.
    for p in d.getVar('PACKAGES', True).split():
        d.setVar("DEBIAN_NOAUTONAME_%s" % p, "1")

        if p == 'libfslcodec-test-bin':
            # FIXME: includes the DUT .so files so we need to deploy those
            d.appendVar("INSANE_SKIP_%s" % p, "ldflags textrel libdir")
        else:
            d.appendVar("INSANE_SKIP_%s" % p, "ldflags textrel")
    ...
}

In this case the INSANE_SKIP var is not being set on time. If we check
the value it is being set but it seems to be too late.

How we can address it?

-- 
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750


More information about the meta-freescale mailing list