adding pjsip to my openmoko overlay
Posted on February 15, 2008
Filed Under openmoko |
continuing my quest for a programmable sip client on openmoko, i’ve been working on adding pjsip to my openembedded overlay.
adding a new package to openembedded is quite daunting at first but there are some great resources out there:
- http://linuxtogo.org/~mickeyl/tools/FOSDEM2005.pdf - overview of openembedded & bitbake
- http://www.openembedded.org/wiki/Bbfile - overview of bitbake files
- http://bitbake.berlios.de/manual/ - the bitbake user manual
- http://www.uv-ac.de/openembedded/openembedded-3.html - great overview of practical bitbake usage
i’ve also found that browsing through the files in openembedded/classes and openembedded/conf is quite useful to learn which tasks are implemented and what they do.
using bitbake in interpreter mode (bitbake -i) can save some time in the edit/test cycle when developing bitbake recipes because the recipe files are parsed once.
i copied the openembedded/packages/ffmpeg/ffmpeg_svn.bb recipe to use as a starting point. the first challenge was fetching the pjproject subversion repository. the ffmpeg recipe uses this:
SRC_URI = "svn://svn.mplayerhq.hu/ffmpeg/;module=trunk"
the svn repository for pjsip is http://svn.pjsip.org/repos/pjproject/trunk but this doesn’t work:
SRC_URI = "http://svn.pjsip.org/repos/pjproject;module=trunk"
because bitbake uses the svn:// or http:// to determine whether to fetch the code with the subversion client or with wget. so to fetch the pjproject repository this is necessary:
SRC_URI = "svn://svn.pjsip.org/repos/pjproject;module=trunk;proto=http"
another gotcha is that unless you define SRCREV it defaults to 1 so the do_fetch task will always retrieve the subversion repository at revision 1 unless you either set SRCREV to a specific revision to check out or you define:
SRCREV_pn-<your project name> = "${AUTOREV}"
so for my new recipe i’ve added:
SRCREV_pn-pjproject = "${AUTOREV}"
my recipe thus far will check out the repository and incorrectly build & install it into the staging area. i’ll work on improving those areas next.
you can find my local overlay in my subversion repository here:
http://svn.eugeneoden.com/openmoko-overlay/trunk/
Comments
Leave a Reply




