TODO this page needs updating.
The following assumes that you already have a built tree rooted in openxt.git with a completed build. It also assumes the build was done with with INHIBIT_RMWORK
set. INHIBIT_RMWORK
is set by default, and tells the build scripts to not delete the temporary packages build folders, so that we can go there, modify and rebuild source code.
...
Rule | Description |
---|---|
makeclean | Run a proper "make clean" inside the build folder. IMPORTANT: rebuilding without cleaning could not do what you expect, like with Xen recipes. makeclean also does a force_rebuild |
force_rebuild | Brings the state of the package back (usually from "done building") to "needs compiling" |
cleansstate | Cleans the package and removes its state (which means "initial state" to OE) |
...
Let's say trousers build failed because of a typo in the code, here's how to fix it (some of the steps here can usually be skipped, like the rebuild at the beginning):
$ cd build-scriptsopenxt.git/build/oe
$ ./bb -c cleansstate trousers && ./bb trousers # rebuild the package to make sure it's clean
$ less tmp-eglibc/work/core2-oe-linux/trousers-0.3.2-1-r2/temp/log.do_compile # figure out what failed
$ emacsvi tmp-eglibc/work/core2-oe-linux/trousers-0.3.2-1-r2/trousers-0.3.2-1/src/tcs/tcs_caps.c # fix it
$ ./bb -c makeclean trousers # which $does ./bba -c force_rebuild trousers
$ ./bb trousers
$ dpkg -c tmp-eglibc/work/core2-oe-linux/trousers-0.3.2-1-r2/deploy-ipks/core2/trousers_0.3.2-1-r2_core2.ipk # check the contents of the final package
...