Search code examples
yoctobitbakerecipeopenembedded

Recipe to deploy the .ipk for other developers


I have a recipe (lets say my_package_1.0.bb) that builds libraries and populates sysroot with libraries and headers I need for development. I also see that .ipk for my package is created under build/tmp/deploy/ipk/.

My requirement is, I want to share the libraries, headers and a recipe that deploys these in my customer's sysroot directory (for their development), but not the sources for my package. What is the best way to handle this?

Is there a way that I share the .ipk and some recipe to install the .ipk?

P.S: customer intends to develop applications using the interfaces in my header and libraries. customer has not licensed the sources for my package.


Solution

  • using OPKG to install the .ipk package you generated.

    Start by creating an Yocto Linux Image with OPKG program and package-management

    In conf/local.conf add these, particularly, package-management in EXTRA_IMAGE_FEATURES and opkg in IMAGE_INSTALL_append.

    PACKAGE_CLASSES ?= "package_rpm package_ipk"
    EXTRA_IMAGE_FEATURES = "debug-tweaks ssh-server-openssh package-management"
    IMAGE_INSTALL_append = " opkg "
    

    After created an image, create a package manifest:

    bitbake package-index

    Create a server, apache2, for example. And link your ipk to that server:

    sudo apt-get install apache2

    sudo ln -s /path/to/build-x11/tmp/deploy/ipk /var/www/html/my-repo

    Set up and Test OPKG C reate file opkg.conf in /etc/opkg/

    Edit the opkg.conf to something like the following Note: Replace 192.168.0.102 to the IP of the build station (the apache2 server you use); for example

    src/gz all http://192.168.0.102/all
    src/gz cortexa9hf-vfp-neon-mx6 http://192.168.0.102/cortexa9hf-vfp-neon-mx6
    src/gz cortexa9hf-vfp-neon http://192.168.0.102/cortexa9hf-vfp-neon
    

    Test OPKG

    opkg
    opkg update
    opkg upgrade
    opkg install my_package
    

    Youtube Tutorial

    Documentation