Building Zebra (zebkit) packages inside the GDP
Zebra(zebkit) library that follows easy OOP concept, provides HTML5 Canvas based Rich UI
So to add this to the GDP my GSOC mentors asked me to learn how to write recipes in kernal. So I followed some tutorials and Documentations and also with the community support.
With that help, I generated the kernel recipe using Recipetool
https://wiki.yoctoproject.org/wiki/TipsAndTricks/NPM
Under the hood, devtool runs recipetool create with the same fetch URI. Recipe tool downloads each dependency, capturing license details where possible and generates a recipe file. The recipe file is fairly simple but will contain every license that recipetool has found and include it in the LIC_FILES_CHKSUM. Many node modules have unclear licensing so you'll see "unknown" in the LICENSE field. Have a look at the modules not listed.
Using recipe tool I generated the recipe file see this GitHub patch
https://github.com/akilawickey/meta-genivi-dev/commit/94f5427aaffea0a141547697b1da203463545353.patch
So I recreated the work which I have done from the beginning.
- This is the steps how to include zebkit recipes to gdp and build a target to run the zebra
- https://github.com/GENIVI/genivi-dev-platform.git
- cd genivi-dev-platform
- source init.sh qemux86-64
- cd ../meta-genivi-dev/meta-genivi-dev/
- wget https://github.com/akilawickey/meta-genivi-dev/commit/94f5427aaffea0a141547697b1da203463545353.patch
- git am -i *.patch
- #Edit the genivi-dev-platform.bb using nano
- nano recipes-dev-platform/images/genivi-dev-platform.bb
- #open it and add this line to bottem
- IMAGE_INSTALL_append = " zebkit"
- cd ../../gdp-src-build
- bitbake genivi-dev-platform
After Building the GDP with zebra recipe I got zebra dependencies inside the GDP.
- e12376@aiken:/export/e12376/gsoc/phase2/genivi-dev-platform/gdp-src-build/tmp/work/core2-64-poky-linux/zebra/1.0-r0$ ls
- configure.sstate image packages-split sstate-build-packagedata sstate-build-populate_lic zebra.spec
- deploy-ipks license-destdir pkgdata sstate-build-package_qa sstate-build-populate_sysroot
- deploy-rpms npm_cache pseudo sstate-build-package_write_ipk sysroot-destdir
- git package sstate-build-package sstate-build-package_write_rpm temp
- e12376@aiken:/export/e12376/gsoc/phase2/genivi-dev-platform/gdp-src-build/tmp/work/core2-64-poky-linux/zebra/1.0-r0$ ls
- configure.sstate image packages-split sstate-build-packagedata sstate-build-populate_lic zebra.spec
- deploy-ipks license-destdir pkgdata sstate-build-package_qa sstate-build-populate_sysroot
- deploy-rpms npm_cache pseudo sstate-build-package_write_ipk sysroot-destdir
- git package sstate-build-package sstate-build-package_write_rpm temp
- e12376@aiken:/export/e12376/gsoc/phase2/genivi-dev-platform/gdp-src-build/tmp/work/core2-64-poky-linux/zebra/1.0-r0$ cd git/
- e12376@aiken:/export/e12376/gsoc/phase2/genivi-dev-platform/gdp-src-build/tmp/work/core2-64-poky-linux/zebra/1.0-r0/git$ ls
- apidoc gulpfile.js index.html LICENSE package.json README.md src tests website
- e12376@aiken:/export/e12376/gsoc/phase2/genivi-dev-platform/gdp-src-build/tmp/work/core2-64-poky-linux/zebra/1.0-r0/git$ cd apidoc/
- e12376@aiken:/export/e12376/gsoc/phase2/genivi-dev-platform/gdp-src-build/tmp/work/core2-64-poky-linux/zebra/1.0-r0/git/apidoc$ cd ..
- e12376@aiken:/export/e12376/gsoc/phase2/genivi-dev-platform/gdp-src-build/tmp/work/core2-64-poky-linux/zebra/1.0-r0/git$ ls
- apidoc gulpfile.js index.html LICENSE package.json README.md src tests website
- e12376@aiken:/export/e12376/gsoc/phase2/genivi-dev-platform/gdp-src-build/tmp/work/core2-64-poky-linux/zebra/1.0-r0/git$ ls -ll
- total 56
- drwxr-xr-x 5 e12376 e12 4096 Jun 13 09:38 apidoc
- -rw-r--r-- 1 e12376 e12 9694 Jun 13 09:38 gulpfile.js
- -rw-r--r-- 1 e12376 e12 192 Jun 13 09:38 index.html
- -rw-r--r-- 1 e12376 e12 11556 Jun 13 09:38 LICENSE
- -rw-r--r-- 1 e12376 e12 998 Jun 13 09:38 package.json
- -rw-r--r-- 1 e12376 e12 6139 Jun 13 09:38 README.md
- drwxr-xr-x 6 e12376 e12 4096 Jun 13 09:38 src
- drwxr-xr-x 2 e12376 e12 4096 Jun 13 09:38 tests
- drwxr-xr-x 3 e12376 e12 4096 Jun 13 09:38 website
- e12376@aiken:/export/e12376/gsoc/phase2/genivi-dev-platform/gdp-src-build/tmp/work/core2-64-poky-linux/zebra/1.0-r0/git$
Then I downloaded the qemux86-64 target machine and booted the machine and checked it.
zebra packages have been successfully added in the target machine.
After adding the zebra recipe to GDP and build GDP selecting target as Qemu. I booted the machine and I got zebra packages on location
/usr/lib/node_modules/zebkit/ index.html
This is the recipe file for building zebra
https://github.com/ akilawickey/meta-genivi-dev/ commit/ 80d34ca3c64355ac1a1a5f69ea3a00 2f9968f480.patch
My next task is running a zebra sample application inside qemux86-64 target machine.
Here is the whole Documentation at genivi pages
Comments
Post a Comment
Comment