How to create a bitbake recipe for dummies
Jump to navigation
Jump to search
Introduction
Currently only limited documentation is available on how to create a bitbake recipe. This article is a stub.
Recipe Template
Every recipe should start like this (pretend the package name is CHANGME:
DESCRIPTION = "" HOMEPAGE = "" LICENSE = "" DEPENDS = "" SRC_URI = " \ " # SRC_URI could also point to a git repository, eg: # SRC_URI = " git://host:port/path/to/repo.git;branch=win;protocol=ssh;user=username" # any .patch files included here will be auto-magically applied, increasing the -p level until it sticks. # SRC_URI = "file://omap_ctrl_readl.patch" PR = "r0" # Package Revision, Update this whenever you change the recipe. # For tarball packages (as opposed to git / svn which include the commit in the URI) SRC_URI[md5sum] = "" SRC_URI[sha256sum] = "" S = "${WORKDIR}/CHANGEME-${PV}" do_configure () { ./configure } do_compile () { oe_runmake } do_install () { oe_runmake install }
- PV refers to the revision. I.E. PV=0.2.1 for nodejs_0.2.1.bb
Examples
wrapped with make
This example shows waf wrapped in make
DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript" HOMEPAGE = "http://nodejs.org" LICENSE = "MIT" DEPENDS = "openssl" SRC_URI = " \ http://nodejs.org/dist/node-v${PV}.tar.gz \ file://libev-cross-cc.patch \ file://node-cross-cc.patch \ " SRC_URI[md5sum] = "c6051dd216817bf0f95bea80c42cf262" SRC_URI[sha256sum] = "5bb7d084b2138ce43fcb34739ed894379c450a1dd569a1c710405bc39d2861c2" S = "${WORKDIR}/node-v${PV}" do_configure () { ./configure --without-snapshot } do_compile () { make } do_install () { #oe_runmake install # doesn't install to correct location
# This works install -d ${D}${bindir}/ install -m 0755 ${S}/build/default/node ${D}${bindir}/ install -m 0755 ${S}/bin/node-waf ${D}${bindir}/ install -m 0755 ${S}/bin/node-repl ${D}${bindir}/ } FILES_${PN} = "${bindir}/node ${bindir}/node-repl ${bindir}/node-waf"
make
TODO
autotools
TODO
scons
TODO