[yocto] Install a pre-build ipkg package at build time

Khem Raj raj.khem at gmail.com
Mon Nov 5 08:57:23 PST 2018


On Mon, Nov 5, 2018 at 7:44 AM João Gonçalves
<joao.jfgoncalves at gmail.com> wrote:
>
> Thanks, I didn't know that I could point SRC_URI to a ipk just like a regullar tar file.
> I did that, pointed to our ipk server and it could download the ipk file.
> However during the do_rootfs task i got the following error:
>
> ERROR: kelvin-base-image-2.8b4-r0 do_rootfs: Error executing a python function in exec_python_func() autogenerated:
>
> The stack trace of python calls that resulted in this exception/failure was:
> File: 'exec_python_func() autogenerated', lineno: 2, function: <module>
>      0001:
>  *** 0002:license_create_manifest(d)
>      0003:
> File: '/home/joao/imx6/build/../layers/openembedded-core/meta/classes/license.bbclass', lineno: 48, function: license_create_manifest
>      0044:    pkg_dic = {}
>      0045:    for pkg in sorted(image_list_installed_packages(d)):
>      0046:        pkg_info = os.path.join(d.getVar('PKGDATA_DIR'),
>      0047:                                'runtime-reverse', pkg)
>  *** 0048:        pkg_name = os.path.basename(os.readlink(pkg_info))
>      0049:
>      0050:        pkg_dic[pkg_name] = oe.packagedata.read_pkgdatafile(pkg_info)
>      0051:        if not "LICENSE" in pkg_dic[pkg_name].keys():
>      0052:            pkg_lic_name = "LICENSE_" + pkg_name
> Exception: FileNotFoundError: [Errno 2] No such file or directory: '/home/joao/imx6/build/tmp-glibc/pkgdata/apalis-imx6/runtime-reverse/python36'
>
> ERROR: kelvin-base-image-2.8b4-r0 do_rootfs: Function failed: license_create_manifest
> ERROR: Logfile of failure stored in: /home/joao/imx6/build/tmp-glibc/work/apalis_imx6-angstrom-linux-gnueabi/kelvin-base-image/2.8b4-r0/temp/log.do_rootfs.1303
> ERROR: Task (/home/joao/imx6/layers/meta-kelvin/recipes-images/images/kelvin-base-image_0.2.bb:do_rootfs) failed with exit code '1'
>
> I used "CLOSED" as license, i also tried put a MIT license the on "file:.." of the recipe. I got the same error. Maybe it is because I do not have a license file inside the ipk package, I'll test put a license file in a package and try to install it.

hopefully this will fix it.

> I'am using a set of layers provided by our board vendor and they are using rocko version.
>
> I could "hide" the problem by putting  the whole body of the license_create_manifest function of the license.bbclass inside a try-except block.
> It worked but that's not a solution.
>
> Khem Raj <raj.khem at gmail.com> escreveu no dia sexta, 2/11/2018 à(s) 16:50:
>>
>> On Fri, Nov 2, 2018 at 8:48 AM João Gonçalves
>> <joao.jfgoncalves at gmail.com> wrote:
>> >
>> > Hi all,
>> >
>> > I have some pre-build opkg packages and I need to install them on my target image, is this possible?
>> > I tried to use the bin_package class but I didn't found any example, I'm also not sure if it can be used this way or just to install the data files extracted from the ipkg file. Anyway I also tried to extract the binary files form the package and use the bin_package class to install them, but with no success.
>> >
>> > Does anyone have any example of this?
>> >
>>
>> once you point SRC_URI to your ipk
>> inherit bin_package should be then able to help in repackaging it
>> you have to post specific errors so we can see what might be going on
>>
>> > Thanks,
>> > João Gonçalves
>> > --
>> > _______________________________________________
>> > yocto mailing list
>> > yocto at yoctoproject.org
>> > https://lists.yoctoproject.org/listinfo/yocto


More information about the yocto mailing list