Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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.

...

RuleDescription
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

...