1. How to check if the bb file format is correct. contrib/oe-stylize.py pitfall: OE contributors don't follow it themselves. pitfall: If people don't follow it, scm merge will create hidden issues. (Example) pitfall: include, inherit. 2. What to do if we need to move files from one package to another. 1) Divide A into A and B. A and B are basically the same software. => make A RDEPENDS B, increase A's PR. (need opkg -force-overwrite upgrade atm) 2) Replace foo by A and B. foo and A + B are not the same software. => A RDEPENDS B, A RCONFLICTS, RPROVIDES, RREPLACES foo. You won't be able to get foo back after this. * where to look: package*.bbclass. (package_opk.bbclass) 3. How to create new opk files only for compiled projects. Qtopia for example. I don't want to compile again.... => trace package.bbclass, package_opk.bbclass: package package_write_opk package_write 4. How to configure a new distribution. (GTA03) => new machine file. read task-base.bb => read om-gta0[12].conf. grep the variable inside it. => IMAGE commands. 5. the difference between DEPENDS, RDEPENDS_${PN} => how to create bitbake doc: john@buddha:~/oe/bitbake-1.8/doc/manual$ make html => runtime and compile time dependency. 6. when to increment/change PE PV PR PE: incompatible change. e.g. git -> svn. can trigger rebuild. PV: usually match with software version. PR: the reversion of the bb file itself. trigger rebuild. * where to look: conf/bitbake.conf, classes/package*.bbclass 7. $D and ${D} bitbake will extend ${D} but not $D. check bitbake manual. * where to look: bitbake/lib/bb/parse/parse_py/