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:

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