aboutsummaryrefslogtreecommitdiffstats
path: root/usermanual/usermanual.xml
diff options
context:
space:
mode:
authorKoen Kooi <koen@openembedded.org>2006-05-13 20:46:45 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2006-05-13 20:46:45 +0000
commitce3c154de19359c4af379924e131f5bb2104d289 (patch)
tree376c11e161fa23fbda298241243cafed3013c07a /usermanual/usermanual.xml
parentcec08d58d8ad1153172889b087e0381dcbd55b15 (diff)
downloadopenembedded-ce3c154de19359c4af379924e131f5bb2104d289.tar.gz
usermanual/usermanual.xml: remove unneeded whitespace
Diffstat (limited to 'usermanual/usermanual.xml')
-rw-r--r--usermanual/usermanual.xml16
1 files changed, 0 insertions, 16 deletions
diff --git a/usermanual/usermanual.xml b/usermanual/usermanual.xml
index 7da5f7c3d0..cf0704c8a3 100644
--- a/usermanual/usermanual.xml
+++ b/usermanual/usermanual.xml
@@ -82,12 +82,10 @@ This page will guide you trough the effort of writing a .bb file or <emphasis>re
Let's start with the easy stuff, like the package description, license, etc:
<screen>
-
DESCRIPTION = "My first application, a really cool app containing lots of foo and bar"
LICENSE = "GPLv2"
HOMEPAGE = "http://www.host.com/foo/"
MAINTAINER = "Joe N. User &lt;joe@user.net&gt;"
-
</screen>
The maintainer field needs to have a real name and a working email-address to be usefull, the description and license fields are mandatory, so better check them twice.
@@ -95,10 +93,8 @@ The maintainer field needs to have a real name and a working email-address to be
The next step is to specify what the package needs to build and run, the so called <emphasis>dependencies</emphasis>:
<screen>
-
DEPENDS = "gtk+"
RDEPENDS = "cool-ttf-fonts"
-
</screen>
The package needs gtk+ to build ('DEPENDS') and requires the 'cool-ttf-fonts' package to run ('RDEPENDS'). OE will add runtime dependencies on libraries on its own via the so called <emphasis>shlibs</emphasis>-code, but you need to specify everything by yourself, which in this case is the 'cool-ttf-fonts' package.
@@ -106,9 +102,7 @@ The package needs gtk+ to build ('DEPENDS') and requires the 'cool-ttf-fonts' pa
After entering all this OE will know what to build before trying to build your application, but it doesn't know where to get it yet. So let's add the source location:
<screen>
-
SRC_URI = "http://www.host.com/foo/files/${P}.tar.bz2;md5sum=yoursum"
-
</screen>
This will tell the fetcher to where to download the sources from and it will check the integrity using md5sum if you provided the appropriate <emphasis>yoursum</emphasis>. You can make one by doing <screen>md5sum foo-3.2.2.tar.gz</screen> and replacing <emphasis>yoursum</emphasis> with the md5sum on your screen. A typical md5sum will look like this: <screen>a6434b0fc8a54c3dec3d6875bf3be8db </screen>Notice the <emphasis>${P}</emphasis> variable, that one holds the package name, <emphasis>${PN}</emphasis> in bitbake speak and the package version, <emphasis>${PV}</emphasis> in bitbake speak. It's a short way of writing <emphasis>${PN}-${PV}</emphasis>. Using this notation means you can copy the recipe when a new version is released without having to alter the contents. You do need to check if everything is still correct, because new versions mean new bugs.
@@ -117,18 +111,14 @@ This will tell the fetcher to where to download the sources from and it will che
Before we can move to the actual building we need to find out which build system the package is using. If we're lucky, we see a <emphasis>configure</emphasis> file in the build tree this is an indicator that we can <emphasis>inherit autotools</emphasis> if we see a <emphasis>.pro</emphasis> file, it might be qmake, which needs <emphasis>inherit qmake</emphasis>. Virtually all gtk apps use autotools:
<screen>
-
inherit autotools pkgconfig
-
</screen>
We are in luck! The package is a well-behaved application using autotools and pkgconfig to configure and build it self.
Lets start the build:
<screen>
-
bitbake foo
-
</screen>
Depending on what you have built before and the speed of your computer this can take a few seconds to a few hours, so be prepared.
@@ -138,29 +128,23 @@ Depending on what you have built before and the speed of your computer this can
Your screen should now have something like this on it:
<screen>
-
NOTE: package foo-1.9-r0: task do_build: completed
NOTE: package foo-1.9: completed
NOTE: build 200605052219: completed
-
</screen>
All looks well, but wait, let's scroll up:
<screen>
-
NOTE: the following files where installed but not shipped:
/usr/weirdpath/importantfile.foo
-
</screen>
OE has a standard list of paths which need to be included, but it can't know everything, so we have to tell OE to include that file as well:
<screen>
-
FILES_${PN} += "/usr/weirdpath/importantfile.foo"
-
</screen>
It's important to use <emphasis>+=</emphasis> so it will get appended to the standard filelist, not replace the standard one.