https://www.openembedded.org/api.php?action=feedcontributions&user=Coolaj86&feedformat=atomOpenembedded.org - User contributions [en]2024-03-29T01:47:33ZUser contributionsMediaWiki 1.29.0https://www.openembedded.org/index.php?title=How_to_create_a_bitbake_recipe_for_dummies&diff=2674How to create a bitbake recipe for dummies2010-09-17T14:37:22Z<p>Coolaj86: /* wrapped with make */</p>
<hr />
<div>== Introduction ==<br />
<br />
Currently only limited documentation is available on how to create a bitbake recipe. This article is a stub.<br />
<br />
* [http://www.gumstix.net/Setup-and-Programming/view/Build-system-overview/Hello-world-tutorial/111.html Gumstix Hello world tutorial]<br />
* [http://www.google.com/search?hl=en&q=bitbake+recipe+site:lists.linuxtogo.org/pipermail/openembedded-devel/ OpenEmbedded Mailing List Archives ]<br />
<br />
== Recipe Template ==<br />
<br />
Every recipe should start like this (pretend the package name is CHANGME:<br />
<br />
DESCRIPTION = ""<br />
HOMEPAGE = ""<br />
LICENSE = ""<br />
DEPENDS = ""<br />
SRC_URI = " \<br />
"<br />
# SRC_URI could also point to a git repository, eg:<br />
# SRC_URI = " git://host:port/path/to/repo.git;branch=win;protocol=ssh;user=username"<br />
<br />
# any .patch files included here will be auto-magically applied, increasing the -p level until it sticks.<br />
# SRC_URI = "file://omap_ctrl_readl.patch"<br />
<br />
PR = "r0" # Package Revision, Update this whenever you change the recipe.<br />
<br />
# For tarball packages (as opposed to git / svn which include the commit in the URI)<br />
SRC_URI[md5sum] = ""<br />
SRC_URI[sha256sum] = ""<br />
S = "${WORKDIR}/CHANGEME-${PV}"<br />
do_configure () {<br />
./configure --prefix=${prefix}<br />
}<br />
do_compile () {<br />
make<br />
}<br />
do_install () {<br />
DESTDIR=${D} oe_runmake install<br />
}<br />
<br />
* '''PV''' refers to the revision. I.E. PV=0.2.1 for nodejs_0.2.1.bb<br />
<br />
== Examples ==<br />
<br />
=== wrapped with make ===<br />
<br />
This example shows waf wrapped in make<br />
<br />
DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript"<br />
HOMEPAGE = "http://nodejs.org"<br />
LICENSE = "MIT"<br />
DEPENDS = "openssl"<br />
SRC_URI = " \<br />
http://nodejs.org/dist/node-v${PV}.tar.gz \<br />
file://libev-cross-cc.patch \<br />
file://node-cross-cc.patch \<br />
"<br />
SRC_URI[md5sum] = "c6051dd216817bf0f95bea80c42cf262"<br />
SRC_URI[sha256sum] = "5bb7d084b2138ce43fcb34739ed894379c450a1dd569a1c710405bc39d2861c2"<br />
S = "${WORKDIR}/node-v${PV}"<br />
do_configure () {<br />
./configure --prefix=${prefix} --without-snapshot<br />
}<br />
do_compile () {<br />
make<br />
}<br />
do_install () {<br />
DESTDIR=${D} oe_runmake install<br />
}<br />
<br />
=== make ===<br />
<br />
TODO<br />
<br />
=== autotools ===<br />
<br />
TODO<br />
<br />
=== scons ===<br />
<br />
TODO<br />
<br />
=== waf ===<br />
<br />
[[Category:FAQ]]<br />
[[Category:Dev]]</div>Coolaj86https://www.openembedded.org/index.php?title=How_to_create_a_bitbake_recipe_for_dummies&diff=2673How to create a bitbake recipe for dummies2010-09-17T14:36:04Z<p>Coolaj86: /* Recipe Template */</p>
<hr />
<div>== Introduction ==<br />
<br />
Currently only limited documentation is available on how to create a bitbake recipe. This article is a stub.<br />
<br />
* [http://www.gumstix.net/Setup-and-Programming/view/Build-system-overview/Hello-world-tutorial/111.html Gumstix Hello world tutorial]<br />
* [http://www.google.com/search?hl=en&q=bitbake+recipe+site:lists.linuxtogo.org/pipermail/openembedded-devel/ OpenEmbedded Mailing List Archives ]<br />
<br />
== Recipe Template ==<br />
<br />
Every recipe should start like this (pretend the package name is CHANGME:<br />
<br />
DESCRIPTION = ""<br />
HOMEPAGE = ""<br />
LICENSE = ""<br />
DEPENDS = ""<br />
SRC_URI = " \<br />
"<br />
# SRC_URI could also point to a git repository, eg:<br />
# SRC_URI = " git://host:port/path/to/repo.git;branch=win;protocol=ssh;user=username"<br />
<br />
# any .patch files included here will be auto-magically applied, increasing the -p level until it sticks.<br />
# SRC_URI = "file://omap_ctrl_readl.patch"<br />
<br />
PR = "r0" # Package Revision, Update this whenever you change the recipe.<br />
<br />
# For tarball packages (as opposed to git / svn which include the commit in the URI)<br />
SRC_URI[md5sum] = ""<br />
SRC_URI[sha256sum] = ""<br />
S = "${WORKDIR}/CHANGEME-${PV}"<br />
do_configure () {<br />
./configure --prefix=${prefix}<br />
}<br />
do_compile () {<br />
make<br />
}<br />
do_install () {<br />
DESTDIR=${D} oe_runmake install<br />
}<br />
<br />
* '''PV''' refers to the revision. I.E. PV=0.2.1 for nodejs_0.2.1.bb<br />
<br />
== Examples ==<br />
<br />
=== wrapped with make ===<br />
<br />
This example shows waf wrapped in make<br />
<br />
DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript"<br />
HOMEPAGE = "http://nodejs.org"<br />
LICENSE = "MIT"<br />
DEPENDS = "openssl"<br />
SRC_URI = " \<br />
http://nodejs.org/dist/node-v${PV}.tar.gz \<br />
file://libev-cross-cc.patch \<br />
file://node-cross-cc.patch \<br />
"<br />
SRC_URI[md5sum] = "c6051dd216817bf0f95bea80c42cf262"<br />
SRC_URI[sha256sum] = "5bb7d084b2138ce43fcb34739ed894379c450a1dd569a1c710405bc39d2861c2"<br />
S = "${WORKDIR}/node-v${PV}"<br />
do_configure () {<br />
./configure --without-snapshot<br />
}<br />
do_compile () {<br />
make<br />
}<br />
do_install () {<br />
#oe_runmake install # doesn't install to correct location<br />
<br />
# This works<br />
install -d ${D}${bindir}/<br />
install -m 0755 ${S}/build/default/node ${D}${bindir}/<br />
install -m 0755 ${S}/bin/node-waf ${D}${bindir}/<br />
install -m 0755 ${S}/bin/node-repl ${D}${bindir}/<br />
}<br />
FILES_${PN} = "${bindir}/node ${bindir}/node-repl ${bindir}/node-waf"<br />
<br />
=== make ===<br />
<br />
TODO<br />
<br />
=== autotools ===<br />
<br />
TODO<br />
<br />
=== scons ===<br />
<br />
TODO<br />
<br />
=== waf ===<br />
<br />
[[Category:FAQ]]<br />
[[Category:Dev]]</div>Coolaj86https://www.openembedded.org/index.php?title=How_to_create_a_bitbake_recipe_for_dummies&diff=2641How to create a bitbake recipe for dummies2010-09-15T17:39:01Z<p>Coolaj86: New page: == Introduction == Currently only limited documentation is available on how to create a bitbake recipe. This article is a stub. * [http://www.gumstix.net/Setup-and-Programming/view/Build...</p>
<hr />
<div>== Introduction ==<br />
<br />
Currently only limited documentation is available on how to create a bitbake recipe. This article is a stub.<br />
<br />
* [http://www.gumstix.net/Setup-and-Programming/view/Build-system-overview/Hello-world-tutorial/111.html Gumstix Hello world tutorial]<br />
* [http://www.google.com/search?hl=en&q=bitbake+recipe+site:lists.linuxtogo.org/pipermail/openembedded-devel/ OpenEmbedded Mailing List Archives ]<br />
<br />
== Recipe Template ==<br />
<br />
Every recipe should start like this (pretend the package name is CHANGME:<br />
<br />
DESCRIPTION = ""<br />
HOMEPAGE = ""<br />
LICENSE = ""<br />
DEPENDS = ""<br />
SRC_URI = " \<br />
"<br />
# For tarball packages (as opposed to git / svn which include the commit in the URI)<br />
SRC_URI[md5sum] = ""<br />
SRC_URI[sha256sum] = ""<br />
S = "${WORKDIR}/CHANGEME-${PV}"<br />
do_configure () {<br />
./configure<br />
}<br />
do_compile () {<br />
oe_runmake<br />
}<br />
do_install () {<br />
oe_runmake install<br />
}<br />
<br />
* '''PV''' refers to the revision. I.E. PV=0.2.1 for nodejs_0.2.1.bb<br />
<br />
== Examples ==<br />
<br />
=== wrapped with make ===<br />
<br />
This example shows waf wrapped in make<br />
<br />
DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript"<br />
HOMEPAGE = "http://nodejs.org"<br />
LICENSE = "MIT"<br />
DEPENDS = "openssl"<br />
SRC_URI = " \<br />
http://nodejs.org/dist/node-v${PV}.tar.gz \<br />
file://libev-cross-cc.patch \<br />
file://node-cross-cc.patch \<br />
"<br />
SRC_URI[md5sum] = "c6051dd216817bf0f95bea80c42cf262"<br />
SRC_URI[sha256sum] = "5bb7d084b2138ce43fcb34739ed894379c450a1dd569a1c710405bc39d2861c2"<br />
S = "${WORKDIR}/node-v${PV}"<br />
do_configure () {<br />
./configure --without-snapshot<br />
}<br />
do_compile () {<br />
make<br />
}<br />
do_install () {<br />
#oe_runmake install # doesn't install to correct location<br />
<br />
# This works<br />
install -d ${D}${bindir}/<br />
install -m 0755 ${S}/build/default/node ${D}${bindir}/<br />
install -m 0755 ${S}/bin/node-waf ${D}${bindir}/<br />
install -m 0755 ${S}/bin/node-repl ${D}${bindir}/<br />
}<br />
FILES_${PN} = "${bindir}/node ${bindir}/node-repl ${bindir}/node-waf"<br />
<br />
=== make ===<br />
<br />
TODO<br />
<br />
=== autotools ===<br />
<br />
TODO<br />
<br />
=== scons ===<br />
<br />
TODO<br />
<br />
=== waf ===</div>Coolaj86https://www.openembedded.org/index.php?title=How_to_submit_a_patch_to_OpenEmbedded&diff=2635How to submit a patch to OpenEmbedded2010-09-15T16:55:32Z<p>Coolaj86: /* Create and Commit your patch */</p>
<hr />
<div>== A task-oriented guide to creating a patch ==<br />
<br />
'''Note''': More details are available on the policy pages, but this document is good enough for most beginners.<br />
<br />
* [[Patchwork]]<br />
* [[Commit Policy]]<br />
<br />
Let's say you [[How to create a bitbake recipe for dummies|create a new bitbake recipe for OpenEmbedded]] and you'd like to submit it for inclusion (and you've already tested that it works, of course).<br />
<br />
=== Set up git ===<br />
<br />
Properly configuring git (using tekkub@gmail.com as an example user)<br />
<br />
On Debain / Ubuntu (Note: Fedora and OpenSuse use `yum`)<br />
<br />
sudo aptitude install git-core git-email<br />
<br />
These are important to the commit meta-data<br />
<br />
git config --global user.name "Tekkub"<br />
git config --global user.email "tekkub@gmail.com"<br />
<br />
Any Google Apps account<br />
<br />
git config --global sendemail.smtpserver smtp.gmail.com<br />
git config --global sendemail.smtpserverport 587<br />
git config --global sendemail.smtpencryption tls<br />
git config --global sendemail.smtpuser tekkupl@gmail.com<br />
<br />
=== Create and Commit your patch ===<br />
<br />
1. Commit with a concise and descriptive message - one that explains your changes in a way others get a short overview without<br />
looking at the code.<br />
<br />
cd org.openembedded.dev/ # or whereever you keep your clone of the repo<br />
git add recipes/nodejs/<br />
git commit # don't use the -m option<br />
<br />
nodejs: added recipe for v0.2.1<br />
<br />
* included libev-cross patch which prevents wscript from executing cross-compiled code<br />
* included node-cross patch which forwards DEST_CPU to v8's ARCH<br />
<br />
2. Create your patch. '''Use -N for N commits''' to be included in the patch. '''Use -s to add a signoff line''' like "Signed-off-by: Tekku B. <tekkub@gmail.com>"<br />
<br />
git format-patch -1 -s # creating a patch for my only commit and including my signature<br />
<br />
If you are submitting a second version also add "--subject-prefix [v2]"<br />
<br />
3. Send your patch to patchwork<br />
<br />
git send-email --to=openembedded-devel@lists.openembedded.org 001-nodejs-added-recipe-for-v0.2.1<br />
<br />
Your patch will be immediately visible on http://patchwork.openembedded.org/patch/<br />
<br />
4. Once your patch has been accepted or rejected, create an account and update the status to "accepted" or "rejected"<br />
<br />
4++. If you get '''soft-rejected (a lot of feedback)''', you should make changes according to the feedback, submit the next version, and update the status of the previous patch to "superseded". Remember to use `--subject-prefix` to mark the patch iteration.<br />
<br />
== Appendix ==<br />
<br />
=== steps for people which don't have snmp access for git === <br />
<br />
Patches should not be set as attachment but inline.<br />
<br />
If you do not have snmp access to your email account you have two options:<br />
<br />
1. use a different account (e.g. gmail). you can make one especially<br />
for this. Note that the account may differ from the one in signed-off<br />
(although that is inconvenient)<br />
<br />
2. just include the patch in the body of your email. Make sure you use<br />
an email client that does not touch the message (turn spaces in tabs,<br />
wrap lines etc etc).<br />
<br />
A good mail client to do so is '''pine''' (or '''alpine''')</div>Coolaj86https://www.openembedded.org/index.php?title=How_to_submit_a_patch_to_OpenEmbedded&diff=2634How to submit a patch to OpenEmbedded2010-09-15T16:54:18Z<p>Coolaj86: format update... wiki isn't markdown...</p>
<hr />
<div>== A task-oriented guide to creating a patch ==<br />
<br />
'''Note''': More details are available on the policy pages, but this document is good enough for most beginners.<br />
<br />
* [[Patchwork]]<br />
* [[Commit Policy]]<br />
<br />
Let's say you [[How to create a bitbake recipe for dummies|create a new bitbake recipe for OpenEmbedded]] and you'd like to submit it for inclusion (and you've already tested that it works, of course).<br />
<br />
=== Set up git ===<br />
<br />
Properly configuring git (using tekkub@gmail.com as an example user)<br />
<br />
On Debain / Ubuntu (Note: Fedora and OpenSuse use `yum`)<br />
<br />
sudo aptitude install git-core git-email<br />
<br />
These are important to the commit meta-data<br />
<br />
git config --global user.name "Tekkub"<br />
git config --global user.email "tekkub@gmail.com"<br />
<br />
Any Google Apps account<br />
<br />
git config --global sendemail.smtpserver smtp.gmail.com<br />
git config --global sendemail.smtpserverport 587<br />
git config --global sendemail.smtpencryption tls<br />
git config --global sendemail.smtpuser tekkupl@gmail.com<br />
<br />
=== Create and Commit your patch ===<br />
<br />
1. Commit with a concise and descriptive message - one that explains your changes in a way others get a short overview without<br />
looking at the code.<br />
<br />
git add recipes/nodejs/<br />
git commit # don't use the -m option<br />
<br />
nodejs: added recipe for v0.2.1<br />
<br />
* included libev-cross patch which prevents wscript from executing cross-compiled code<br />
* included node-cross patch which forwards DEST_CPU to v8's ARCH<br />
<br />
2. Create your patch. '''Use -N for N commits''' to be included in the patch. '''Use -s to add a signoff line''' like "Signed-off-by: Tekku B. <tekkub@gmail.com>"<br />
<br />
git format-patch -1 -s # creating a patch for my only commit and including my signature<br />
<br />
If you are submitting a second version also add "--subject-prefix [v2]"<br />
<br />
3. Send your patch to patchwork<br />
<br />
git send-email --to=openembedded-devel@lists.openembedded.org 001-nodejs-added-recipe-for-v0.2.1<br />
<br />
Your patch will be immediately visible on http://patchwork.openembedded.org/patch/<br />
<br />
4. Once your patch has been accepted or rejected, create an account and update the status to "accepted" or "rejected"<br />
<br />
4++. If you get '''soft-rejected (a lot of feedback)''', you should make changes according to the feedback, submit the next version, and update the status of the previous patch to "superseded". Remember to use `--subject-prefix` to mark the patch iteration.<br />
<br />
== Appendix ==<br />
<br />
=== steps for people which don't have snmp access for git === <br />
<br />
Patches should not be set as attachment but inline.<br />
<br />
If you do not have snmp access to your email account you have two options:<br />
<br />
1. use a different account (e.g. gmail). you can make one especially<br />
for this. Note that the account may differ from the one in signed-off<br />
(although that is inconvenient)<br />
<br />
2. just include the patch in the body of your email. Make sure you use<br />
an email client that does not touch the message (turn spaces in tabs,<br />
wrap lines etc etc).<br />
<br />
A good mail client to do so is '''pine''' (or '''alpine''')</div>Coolaj86https://www.openembedded.org/index.php?title=How_to_submit_a_patch_to_OpenEmbedded&diff=2633How to submit a patch to OpenEmbedded2010-09-15T16:49:57Z<p>Coolaj86: New page: == A task-oriented guide to creating a patch == '''Note''': More details are available on the policy pages, but this document is good enough for most beginners. * Patchwork * [[Com...</p>
<hr />
<div>== A task-oriented guide to creating a patch ==<br />
<br />
'''Note''': More details are available on the policy pages, but this document is good enough for most beginners.<br />
<br />
* [[Patchwork]]<br />
* [[Commit Policy]]<br />
<br />
Let's say you [[How to create a bitbake recipe for dummies|create a new bitbake recipe for OpenEmbedded]] and you'd like to submit it for inclusion (and you've already tested that it works, of course).<br />
<br />
=== Set up git ===<br />
<br />
Properly configuring git (using tekkub@gmail.com as an example user)<br />
<br />
# On Debain / Ubuntu (Note: Fedora and OpenSuse use `yum`)<br />
sudo aptitude install git-core git-email<br />
<br />
# These are important to the commit meta-data<br />
git config --global user.name "Tekkub"<br />
git config --global user.email "tekkub@gmail.com"<br />
<br />
# any Google Apps account<br />
git config --global sendemail.smtpserver smtp.gmail.com<br />
git config --global sendemail.smtpserverport 587<br />
git config --global sendemail.smtpencryption tls<br />
git config --global sendemail.smtpuser tekkupl@gmail.com<br />
<br />
=== Create and Commit your patch ===<br />
<br />
1. Commit with a concise and descriptive message - one that explains your changes in a way others get a short overview without<br />
looking at the code.<br />
<br />
git add recipes/nodejs/<br />
git commit # don't use the -m option<br />
<br />
nodejs: added recipe for v0.2.1<br />
<br />
* included libev-cross patch which prevents wscript from executing cross-compiled code<br />
* included node-cross patch which forwards DEST_CPU to v8's ARCH<br />
<br />
2. Create your patch. '''Use -N for N commits''' to be included in the patch. '''Use -s to add a signoff line''' like "Signed-off-by: Tekku B. <tekkub@gmail.com>"<br />
<br />
git format-patch -1 -s # creating a patch for my only commit and including my signature<br />
<br />
If you are submitting a second version also add "--subject-prefix [v2]"<br />
<br />
3. Send your patch to patchwork<br />
<br />
git send-email --to=openembedded-devel@lists.openembedded.org 001-nodejs-added-recipe-for-v0.2.1<br />
<br />
Your patch will be immediately visible on http://patchwork.openembedded.org/patch/<br />
<br />
4. Once your patch has been accepted or rejected, create an account and update the status to "accepted" or "rejected"<br />
<br />
4++. If you get '''soft-rejected (a lot of feedback)''', you should make changes according to the feedback, submit the next version, and update the status of the previous patch to "superseded". Remember to use `--subject-prefix` to mark the patch iteration.<br />
<br />
== Appendix ==<br />
<br />
=== steps for people which don't have snmp access for git === <br />
<br />
Patches should not be set as attachment but inline.<br />
<br />
If you do not have snmp access to your email account you have two options:<br />
<br />
1. use a different account (e.g. gmail). you can make one especially<br />
for this. Note that the account may differ from the one in signed-off<br />
(although that is inconvenient)<br />
<br />
2. just include the patch in the body of your email. Make sure you use<br />
an email client that does not touch the message (turn spaces in tabs,<br />
wrap lines etc etc).<br />
<br />
A good mail client to do so is '''pine''' (or '''alpine''')</div>Coolaj86https://www.openembedded.org/index.php?title=User:Coolaj86&diff=2632User:Coolaj862010-09-15T16:11:32Z<p>Coolaj86: New page: AJ ONeal coolaj86 at google's mail http://coolaj86.github.com</p>
<hr />
<div>AJ ONeal<br />
<br />
coolaj86 at google's mail<br />
<br />
http://coolaj86.github.com</div>Coolaj86