Search code examples
embedded-linuxyoctobitbake

How to unpack a zip file in bitbakes do_unpack method


This is basically a follow-up from this thread: Add specific header to bitbake wget fetcher

I override do_fetch to set a specific header and store the archive in ${DL_DIR}/${PN}.zip. The do_unpack job doesn't unpack that archive automatically. So I override do_unpack as follows:

do_unpack () {
    bbnote "unpacking"
    unzip -q -o ${DL_DIR}/${PN}.zip -d ${S}
}

If I execute: bitbake my_recipe bitbake complains that it can't find unzip:

run.do_unpack.20659: unzip: not found

I have DEPENDS = "unzip-native" in my recipe.

Thanks again a lot in advance


Solution

  • Apparently this is a mixture of two problems:

    1. It has to be do_fetch[depends] += "unzip-native:do_populate_sysroot" , not DEPENDS = "unzip-native"
    2. The call to unzip has to be: ${bindir}/env unzip