(no commit message)
[bitbake.git] / doc / TRANSITION
1 OpenEmbedded Transition Guide(s)
2 --
3
4 Moving from the OpenZaurus "buildroot" to the OE infrastructure:
5
6 There are a number of things to note.  One of the first things you'll
7 notice is that the core buildsystem is now completely independent of
8 the package metadata.  You'll also note that we are not using any form
9 of makefile to manage the metadata.  This is a completely different system.
10
11 One thing to note is command syntax.
12
13 In buildroot, to build the entirety, one simply runs 'make'.
14 In OE, assuming OEDIR is set, OEDIR/bin is in the path, the toolchain
15 is in the path, and conf/local.conf has TARGET_ARCH set to your target,
16 you can simply cd to the dir containing the .oe files and run 'oemake'.
17 One can also set OEFILES to a list of the available .oe files, with full path,
18 and run oemake.
19
20 In buildroot, to build a single package, one runs make SUBDIRS=packages/pkgname [task],
21 where task is any number of targets, including clean, binary, package, et cetera.
22 In OE, to build a single package, it is far simpler.  Run oebuild [task] path/to/pkgname.oe,
23 or simply oebuild path/to/pkgname.oe to default to a full build.
24
25 See oebuild --help and oemake --help for further details.
26 The deployment tools and syntax are still being written and decided upon, respectively.
27
28 Next, we'll compare and contrast some metadata differences.
29
30 buildroot               -       OE
31 ----------------------------------
32 Name                    -       PN (automatically set based on .oe filename)
33 Version                 -       PV (automatically set based on .oe filename)
34 Revision                -       PR (defaults to r0, generally set otherwise in the .oe)
35 Sources                 -       SRC_URI (note that the syntax differs here.  Sources was a semicolon
36                                          delimited block of sources, where each source was url <space>
37                                          comma-seperated-options.  SRC_URI is simply a space-seperated
38                                          set of URIs, with the options expressed in normal URI style)
39 SourceTree              -       S
40 $(stamp-binary):        -       do_compile () { ...
41 $(stamp-rootinstall):   -       do_install () { ...
42 $(stamp-staginginstall):-       do_stage () { ...
43 $(stamp-sourcetree):    -       do_unpack () { ...
44                                 do_patch () { ...
45
46
47 One final thing to note is that OE supports a form of inheritence.  This
48 capability allows us to very easily abstract out commonalities and avoid
49 duplication of work.  An excellent example of this is our 'autotools.oeclass',
50 which is to be utilized for autoconf/automake based buildsystems.
51
52 Thanks,
53 Chris Larson - kergoth at handhelds dot org
54 Embedded Linux Developer - clarson at ti dot com