So I emailed last week about where to start and decided that I'd start
with a look at the Contacts application and build my own version of the
code as a local build. Throw in a few printf's and see what's happening
in there. So that led me to the local builds web page [1]. Unfortunately
after much struggling I was forced to admit defeat because I couldn't
get it working so I turned to the IRC Channel to ask for help. It was
there that mrmoku kindly informed me that there is a bug and that local
builds don't actually work at present.
Given that I decided that I'd use another mechanism for my local build
of libphone-ui-shr, using the instructions [2] for bitbake collections.
To be honest after working on Gumstix products that's the way they
arrange the build system so I sort of learned it from there. In the case
of gumstix they have three collections, openembedded.org which contains
unchanged openembedded recipes, gumstix.com which contains recipes which
have been changed from openembedded's versions to run on the gumstix
Hardware and finally user.collection which is where joe blogs puts
recipes which he/she/it wants to build. I copied this and added a
user.collection directory to the shr/shr-unstable directory.
All I now had to do was edit shr-unstable/conf/site.conf At present the
BBFILES variable tells the build system where to search for recipes.
This is at present:
BBFILES := "${PKGDIR}/recipes/*/*.bb"
So I tell it to look in my user.collection directory:
BBFILES := "${PKGDIR}/recipes/*/*.bb
${TOPDIR}/user.collection/recipes/*/*.bb"
As far as I remember from gumstix days if you don't create that
directory, which by default don't exist, you simply get a warning during
build that it don't exist. If you create that directory bitbake looks in
there for recipes.
Also in site.conf I add a few lines to define the collections and the
priorities as outlined in [2] So I added:
BBFILE_COLLECTIONS = "openembedded local"
BBFILE_PATTERN_openembedded = "^${TOPDIR}/openembedded/"
BBFILE_PATTERN_local = "^${TOPDIR}/user.collection/"
BBFILE_PRIORITY_openembedded = "5"
BBFILE_PRIORITY_local = "10"
So that's it site.conf finished. There's no reason why this mechanism
could not go into both shr-testing and shr-unstable but I removed the
symbolic link for site.conf and made a local copy in shr-unstable/conf.
Now for my recipe for libphone-ui-shr. I basically copy the current
recipe from it's location in openembedded into my user.collection, in
the same directory structure:
cp openembedded/recipes/shr/libphone-ui-shr_git.bb
user.collection/recipes/shr/libphone-ui-shr.bb
I removed the git on the end as I'm going to use a local copy of the
code. I edit my version of the recipe and change the source of the code
from the git repo to my local copy of the code:
SRC_URI =
"file:///home/john/programming/openmoko/shr/shr-unstable/apps/libphone-ui-shr"
There is one more change. In the openembedded recipe there is a line
where PV is setup:
PV = "0.0.0+gitr${SRCPV}"
$SRCPV won't exist as you're using a file for SRC_URI so I changed this
variable to a string. Make it what you like:
PV = "MyCopy"
that's it all done. There are now two recipes for libphone-ui-shr but my
recipe in user.collection is of higher priority so when I execute
"bitbake libphone-ui-shr" my recipe gets used. I can't remember now but
there is a command which returns which recipe will be used to build
something.
Now I hope the above might perhaps be of use to people trying to do
local builds of things. I have no problem with the mechanism which has
been setup and documented in [1] but at present it don't appear to work.
Well it didn't work for me and mrmoku suggested that this is the case.
Anyhow take no offence as they say there are more ways of killing a cat
then skining it but I've never really understood that saying.
I'm now building my local copy of libphone-ui-shr but on this eeePC it
might take a few hours. I'm currently on 1873 of 4015 :-( this is first
build so hopefully after the first time it gets easier.
[1]
http://trac.shr-project.org/trac/wiki/Getting%20started%20developing%20SHR
[2] http://bitbake.berlios.de/manual/ch04s02.html#id870544
_______________________________________________
Shr-devel mailing list
[email protected]
http://lists.shr-project.org/mailman/listinfo/shr-devel